IP Library Granted Patent US 11,575,693
Granted Patent B1
US 11,575,693 · App. 17/125,130 · Granted Feb 7, 2023

Composite relationship graph for network security

Inventors: Sudhakar Muddu (Cupertino, CA); Christos Tryfonas (Foster City, CA); Ravi Prasad Bulusu (San Jose, CA); Marios Iliofotou (Santa Clara, CA)
Assignee: SPLUNK INC.
H04L63/1416G06F3/0482G06F3/0484G06F3/04842G06F3/04847G06F16/24578G06F16/254G06F16/285G06F16/444G06F16/9024G06F40/134G06N5/022G06N5/04G06N7/005G06N20/00G06N20/20G06V10/225H04L41/0893H04L41/145H04L41/22H04L43/00H04L43/045H04L43/062H04L43/08H04L63/06H04L63/1408H04L63/1425H04L63/1433H04L63/1441H04L63/20H05K999/99H04L2463/121
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,575,693
App. No.
17/125,130
Granted
Feb 7, 2023
Kind
B1
Abstract

A security platform employs a variety techniques and mechanisms to detect security related anomalies and threats in a computer network environment. The security platform is “big data” driven and employs machine learning to perform security analytics. The security platform performs user/entity behavioral analytics (UEBA) to detect the security related anomalies and threats, regardless of whether such anomalies/threats were previously known. The security platform can include both real-time and batch paths/modes for detecting anomalies and threats. By visually presenting analytical results scored with risk ratings and supporting evidence, the security platform enables network security administrators to respond to a detected anomaly or threat, and to take action promptly.

Claims (72)

1. A method comprising:

receiving, by a computer system, event data representing a plurality of events on a computer network, the event data corresponding to a plurality of entities and at least one anomaly corresponding to the events;

acquiring, for each event, an event-specific relationship graph indicative of entities involved in the event and one or more relationships between the entities involved in the event, each event-specific relationship graph including a plurality of nodes and one or more edges interconnecting nodes of the plurality of nodes, the nodes representing the entities involved in the event, each edge representing an interaction between a pair of entities involved in the event;

acquiring anomaly data indicative of a plurality of security-related anomalies;

using the event-specific relationship graphs for the plurality of events and the anomaly data to form a composite relationship graph, the composite relationship graph including nodes that represent the entities involved in the plurality of events and nodes that represent the anomalies, the composite relationship graph further including edges that represent the relationships between the entities involved in the plurality of events and the anomalies; and

detecting, by the computer system, a security threat by using the composite relationship graph.

2. The method of claim 1 , wherein the event data comprise timestamped machine data.

3. The method of claim 1 , wherein at least a portion of said method is performed by processing logic of a machine learning model.

4. The method of claim 1 , wherein the plurality of entities includes a device in the computer network, a user of the device in the computer network, and a data file stored in the device in the computer network.

5. The method of claim 1 , wherein said using the event-specific relationship graphs for the plurality of events and the anomaly data to form a composite relationship graph comprises:

for each event of the plurality of events, identifying one or more computer network activities of a particular type associated with an entity that occur during a time period, based on the relationship graph for the event;

combining the computer network activities of the particular type associated with the entity involved in the plurality of events into a combined computer network activity and counting the computer network activities that occur during a predefined time period; and

storing the combined computer network activity and the count into a data file designated for the particular type and the time period.

6. The method of claim 1 , wherein said using the event-specific relationship graphs for the plurality of events and the anomaly data to form a composite relationship graph comprises:

for each event, identifying one or more computer network activities of a particular type associated with an entity that occur during a time period, based on a data structure representing the relationship graph for the event;

combining the computer network activities of the particular type associated with the entity involved in the plurality of events into a combined computer network activity and determining a count of the computer network activities that occur during the time period;

storing the combined computer network activity and the count; and

in response to detecting that combined computer network activities associated with the projection have timestamps that are older than a threshold time value, storing a combined network activities projection in a designated data container.

