IP Library Granted Patent US 11,973,775
Granted Patent B1
US 11,973,775 · App. 17/237,005 · Granted Apr 30, 2024

Monitoring client networks for security threats using recognized machine operations and machine activities

Inventor: Luis Ramos dos Santos Lopes (Galway, IE)
Assignee: Rapid7, Inc.
H04L63/1425G06F9/451G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,973,775
App. No.
17/237,005
Granted
Apr 30, 2024
Kind
B1
Abstract

Systems and methods are disclosed to implement a network data interpretation pipeline to recognize machine operations (MOs) and machine activities (MAs) from network traffic data observed in a monitored network. In embodiments, a MO recognition engine is implemented in the network to recognize MOs from network sensor events (NSEs) based on defined recognition patterns. The MOs and any unrecognized NSEs are uploaded to a network monitoring system, where they are further analyzed by a MA recognition engine to recognize higher-level machine activities performed by machines. The NSEs, MOs, and MAs are used by the network monitoring system to implement a variety of security threat detection processes. Advantageously, the pipeline may be used to add rich contextual information about the raw network data to facilitate security threat detection processes.

Claims (84)

1. A system comprising:

one or more computer devices that implement network monitoring system, wherein the network monitoring system includes:

a machine operation (MO) receiving interface configured to:

receive a plurality of MOs from a client network, wherein each of the MOs represents an operation that was recognized on a machine based on network sensor events (NSEs) observed for the machine;

a machine activity recognition engine (MARE) configured to:

recognize a sequence of the MOs as a machine activity (MA) on the machine, wherein the MA corresponds to a MA type that is one of a plurality of MA types recognized by the MARE based on different MA recognition patterns; and

determine a set of the MOs that is not recognized as part of any of the MA types; and

a network state analyzer (NSA) configured to:

detect anomaly conditions in the client network based on a set of MAs on the machine recognized by the MARE and the set of unrecognized MOs on the machine, including to:

generate a sensor network state (SNS) that includes a summary of MAs observed by a particular network sensor during a time window;

determine that the SNS is a first anomaly for the particular network sensor based on a sensor profile of the particular network sensor;

generate a global network state (GNS) that includes a summary of MAs recognized on machines observed by all network sensors connected to the network monitoring system during the time window:

determine that a second SNS observed by a second network sensor is a second anomaly based on the GNS;

maintain a global network model (GNM) that models a historical trend of metrics of a plurality of GNSs generated over time; and

determine that a third SNS observed by a third network sensor is a third anomaly based on the GNM; and

generate one or more alerts indicating the anomaly conditions.

2. The system of claim 1 , wherein the MARE is configured to:

recognize a first MA that represents browsing of a web site, wherein the first MA includes a descriptive name that identifies the website; and

recognize a second MA that represents accessing files in a file folder or on a file server, wherein the second MA includes a descriptive name that identifies the file folder or file server.

3. The system of claim 1 , wherein the network monitoring system is configured to:

receive a set of unrecognized NSEs from the client network that were not recognized as part of any MO on the machine; and

recognize an additional MO on the machine from the set of unrecognized NSEs based on a match of the set of unrecognized NSEs to one or more machine events on the machine captured in a machine event log.

4. The system of claim 1 , wherein the network monitoring system includes a machine operation enrichment engine (MOEE), configured to:

analyze a machine event log of the machine to determine additional attributes of the MOs, including a user that initiated a particular MO; and

populate the particular MO with an identifier of the user before providing the particular MO to the MARE.

5. The system of claim 4 , wherein the additional attributes of the particular MO include one or more of:

a normalization or transformation of an existing attribute of the particular MO;

an indication of whether the particular MO is sufficiently similar to one or more other MOs;

an indication of one or more other MOs related to the particular MO; and

an indication of one or more previous MAs that are associated with a same user or a same machine as the particular MO.

6. The system of claim 1 , wherein the MARE is configured to populate attributes of the MA, including a descriptive name of the MA, a start time of the MA, an end time of the MA, a source address of the MA, a destination address of the MA, an amount of data sent by the source address, an amount of data received from the destination address, and a description of the MOs that were recognized as the MA.

7. The system of claim 1 , wherein:

the MOs are received by the network monitoring system over a public network; and

the network monitoring system is configured to monitor MOs from a plurality of client networks to detect security threats in the client networks.

8. The system of claim 1 , wherein the MA recognition patterns are encoded by a machine learning model trained to recognize different MA types.

9. The system of claim 1 , wherein the network monitoring system is configured to:

aggregate a set of MAs, MOs, and NSEs on a particular machine or by a particular user into an entity session (ES) for the particular machine or the particular user, wherein the set of MAs, MOs, and NSEs occurred within a fixed period of time.

10. The system of claim 9 , wherein the network monitoring system is configured to:

generate a graphical user interface (GUI) that displays the ES, wherein the GUI displays descriptive names for individual MAs, MOs, and NSEs in the ES and identifies one or more unrecognized MOs or one or more unrecognized NSEs in the ES as one or more anomalies.

