IP Library Granted Patent US 10,419,463
Granted Patent B2
US 10,419,463 · App. 15/926,961 · Granted Sep 17, 2019

Event specific entity relationship discovery in data intake stage of a distributed data processing system

Inventors: Sudhakar Muddu (Cupertino, CA); Christos Tryfonas (Foster City, CA); Ravi Prasad Bulusu (San Jose, CA)
Assignee: SPLUNK INC.
H04L63/1416G06F3/0482G06F3/0484G06F3/04842G06F3/04847G06F16/24578G06F16/254G06F16/285G06F16/444G06F16/9024G06F17/2235G06K9/2063G06N5/022G06N5/04G06N7/005G06N20/00H04L41/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 10,419,463
App. No.
15/926,961
Filed
Mar 20, 2018
Granted
Sep 17, 2019
Kind
B2
Art Unit
2435
USPC
726/23
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:

accessing machine data representing an event, the event resulting from an activity that occurred on a computer network;

identifying, in the event, a first entity that participated in the activity and a relationship between the first entity and a second entity, the relationship being indicative of the activity; and

annotating, by using a graph data structure, raw machine data of the event to include the identified relationship between the first and second entities in the event, wherein annotation in the event enables an event processing engine to detect an anomaly in the computer network.

2. The method of claim 1 , wherein the method is performed by a number of machines internal to the computer network.

3. The method of claim 1 , wherein the method is performed, by a number of machines external to the computer network, as a cloud service to a client.

4. The method of claim 1 , wherein the method is performed, by a number of machines external to the computer network, as a cloud service to a client, and wherein the cloud service also hosts a software application of the client.

5. The method of claim 1 , further comprising:

utilizing a data connector for receiving the machine data from a data source,

wherein the data connector supports accessing or receiving one or more of: (1) indexed data, (2) unindexed data, (3) data from a third-party provider, or (4) data from a distributed file system.

6. The method of claim 1 , further comprising:

utilizing a data connector for receiving the machine data from a data source,

wherein the data connector supports a pull mechanism, a push mechanism, and a hybrid mechanism.

7. The method of claim 1 , further comprising:

performing said method for a plurality of heterogeneous events.

8. The method of claim 1 , further comprising:

receiving the machine data from a data source,

wherein the data source is internal to the computer network.

9. The method of claim 1 , further comprising:

receiving the machine data from a data source,

wherein the data source is external to the computer network.

10. The method of claim 1 , further comprising:

receiving the machine data from a data source,

wherein the event includes one or more of: (1) an identity or authentication type event; (2) a network activity type event; (3) a security software generated type event; (4) an event from a software service source external to the computer network; or (5) a third-party threat feed.

11. The method of claim 1 , further comprising:

sending the annotated raw machine data of the event to a distributed messaging system.

12. The method of claim 1 , further comprising:

generating a composite relationship graph that is based on a combination of a plurality of the identified relationships in a plurality of events.

13. The method of claim 1 , further comprising:

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

14. The method of claim 1 , wherein the relationship between the first and second entities is deterministically identified according to actual records of the event.

15. The method of claim 1 , further comprising:

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

16. The method of claim 1 , further comprising:

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

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

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

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

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

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

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

detecting a data format of the raw machine data of the event.

20. The method of claim 1 , further comprising:

issuing a query to a data processing system configured to perform the query against data stored in a distributed file system; and

receiving the raw machine data of the event as a result of the query from the processing system.

21. The method of claim 1 , further comprising:

causing a data processing system to execute a query against data stored in a distributed file system; and

receiving the raw machine data of the event as a result of the query from the processing system,

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.

22. The method of claim 1 , wherein said identifying comprises identifying a timestamp of the event.

23. The method of claim 1 , further comprising:

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

24. The method of claim 1 , wherein the raw machine data of the event comprises timestamped machine data.

25. 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.

26. The method of claim 1 , further comprising:

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

adding a view identifier to the raw machine data of the event 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 event.

27. The method of claim 1 , further comprising:

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

adding a view identifier to the raw machine data of the event 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 event,

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

28. The method of claim 1 , wherein (1) 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; or, wherein (2) 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.

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

a communication device; and

a processor configured to:

access machine data representing an event, the event resulting from an activity that occurred on a computer network;

identify, in the event, a first entity that participated in the activity and a relationship between the first entity and a second entity, the relationship being indicative of the activity; and

annotate, by using a graph data structure, raw machine data of the event to include the identified relationship between the first and second entities in the event, wherein annotation in the event enables an event processing engine to detect an anomaly in the computer network.

30. 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, execution of which in the processing system causes the processing system to perform operations comprising:

accessing machine data representing an event, the event resulting from an activity that occurred on a computer network;

identifying, in the event, a first entity that participated in the activity and a relationship between the first entity and a second entity, the relationship being indicative of the activity; and

annotating, by using a graph data structure, raw machine data of the event to include the identified relationship between the first and second entities in the event, wherein annotation in the event enables an event processing engine to detect an anomaly in the computer network.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2018
From: MUDDU, SUDHAKAR; TRYFONAS, CHRISTOS; BULUSU, RAVI PRASAD
To: SPLUNK INC.
Reel/Frame 045926/0432 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2018
From: MUDDU, SUDHAKAR; TRYFONAS, CHRISTOS; BULUSU, RAVI PRASAD
To: SPLUNK INC.
Reel/Frame 045294/0675 →
Continuity (5)
Continuation 15860049 · Jan 2, 2018
Continuation 15800010 · Oct 31, 2017
Continuation 14928985 · Oct 30, 2015
Provisional Application 62212541 · Aug 31, 2015
Related Publication 20180219897A1 · Aug 2, 2018
Cited By (111)
US 12,206,696 US 12,244,621 US 12,261,866 US 12,267,345 US 12,273,373 US 12,284,087 US 12,284,197 US 12,309,039 US 12,309,181 US 12,309,182 US 12,309,185 US 12,309,236 US 12,323,449 US 12,328,232 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,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,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,058 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,587,574 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,626,256 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,694,140 US 12,695,768 US 12,706,931 US 12,706,932 US 12,706,933 US 12,706,958 US 12,706,980 US 12,711,229 US 12,712,897 US 12,719,896 US 12,719,961