7. The method of claim 1 , wherein said using the event-specific relationship graphs for the plurality of events and the anomaly data to form a composite relationship graph comprises:

for each event, identifying one or more computer network activities of a particular type associated with an entity that occur during a time period, based on a data structure representing the relationship graph for the event; and

combining the computer network activities of the particular type associated with the entity involved in the plurality of events into a combined computer network activity and recording the combined computer network activity, the combined computer network activity including an activity type, an originating entity, a target entity, a number of times the computer network activities occur in the time period, a start time, an end time, and an average gap period between the computer network activities that occur in the time period or a standard deviation of gap periods between the computer network activities that occur in the time period.

8. The method of claim 1 , wherein said using the event-specific relationship graphs for the plurality of events and the anomaly data to form a composite relationship graph comprises:

for each event, identifying one or more computer network activities of a particular type associated with an entity that occur during a time period based on a data structure representing the relationship graph for the event;

combining the computer network activities of the particular type associated with the entity involved in the plurality of event into a combined computer network activity and recording a number of computer network activities that occur during the time period; and

determining, by the computer system, an association between the combined computer network activity of the particular type and a particular projection of the composite relationship graph, the composite relationship graph including a plurality of projections that correspond to a plurality of categories of computer network activities; and

storing the combined computer network activity into a designated data container.

9. The method of claim 1 , wherein the composite relationship graph includes a plurality of projections, one of the projections being a subset of the composite relationship graph that includes edges representing a plurality of anomaly activities conducted by users.

10. The method of claim 1 , further comprising:

in response to recognizing that an anomaly has been detected from the event data, storing event data associated with the anomaly in non-volatile storage; and

generating a visualization of the event data associated with the anomaly in response to an instruction to visualize details of the anomaly.

11. The method of claim 1 , further comprising:

receiving, at a predetermined periodicity from one or more machine learning models that identify security threats, requests for combined computer network activities from a projection of the composite relationship graph and corresponding to a time range, wherein the composite relationship graph includes multiple projections that correspond to multiple categories of computer network activities, and the combined computer network activities include information about computer network activities from multiple events.

12. The method of claim 1 , further comprising:

receiving, at a predetermined periodicity from a plurality of machine learning models that identify security threats, requests for data from a common range of projections of the composite relationship graph and corresponding to a time range, wherein the composite relationship graph includes multiple projections that correspond to multiple categories of computer network activities; and

combining the data within the common range of projections and a common range of timestamps into a single input data structure as an input for the plurality of machine learning models.

13. The method of claim 1 , wherein a machine learning model receives at least a portion of the composite relationship graph as input and identifies the security threat based on the composite relationship graph.

14. The method of claim 1 , wherein identifying the security threat comprises:

converting at least a portion of the composite relationship graph into an anomaly relationship graph, the anomaly relationship graph including anomaly nodes that represent anomalies and entity nodes that represent entities in the computer network;

inputting the anomaly relationship graph into a decision engine, the decision engine having a machine learning model;

identifying, by the machine learning model, a set of anomaly nodes interconnecting entities nodes that form a neighborhood cluster in an anomaly data structure; and

identifying, by the machine learning model, a set of anomalies represented by the identified anomaly nodes as the security threat.

15. The method of claim 1 , wherein identifying the security threat comprises:

converting at least a portion of the composite relationship graph into an anomaly relationship graph, the anomaly relationship graph including anomaly nodes that represent anomalies and entity nodes that represent entities in the computer network;

inputting the anomaly relationship graph into a decision engine, the decision engine being a machine learning model;

identifying, by the machine learning model, a set of anomaly nodes directly connecting a particular entity node in the anomaly relationship graph;

identifying a group of anomaly nodes from the identified set of anomaly nodes; and

identifying, by the machine learning model, a set of anomalies represented by the identified group of anomaly nodes as the security threat.

16. The method of claim 1 , wherein identifying the security threat comprises:

converting at least a portion of the composite relationship graph into an anomaly relationship graph, the anomaly relationship graph including anomaly nodes that represent anomalies and entity nodes that represent entities in the computer network;

