IP Library Granted Patent US 10,116,670
Granted Patent B2
US 10,116,670 · App. 15/418,546 · Granted Oct 30, 2018

Event specific relationship graph generation and application in a machine data processing platform

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 10,116,670
App. No.
15/418,546
Granted
Oct 30, 2018
Kind
B2
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 (78)

1. A method comprising:

receiving, by a computer system, raw machine data produced by an information technology environment, the raw machine data indicative of activity of one or more components of the information technology environment;

wherein the received raw machine data include a plurality of data units, wherein the raw machine data in each data unit of the plurality of data units includes data indicative of an activity, entities that participated in the activity, and a timestamp for the activity;

for each data unit of the plurality of data units, by the computer system,

identifying a relationship between the entities indicated in the data unit, the relationship indicative of the activity indicated in the data unit, and

annotating, by using a data structure corresponding to a graph, the raw machine data in the data unit to incorporate data indicative of the relationship into the raw machine data in the data unit; and

providing, to an anomaly detection module, each of the plurality of data units including annotated raw machine data, for detection of a security-oriented anomaly in the information technology environment,

wherein the anomaly detection module is in a real-time path or a batch path, and wherein information regarding identified security-oriented anomalies is shared between the real-time path and the batch path.

2. The method of claim 1 , wherein the relationship between the entities represents an activity, recorded in the raw machine data in the data unit, performed by one entity with respect to another entity.

3. The method of claim 1 , further comprising:

sending the annotated raw machine data in the data unit to a distributed messaging system.

4. The method of claim 1 , further comprising:

generating a composite relationship graph that is combined from the plurality of the identified relationships in the plurality of data units.

5. The method of claim 1 , further comprising:

generating a composite relationship graph that is combined from the plurality of the identified relationships in the plurality of data units, wherein the detection of an anomaly in the information technology environment is performed based on a projection of the composite relationship graph.

6. The method of claim 1 , wherein the relationship between the entities is deterministically identified according to actual records in the data unit.

7. The method of claim 1 , further comprising:

utilizing, by the anomaly detection module, machine learning models to detect behavioral-based anomalies.

8. The method of claim 1 , wherein the data indicative of the relationship is incorporated into the data unit by appending the graph to the raw machine data in the data unit.

9. The method of claim 1 , further comprising:

extracting, at a subsequent stage, the data indicative of the relationship from the data unit in response to the data unit being examined.

10. The method of claim 1 , wherein said identifying comprises:

tokenizing the raw machine data in the data unit by extracting, as tokens, a key, a value or a key-value pair from the raw machine data in the data unit; and

parsing the raw machine data in the data unit based on a predetermined data format that specifies which tokens represent the entities and which tokens represent activities in the extracted tokens.

11. The method of claim 1 , wherein said identifying comprises:

parsing the raw machine data in the data unit based on a predetermined data format that specifies which data represent the entities and which data represent the activity in the data unit.

12. The method of claim 1 , wherein said identifying comprises:

parsing the raw machine data in the data unit based on a predetermined data format that specifies which data represent the entities and which data represent the activity in the data unit,

wherein the predetermined data format comprises a data format representing output from at least one of: an active directory, a proxy, a firewall, a web gateway, a virtual private network (VPN) connection, an intrusion detection system, a network traffic analyzer, or a malware engine.

13. The method of claim 1 , wherein said identifying comprises:

tokenizing the raw machine data in the data unit by extracting, as tokens, a key or a value or a key-value pair in the data unit.

14. The method of claim 1 , wherein the activity is performed by one entity with respect to another entity, and wherein the identified relationship between the entities is identified based on the action.

15. The method of claim 1 , wherein the identified relationship between the entities is indicative of the action, and wherein the identified relationship is identified based on using the activity to reference into a data structure of identifiable relationships.

16. The method of claim 1 , wherein said identifying step comprises:

detecting a data format of the raw machine data in the data unit.

17. The method of claim 1 , further comprising:

issuing a query to a data processing system that performs the query against data stored in a distributed file system,

wherein said receiving step includes receiving the raw machine data in the data unit as a result of the query from the processing system.

18. The method of claim 1 , further comprising:

issuing a query to a data processing system configured to execute the query against data stored in a distributed file system,

wherein said receiving includes receiving the raw machine data in the data unit as a result of the query from the processing system, and

wherein the data processing system includes a framework that provides methods including: a map method to perform a data processing operation on local data on distributed nodes, and a reduce method to perform a summary operation to generate a result based on the processed local data.

19. The method of claim 1 , further comprising:

