IP Library Granted Patent US 11,770,387
Granted Patent B1
US 11,770,387 · App. 16/931,923 · Granted Sep 26, 2023

Graph-based detection of lateral movement in computer networks

Inventors: Vasudha Shivamoggi (Cambridge, MA); Roy Donald Hodgman (Cambridge, MA); Katherine Wilbur (Brookline, MA)
Assignee: Rapid7, Inc.
H04L63/1416G06F21/552H04L63/1425H04L63/1441
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,770,387
App. No.
16/931,923
Granted
Sep 26, 2023
Kind
B1
Abstract

Systems and methods are disclosed to implement a cyberattack detection system that monitors a computer network for lateral movement. In embodiments, the system uses network data from a computer network to build a baseline of connection behaviors for the network. Connection graphs are generated from new network data that indicate groups of nodes that made connections with one another during a last time interval. The graphs are analyzed for connection behavior anomalies and ranked to determine a subset of graphs with suspected lateral movement. Graphs with suspected lateral movement may be further analyzed to determine a set of possible attack paths in the lateral movements. The suspected attack paths are reported to network administrators via a notification interface. Advantageously, the disclosed system is able to detect potential lateral movements in localized portions of a network by monitoring for connection behavior anomalies in network data gathered from the network.

Claims (87)

1 . A system, comprising: one or more hardware processors with associated memory that implement a cyberattack detection system, configured to:

collect network data from a computer network, wherein the network data indicates connections made or attempted among nodes of the computer network during a time interval and respective times that the connections were made or attempted;

generate a plurality of connection graphs from the network data, wherein each of the connection graphs indicates a subset of the nodes of the computer network that made or attempted connections with one another during the time interval and one or more anomalies in connection behavior of the subset of nodes during the time interval;

compute a graph metric for each of the connection graphs based on a highest degree of nodes in individual ones of the connection graphs and determine, based on the graph metric, a set of highest-ranking connection graphs to evaluate for a suspected lateral movement of a cyberattack during the time interval;

for each connection graph in the set of highest-ranking connection graphs:

determine a connection path from the connection graph, wherein the connection path indicates a series of nodes linked by a sequence of time-ordered connections and one or more anomalies in connection behavior of the series of nodes during the time interval; and

compute a path metric of the connection path and determine, based on the path metric, that the connection path is a suspected attack path of the suspected lateral movement; and

provide an output that indicates the suspected attack paths during the time interval.

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

determine the set of highest-ranking connection graphs based on a specified number of connection graphs for the set.

3 . The system of claim 1 , wherein the cyberattack detection system is configured to:

generate a plurality of connection paths of time-ordered connections from the connection graph, including the connection path;

compute respective path metrics of the connection paths;

rank the connection paths according to their respective path metrics; and

wherein the determination that the connection path is a suspected attack path is made based on a rank of the connection path among the plurality of connection paths.

4 . The system of claim 1 , wherein the cyberattack detection system is configured to:

determine, from the network data, the one or more connection behavior anomalies indicated in the connection graph, including one or more of:

a node making a connection using a new protocol during the time interval,

a node making a connection to a new destination node during the time interval, and

a node making more connection during the time interval compared to one or more previous time intervals; and

wherein the graph metric is computed based on the one or more connection behavior anomalies.

5 . The system of claim 1 , wherein the cyberattack detection system is configured to:

determine that a particular node in the computer network is a scanner node configured to attempt connections to a plurality of other nodes; and

exclude the scanner node from the generation of the connection graph.

6 . The system of claim 1 , wherein the cyberattack detection system is configured to:

determine that a particular connection in the network data is a whitelisted connection; and

exclude the whitelisted connection from the generation of the connection graph.

7 . The system of claim 1 , wherein the cyberattack detection system is implemented with resources of a platform-as-a-service (PaaS) provider, and comprises:

a network data collection service configured to collect network data from a plurality of client networks; and

an attack monitoring service configured to programmatically generate alerts indicating suspected lateral movement in the client networks.

8 . A method, comprising: performing, by one or more computers that implement a cyberattack detection system:

collecting network data from a computer network indicating connections made or attempted among nodes of the computer network during a time interval and respective times that the connections were made or attempted;

generating a plurality of connection graphs from the network data, wherein each of the connection graphs indicates a subset of the nodes of the computer network that made or attempted connections with one another during the time interval and one or more anomalies in connection behavior of the subset of nodes during the time interval;

computing a graph metric for each of the connection graphs based on a highest degree of nodes in individual ones of the connection graphs and determining, based on the graph metric, a set of highest-ranking connection graphs to evaluate for a suspected lateral movement of a cyberattack during the time interval;

determine, based on the graph metric, a set of highest-ranking connection graphs to evaluate for a suspected lateral movement of a cyberattack during the time interval;

for each connection graph in the set of highest-ranking connection graphs:

determining a connection path from the connection graph, wherein the connection path indicates a series of nodes linked by a sequence of time-ordered connections and one or more anomalies in connection behavior of the series of nodes during the time interval; and

computing a path metric of the connection path and determining, based on the path metric, that the connection path is a suspected attack path of the suspected lateral movement; and

generating an output indicating the suspected attack paths during the time interval.

9 . The method of claim 8 , wherein:

the network data includes connections of different communication protocols, including two or more of:

Secure Shell (SSH) protocol,

Windows Remote Management (WinRM) protocol,

Remote Desktop Protocol (RDP), and

Server Message Block (SMB) protocol; and

the connection graph indicates the different communication protocols.

10 . The method of claim 8 , wherein:

the graph metric is computed based on two or more of:

an order of the connection graph,

a size of the connection graph,

a diameter of the connection graph,

a number of distinct communication protocols included in the connection graph,