inputting the anomaly relationship graph into a decision engine, the decision engine being a machine learning model;

identifying, by the machine learning model, a set of anomaly nodes directly connecting a particular entity node in the anomaly relationship graph;

identifying a group of anomaly nodes from the identified set of anomaly nodes, the group of anomaly nodes having timestamps that satisfy a specific closeness criterion; and

identifying, by the machine learning model, a set of anomalies represented by the identified group of anomaly nodes as the security threat.

17. The method of claim 1 , wherein identifying the security threat comprises:

identifying, by the decision engine, a set of anomalies as the security threat based on the composite relationship graph;

assigning the anomalies into categories of internal anomaly, malware anomaly, incoming anomaly and exfiltration anomaly; and

confirming that the anomalies form a security threat by applying a security rule to the anomalies based on the assigned categories of the anomalies.

18. The method of claim 1 , wherein the entities involved in the plurality of events include at least two types of entities.

19. A computing device comprising:

a processor; and

a memory storing instructions, execution of which by the processor causes the computing device to perform a process including:

receiving, by a computer system, event data representing a plurality of events on a computer network, the event data corresponding to a plurality of entities and at least one anomaly corresponding to the events;

acquiring, for each event, an event-specific relationship graph indicative of entities involved in the event and one or more relationships between the entities involved in the event, each event-specific relationship graph including a plurality of nodes and one or more edges interconnecting nodes of the plurality of nodes, the nodes representing the entities involved in the event, each edge representing an interaction between a pair of entities involved in the event;

acquiring anomaly data indicative of a plurality of security-related anomalies;

using the event-specific relationship graphs for the plurality of events and the anomaly data to form a composite relationship graph, the composite relationship graph including nodes that represent the entities involved in the plurality of events and nodes that represent the anomalies, the composite relationship graph further including edges that represent the relationships between the entities involved in the plurality of events and the anomalies; and

detecting, by the computer system, a security threat by using the composite relationship graph.

20. A non-transitory machine readable storage medium storing instructions, execution of which in a machine causes the machine to perform a process including:

receiving, by a computer system, event data representing a plurality of events on a computer network, the event data corresponding to a plurality of entities and at least one anomaly corresponding to the events;

acquiring, for each event, an event-specific relationship graph indicative of entities involved in the event and one or more relationships between the entities involved in the event, each event-specific relationship graph including a plurality of nodes and one or more edges interconnecting nodes of the plurality of nodes, the nodes representing the entities involved in the event, each edge representing an interaction between a pair of entities involved in the event;

acquiring anomaly data indicative of a plurality of security-related anomalies;

using the event-specific relationship graphs for the plurality of events and the anomaly data to form a composite relationship graph, the composite relationship graph including nodes that represent the entities involved in the plurality of events and nodes that represent the anomalies, the composite relationship graph further including edges that represent the relationships between the entities involved in the plurality of events and the anomalies; and

detecting, by the computer system, a security threat by using the composite relationship graph.

Assignments (4)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069825/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2020
From: MUDDU, SUDHAKAR; TRYFONAS, CHRISTOS; BULUSU, RAVI PRASAD; ILIOFOTOU, MARIOS
To: SPLUNK INC.
Reel/Frame 054682/0565 →
Continuity (2)
Continuation 14929187 · Oct 30, 2015
Provisional Application 62212541 · Aug 31, 2015
Cited By (110)
US 12,189,507 US 12,206,696 US 12,216,629 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,502 US 12,375,573 US 12,381,901 US 12,395,573 US 12,401,669 US 12,405,849 US 12,407,701 US 12,407,702 US 12,418,509 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,475,220 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,566,728 US 12,574,383 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,587,568 US 12,592,950 US 12,613,930 US 12,615,271 US 12,621,324 US 12,621,329 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,657,223 US 12,659,325 US 12,659,326 US 12,659,327 US 12,659,333 US 12,676,874 US 12,676,878 US 12,689,636 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