requesting a machine on the computer network to transmit the raw machine data in the data unit, and wherein said receiving occurs in response to the machine on the computer network transmitting the raw machine data in the data unit.

20. The method of claim 1 , wherein said identifying comprises identifying a timestamp in the data unit.

21. The method of claim 1 , further comprising:

configuring said identifying by making an adjustment to a configuration file.

22. The method of claim 1 , wherein the raw machine data in the data unit comprises timestamped machine data.

23. The method of claim 1 , wherein the method is performed as part of an extract-transform-load stage of at least one of a distributed event processing system or an anomaly detection system.

24. The method of claim 1 , further comprising:

identifying a plurality of attributes of the data unit, based on the raw machine data in the data unit; and

adding a view identifier to the raw machine data in the data unit to allow a downstream entity, by having designated the view identifier, to receive select information extracted from and/or generated based on the plurality of attributes of the data unit.

25. The method of claim 1 , further comprising:

identifying a plurality of attributes of the data unit, based on the raw machine data in the data unit; and

adding a view identifier to the raw machine data in the data unit to allow a downstream entity, by having designated the view identifier, to receive select information extracted from and/or generated based on the plurality of attributes of the data unit,

wherein the interface further includes logic performs an activity on the attributes of the data unit to generate the information.

26. The method of claim 1 , wherein each of the entities is of a type that is one of: user, device, application, network resource locator, session, or threat; and

wherein at least two of the entities are not of the same type.

27. The method of claim 1 , wherein each of the entities is of a type that is one of: user, device, application, uniform resource locator (URL), session, or threat; and

wherein the activity includes at least one of: uses, visits, connects to, logs in, or logs out.

28. A computer system for detection of an anomaly in a distributed computer environment, the system comprising:

a communication device; and

a processor configured to:

receive, by the computer system, raw machine data produced by an information technology environment, the raw machine data indicative of activity of one or more components of the information technology environment;

wherein the received raw machine data include a plurality of data units, wherein the raw machine data in each data unit of the plurality of data units includes data indicative of an activity, entities that participated in the activity, and a timestamp for the activity;

for each data unit of the plurality of data units, by the computer system,

identify a relationship between the entities indicated in the data unit, the relationship indicative of the activity indicated in the data unit, and

annotate, by using a data structure corresponding to a graph, the raw machine data in the data unit to incorporate data indicative of the relationship into the raw machine data in the data unit; and

provide, to an anomaly detection module, each of the plurality of data units including annotated raw machine data, for detection of a security-oriented anomaly in the information technology environment,

wherein the anomaly detection module is in a real-time path or a batch path, and wherein information regarding identified security-oriented anomalies is shared between the real-time path and the batch path.

29. A non-transitory machine-readable storage medium for use in a processing system for detection of an anomaly in a distributed computer environment, the non-transitory machine-readable storage medium storing instructions, an execution of which in the processing system causes the processing system to perform operations comprising:

receiving raw machine data produced by an information technology environment, the raw machine data indicative of activity of one or more components of the information technology environment;

wherein the received raw machine data include a plurality of data units, wherein the raw machine data in each data unit of the plurality of data units includes data indicative of an activity, entities that participated in the activity, and a timestamp for the activity;

for each data unit of the plurality of data units,

identifying a relationship between the entities indicated in the data unit, the relationship indicative of the activity indicated in the data unit, and

annotating, by using a data structure corresponding to a graph, the raw machine data in the data unit to incorporate data indicative of the relationship into the raw machine data in the data unit; and

providing, to an anomaly detection module, each of the plurality of data units including annotated raw machine data, for detection of a security-oriented anomaly in the information technology environment,

wherein the anomaly detection module is in a real-time path or a batch path, and wherein information regarding identified security-oriented anomalies is shared between the real-time path and the batch path.

Assignments (5)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THIRD INVENTOR'S NAME PREVIOUSLY RECORDED ON REEL 045832 FRAME 0273. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 29, 2018
From: MUDDU, SUDHAKAR; TRYFONAS, CHRISTOS; BULUSU, RAVI PRASAD
To: SPLUNK INC.
Reel/Frame 046251/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2018
From: MUDDU, SUDHAKAR; TRYFONAS, CHRISTOS; BULUSU, RAVI
To: SPLUNK INC.
Reel/Frame 045832/0273 →
Cited By (104)
US 12,206,696 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,348,646 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,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,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,476,823 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,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,676,890 US 12,689,638 US 12,689,640 US 12,695,768 US 12,699,917 US 12,706,931 US 12,706,932 US 12,706,933 US 12,706,980 US 12,712,897 US 12,719,896