a presence or count of new nodes in the connection graph, and a presence or count of new edges in the connection graph.

11 . The method of claim 8 , wherein:

the path metric is computed based on two or more of:

a number of links in the connection path,

a number of distinct communication protocols included in the connection path,

a presence or count of new nodes in the connection path, and

a presence or count of new links in the connection path.

12 . The method of claim 8 , further comprising performing, by the cyberattack detection system:

repeatedly generating a plurality of connection graphs from the network data periodically based on a specified schedule.

13 . The method of claim 8 , the generating of the connection graph is triggered by a detection that one or more nodes in the network data exceeded an activity level threshold during the time interval.

14 . The method of claim 8 , further comprising performing, by the cyberattack detection system:

computing, at successive time intervals, a network behavior tracking metric based on a plurality path metrics of suspected attack paths determined during each time interval;

determining that a difference between the network behavior tracking metric in one time interval and a historical average of the network behavior tracking metric triggers an alert criterion; and

generating an alert responsive to the triggering of the alert criterion.

15 . The method of claim 8 , wherein:

the output is provided via a graphical user interface of the cyberattack detection system; and

the output includes the connection graph and the connection path.

16 . The method of claim 8 , wherein:

the output is provided via a notification interface of the cyberattack detection system that sends one or more notifications of the suspected lateral movement to one or more registered user accounts.

17 . The method of claim 8 , further comprising performing, by the cyberattack detection system:

receiving, via a configuration interface, configuration information specifying one or more graph properties to use to compute the graph metric; and

receiving, via the configuration interface, additional configuration information specifying one or more path properties to use to compute the path metric.

18 . One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors implement at least a portion of a cyberattack detection system and cause the cyberattack detection system to:

analyze network data collected from a computer network, wherein the network data indicates connections made or attempted among nodes of the computer network during a time interval and respective times that the connections were made or attempted;

generate a plurality of connection graphs from the network data, wherein each of the connection graphs indicates a subset of the nodes of the computer network that made or attempted connections with one another during the time interval and one or more anomalies in connection behavior of the subset of nodes during the time interval;

compute a graph metric for each of the connection graphs based on a highest degree of nodes in individual ones of the connection graphs and determine, based on the graph metric, a set of highest-ranking connection graphs to evaluate for a suspected lateral movement of a cyberattack during the time interval;

for each connection graph in the set of highest-ranking connection graphs:

determine a connection path from the connection graph, wherein the connection path indicates a series of nodes linked by a sequence of time-ordered connections and one or more anomalies in connection behavior of the series of nodes during the time interval; and

compute a path metric of the connection path and determine, based on the path metric, that the connection path is a suspected attack path of the suspected lateral movement; and

generate output that indicates the suspected attack paths during the time interval.

19 . The one or more non-transitory computer- accessible storage media of claim 18 , wherein the program instructions when executed on or across the one or more processors cause the cyberattack detection system to: determine the set of highest-ranking connection graphs based on a specified number of connection graphs for the set.

20 . The one or more non-transitory computer-accessible storage media of claim 18 , wherein the program instructions when executed on or across the one or more processors cause the cyberattack detection system to:

compute, at successive time intervals, a network behavior tracking metric based on a plurality path metrics of suspected attack paths determined during each time interval;

determine that a difference between the network behavior tracking metric in one time interval and a historical average of the network behavior tracking metric triggers an alert criterion; and

generate an alert responsive to the triggering of the alert criterion.

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 Aug 20, 2020
From: SHIVAMOGGI, VASUDHA; HODGMAN, ROY DONALD; WILBUR, KATHERINE
To: RAPID7, INC.
Reel/Frame 053555/0310 →
Cited By (104)
US 12,206,696 US 12,231,448 US 12,244,621 US 12,261,866 US 12,267,345 US 12,284,197 US 12,309,181 US 12,309,182 US 12,309,185 US 12,309,236 US 12,323,449 US 12,335,286 US 12,335,348 US 12,341,797 US 12,348,545 US 12,355,626 US 12,355,787 US 12,355,793 US 12,363,148 US 12,368,745 US 12,368,746 US 12,368,747 US 12,375,511 US 12,375,573 US 12,381,901 US 12,381,939 US 12,395,573 US 12,401,669 US 12,405,849 US 12,407,701 US 12,407,702 US 12,418,552 US 12,418,555 US 12,425,428 US 12,425,430 US 12,445,474 US 12,452,272 US 12,452,279 US 12,457,231 US 12,463,994 US 12,463,995 US 12,463,996 US 12,463,997 US 12,464,003 US 12,470,577 US 12,470,578 US 12,483,576 US 12,489,770 US 12,489,771 US 12,495,052 US 12,500,910 US 12,500,911 US 12,500,912 US 12,505,126 US 12,506,762 US 12,511,110 US 12,513,221 US 12,526,297 US 12,537,836 US 12,537,837 US 12,537,839 US 12,537,840 US 12,537,884 US 12,549,575 US 12,549,577 US 12,556,548 US 12,556,559 US 12,563,060 US 12,563,064 US 12,563,071 US 12,563,072 US 12,580,932 US 12,580,934 US 12,580,935 US 12,580,936 US 12,580,937 US 12,587,553 US 12,592,950 US 12,598,205 US 12,613,930 US 12,615,271 US 12,621,324 US 12,621,329 US 12,621,331 US 12,627,686 US 12,627,687 US 12,627,690 US 12,634,312 US 12,634,376 US 12,652,302 US 12,659,325 US 12,659,326 US 12,659,327 US 12,659,333 US 12,676,874 US 12,689,638 US 12,689,640 US 12,695,768 US 12,706,931 US 12,706,932 US 12,706,933 US 12,706,980 US 12,712,897 US 12,719,896