Systems and methods for rule-based anomaly detection on IP network flow
First Claim
1. A system comprising:
- a processor; and
memory comprising instructions that, when executed by the processor, cause the processor to perform operations comprising;
receiving a flow record of a data flow,receiving a packet alert generated for a data packet, the packet alert generated based on a packet-level rule,determining a time when the packet alert associated with the data packet was generated,determining that the time when the packet alert associated with the data packet was generated occurred between a start time and an end time of the data flow,in response to determining that the time when the packet alert associated with the data packet was generated occurred between the start time and the end time of the data flow, associating the packet alert with the data flow,attributing, to the packet-level rule, a score in a form of a weighted sum Σ
kwkpk(x) over flow level predicates pk(x), andin response to the score exceeding a threshold, constructing a flow-level rule that, when applied to the data flow, generates an alarm associated with the data flow.
1 Assignment
0 Petitions
Accused Products
Abstract
A system to detect anomalies in internet protocol (IP) flows uses a set of machine-learning (ML) rules that can be applied in real time at the IP flow level. A communication network has a large number of routers that can be equipped with flow monitoring capability. A flow collector collects flow data from the routers throughout the communication network and provides them to a flow classifier. At the same time, a limited number of locations in the network monitor data packets and generate alerts based on packet data properties. The packet alerts and the flow data are provided to a machine learning system that detects correlations between the packet-based alerts and the flow data to thereby generate a series of flow-level alerts. These rules are provided to the flow time classifier. Over time, the new packet alerts and flow data are used to provide updated rules generated by the machine learning system.
-
Citations
6 Claims
-
1. A system comprising:
-
a processor; and memory comprising instructions that, when executed by the processor, cause the processor to perform operations comprising; receiving a flow record of a data flow, receiving a packet alert generated for a data packet, the packet alert generated based on a packet-level rule, determining a time when the packet alert associated with the data packet was generated, determining that the time when the packet alert associated with the data packet was generated occurred between a start time and an end time of the data flow, in response to determining that the time when the packet alert associated with the data packet was generated occurred between the start time and the end time of the data flow, associating the packet alert with the data flow, attributing, to the packet-level rule, a score in a form of a weighted sum Σ
kwkpk(x) over flow level predicates pk(x), andin response to the score exceeding a threshold, constructing a flow-level rule that, when applied to the data flow, generates an alarm associated with the data flow. - View Dependent Claims (2, 3)
-
-
4. A method comprising:
-
receiving, by a system comprising a processor, a flow record of a data flow; receiving, a packet alert generated for a data packet, the packet alert generated based on a packet-level rule, determining, by the system, a time when the packet alert associated with the data packet was generated; determining, by the system, that the time when the packet alert associated with the data packet was generated occurred between a start time and an end time of the data flow; in response to determining that the time when the packet alert associated with the data packet was generated occurred between the start time and the end time of the data flow, associating, by the system, the packet alert with the data flow; attributing, to the packet-level rule by the system, a score in a form of a weighted sum Σ
kwkpk(x) over flow level predicates pk(x); andin response to the score exceeding a threshold, constructing, by the system, a flow-level rule that, when applied to the data flow, generates an alarm associated with the data flow. - View Dependent Claims (5, 6)
-
Specification