11. A method comprising:

performing, by one or more computer devices that implement a network monitoring system:

receiving, at a machine operation (MO) receiving interface, a plurality of MOs from a client network, wherein each of the MOs represents an operation that was recognized on a machine based on network sensor events (NSEs) observed for the machine;

recognizing, by a machine activity recognition engine (MARE), a sequence of the MOs as a machine activity (MA) on the machine, wherein the MA corresponds to a MA type that is one of a plurality of MA types recognized by the MARE based on different MA recognition patterns;

determining a set of the MOs that is not recognized as part of any of the MA types;

detecting, by a network state analyzer (NSA), anomaly conditions in the client network based on a set of MAs on the machine recognized by the MARE and the set of unrecognized MOs on the machine, wherein the detection of the anomaly conditions comprises:

generating a sensor network state (SNS) that includes a summary of MAs observed by a particular network sensor during a time window;

determining that the SNS is a first anomaly for the particular network sensor based on a sensor profile of the particular network sensor;

generating a global network state (GNS) that includes a summary of MAs recognized on machines observed by all network sensors connected to the network monitoring system during the time window;

determining that a second SNS observed by a second network sensor is a second anomaly based on the GNS;

maintaining a global network model (GNM) that models a historical trend of metrics of a plurality of GNSs generated over time; and

determining that a third SNS observed by a third network sensor is a third anomaly based on the GNM; and

generating one or more alerts indicating the anomaly conditions.

12. The method of claim 11 , further comprising performing, by the network monitoring system:

receiving a set of unrecognized NSEs from the client network that were not recognized as part of any MO on the machine; and

recognizing a new MO from the set of unrecognized NSEs based on a match of the set of unrecognized NSEs to one or more machine events on the machine captured in a machine event log.

13. The method of claim 11 , further comprising performing, by the network monitoring system:

analyzing a machine event log of the machine to determine additional attributes of the MO, including a user that initiated the MO; and

populating the MO with the determined attributes before providing the MO to the MARE.

14. The method of claim 11 , wherein detecting the anomaly conditions comprises:

determining that a first MA associated with an entity is an anomalous activity for the entity based on an entity profile of the entity.

15. The method of claim 11 , wherein detecting the anomaly conditions comprises:

performing a user entity and behavior analysis (UEBA) of the set of MAs.

16. The method of claim 11 , wherein the one or more alerts indicate one or more potential cybersecurity threats identified based on the anomaly conditions.

17. The method of claim 11 , wherein the one or more alerts identifies a user, a machine, and a time associated with the one or more of the anomaly conditions.

18. The method of claim 11 , further comprising performing, by the network monitoring system:

maintaining a library of MO types and respective MO recognition patterns; and

after a new MO type is added to the library, sending the new MO type to the client network to update a MO recognition engine deployed in the client network.

19. The method of claim 11 , further comprising performing, by the network monitoring system:

maintaining a machine learning model for classifying sequences of NSEs as different MO types;

receiving from the client network a particular sequence of NSEs that was misclassified;

adding the particular sequence of NSEs to a training dataset, wherein the training dataset is used to train the machine learning model; and

sending the trained machine learning model to the client network to update a MO recognition engine deployed in the client network.

20. A non-transitory computer-accessible storage medium storing program instructions that when executed on or across one or more processors implement a network monitoring system and cause the network monitoring system to:

receive a plurality of MOs from a client network, wherein each of the MOs represents an operation that was recognized on a machine based on network sensor events (NSEs) observed for the machine;

recognize, at a machine activity recognition engine (MARE), a sequence of the MOs as a machine activity (MA) on the machine, wherein the MA corresponds to a MA type that is one of a plurality of MA types recognized by the MARE based on different MA recognition patterns;

determine a set of the MOs that is not recognized as part of any of the MA types;

detect anomaly conditions in the client network based on a set of MAs on the machine recognized by the MARE and the set of unrecognized MOs on the machine, including to:

generate a sensor network state (SNS) that includes a summary of MAs observed by a particular network sensor during a time window;

determine that the SNS is a first anomaly for the particular network sensor based on a sensor profile of the particular network sensor;

generate a global network state (GNS) that includes a summary of MAs recognized on machines observed by all network sensors connected to the network monitoring system during the time window:

determine that a second SNS observed by a second network sensor is a second anomaly based on the GNS;

maintain a global network model (GNM) that models a historical trend of metrics of a plurality of GNSs generated over time; and

determine that a third SNS observed by a third network sensor is a third anomaly based on the GNM; and

generate one or more alerts indicating the anomaly condition.

Assignments (2)
SECURITY INTEREST Recorded Jun 26, 2025
From: RAPID7, INC.; RAPID7 LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 071743/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2021
From: DOS SANTOS LOPES, LUIS RAMOS
To: RAPID7, INC.
Reel/Frame 056016/0465 →
Cited By (2)
US 12,289,332 US 12,695,675