IP Library Granted Patent US 10,911,470
Granted Patent B2
US 10,911,470 · App. 16/581,094 · Granted Feb 2, 2021

Detecting anomalies in a computer network based on usage similarity scores

Inventors: Sudhakar Muddu (Cupertino, CA); Christos Tryfonas (Foster City, CA); Fumei Lam (San Francisco, CA); Georgios Apostolopoulos (San Jose, CA)
Assignee: SPLUNK INC.
H04L63/1416G06F3/0482G06F3/0484G06F3/04842G06F3/04847G06F16/24578G06F16/254G06F16/285G06F16/444G06F16/9024G06F40/134G06K9/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,911,470
App. No.
16/581,094
Granted
Feb 2, 2021
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 (83)

1. A method comprising:

accessing, by a computer system, usage similarity scores for a plurality of network devices associated with a computer network, the usage similarity scores being indicative of which of the network devices have been shared by a user or by a group of users who satisfy a similarity criterion;

accessing, by the computer system, data indicative of computer network activity of a particular user of a plurality of users; and

detecting, by the computer system, in response to accessing the data, an anomaly indicative that the particular user has interacted with a particular network device with which the particular user does not normally interact, based on the usage similarity scores.

2. The method of claim 1 , further comprising:

retrieving a graph data structure that records anomalies in the computer network and relationships between the anomalies and the users and network devices;

identifying a security threat based on the detected anomaly by identifying, in the graph data structure, a relationship path in the data structure from the particular user to a network device designated as a critical resource of the computer network, the relationship path including users and network devices interlinked by anomalies; and

reporting the security threat to an administrator of the computer network.

3. The method of claim 1 , further comprising:

retrieving a graph data structure that records anomalies in a computer network and relationships between the anomalies and the users and network devices, the graph data structure including nodes interconnected by edges, the nodes representing the entities, the edges representing usage relationships between the entities;

identifying a security threat based on the detected anomaly by identifying, in the graph data structure, a relationship path from the particular user through one or more anomalies in the data structure to a network device designated as a critical resource of the computer network; and

reporting the security threat to an administrator of the computer network.

4. The method of claim 1 , further comprising:

determining that the detected anomaly is indicative of a suspicious lateral movement of the particular user in the computer network.

5. The method of claim 1 , wherein the usage similarity scores are based on login events indicative of the users logging into the network devices.

6. The method of claim 1 , wherein the usage similarity scores are assigned such that any first set of network devices that are accessed by the same or similar group of users are assigned usage similarity scores that are closer in value to each other than usage similarity scores of any second set of network devices that are not accessed by the same or similar group of users.

7. The method of claim 1 , further comprising:

assigning usage similarity scores to the network devices based on login events indicative of users accessing the network devices, such that a first group of network devices that have similar groups of login users have usage similarity scores that are closer in value to each other than usage similarity scores of network devices that do not have similar groups of login users.

8. The method of claim 1 , wherein the anomaly is detected in response to detecting that a particular user has interacted with a particular network device when a usage similarity score of the particular network device fails to satisfy a closeness criterion relative to usage similarity scores of network devices with which the particular user usually interacts.

9. The method of claim 1 , wherein detecting the anomaly is further based on classification metadata for the particular user indicative of the particular user being at least one of a regular user, an administrative user, or an automated user.

10. The method of claim 1 , wherein detecting the anomaly is further based on classification metadata for the particular network device indicative of the particular network device being at least one of a workstation, a server, or a printer.

11. The method of claim 1 , further comprising:

identifying usage relationships between the plurality of users and the plurality of network devices;

wherein the usage relationships between the plurality of users and the plurality of network devices form a bipartite graph including a first set of the plurality of users and a second set of the plurality of network devices; and

assigning usage similarity scores for the plurality of network devices based on the identified usage relationships.

12. The method of claim 1 , further comprising:

identifying usage relationships between the plurality of users and the plurality of network devices;

wherein the usage relationships between the plurality of users and the plurality of network devices represent a time series of events in which the plurality of users have interacted with the plurality of network devices; and

assigning usage similarity scores for the plurality of network devices based on the identified usage relationships.

13. The method of claim 1 , further comprising:

forming a graph having nodes representing the plurality users and the plurality of network devices and edges representing usage relationships between the plurality of users and the plurality of network devices;

distributing weight values with a probability percentage along edges between nodes representing the plurality of users and the plurality network devices; and

repeating the distributing along edges until the weight values at nodes representing the plurality of network devices converge; and

assigning usage similarity scores to the plurality network devices based on the converged weight values.

14. The method of claim 1 , further comprising:

forming a bipartite graph having nodes representing the plurality users and the plurality of network devices and edges representing usage relationships between the plurality of users and the plurality of network devices;

assigning an initial weight value to a node of the bipartite graph;

keeping a percentage of the initial weight value at the node and equally distributing a remainder of the initial weight value from the node along edges of the node to other nodes;

at each node, repeating a process until a weight value at each node converges, the process including:

summing weight values at each node of the bipartite graph, and

keeping the percentage of a previously distributed weight value at the node and equally distributing a remainder of the weight value from the node along edges of the node to other nodes; and

assigning usage similarity scores to the plurality of network devices based on the converged weight values at the nodes representing the plurality of network devices.

15. The method of claim 1 , further comprising:

assigning usage similarity scores to the plurality of network devices based on usage relationships between the plurality of users and the plurality of network devices, such that particular network devices having multiple exclusive users interacting with only the particular network devices tend to have usage similarity scores that have differences less than a threshold value.

16. The method of claim 1 , further comprising:

assigning usage similarity scores to the plurality of network devices based on usage relationships between the plurality of users and the plurality of network devices, such that particular network devices having only a single shared user interacting with all of the particular network devices have different usage similarity scores.

17. The method of claim 1 , wherein detecting the anomaly comprises:

detecting that the particular user has interacted with the particular network device;

calculating an anomaly score for the particular user based on a difference between a usage similarity score of the particular network device and a statistical measure of usage similarity scores of other network devices with which the user has interacted; and

detecting the anomaly in response to detecting that the anomaly score exceeds an anomaly threshold value.

18. The method of claim 1 , wherein detecting the anomaly comprises:

determining an access profile of the particular user including network devices with which the particular user interacts and that have usage similarity scores that satisfy a closeness criterion;

in response to the particular user interacting with the particular network device, calculating an anomaly score for the particular user based on a difference between a usage similarity score of the particular network device and an average of usage similarity scores of network devices in the access profile of the particular user; and

detecting the anomaly in response to detecting that the usage similarity score difference indicates that the particular user has interacted with the particular network device outside of the access profile of the particular user.

19. The method of claim 1 , wherein detecting the anomaly comprises:

determining an access profile of the particular user, the access profile including network devices with which the particular user interacts and that have usage similarity scores that satisfy a closeness criterion; and

wherein the access profile of the particular user further includes information of events indicative that the particular user has logged into a network device, validated credential of a network device, or accessed a network object stored on a network device.

20. The method of claim 1 , wherein detecting the anomaly comprises:

determining an access profile of the particular user, the access profile including network devices with which the particular user interacts and that have usage similarity scores that satisfy a closeness criterion; and

wherein the access profile of the particular user further includes information of events indicative that the particular user has succeeded logging in to a network device, failed logging in to a network device, succeeded validating credential of a network device, failed validating credential of a network device, succeeded accessing a network object stored on a network device, or failed accessing a network object stored on a network device.

21. The method of claim 1 , wherein detecting the anomaly comprises:

identifying a first group of the plurality of network devices with which the particular user interacts and that have usage similarity scores that satisfy a closeness criterion;

identifying a second group of the plurality of network devices with which the particular user interacts; and

detecting an out-of-profile anomaly in response to determining that the particular user is the only user of the plurality of users who has interacted with both the first and second groups of the plurality of network devices.

22. The method of claim 1 , further comprising:

identifying a security threat based on the detected anomaly by identifying a relationship path from the particular user through one or more anomalies to a network device designated as a critical resource of the computer network, the critical resource being a server responsible for handling security authentication requests for the computer network.

23. The method of claim 1 , further comprising:

identifying a security threat based on the detected anomaly by identifying a relationship path from the particular user through one or more anomalies to a network device designated as a critical resource of the computer network, the security threat indicative that an unauthorized user has misappropriated a credential of the particular user to enter the computer network and breached one or more network devices along the relationship path to access the critical resource.

24. The method of claim 1 , wherein the data indicative of computer network activity of the particular user includes machine data.

25. The method of claim 1 , wherein the data indicative of computer network activity of the particular user includes timestamped machine data.

26. The method of claim 1 , wherein the usage similarity scores are assigned to the plurality of network devices using a machine learning model.

27. The method of claim 1 , wherein detecting the anomaly is performed in real time as the data indicative of computer network activity of the particular user are received.

28. The method of claim 1 , wherein detecting the anomaly is performed in batch mode based on the data indicative of computer network activity of the particular user being retrieved from a persistent storage facility.

29. A computing device comprising:

a processor; and

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

accessing usage similarity scores for a plurality of network devices associated with a computer network, the usage similarity scores being indicative of which of the network devices have been shared by a user or by a group of users who satisfy a similarity criterion;

accessing data indicative of computer network activity of a particular user of a plurality of users; and

detecting, in response to accessing the data, an anomaly indicative that the particular user has interacted with a particular network device with which the particular user does not normally interact, based on the usage similarity scores.

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

accessing usage similarity scores for a plurality of network devices associated with a computer network, the usage similarity scores being indicative of which of the network devices have been shared by a user or by a group of users who satisfy a similarity criterion;

accessing data indicative of computer network activity of a particular user of a plurality of users; and

detecting, in response to accessing the data, an anomaly indicative that the particular user has interacted with a particular network device with which the particular user does not normally interact, based on the usage similarity scores.

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 Sep 25, 2019
From: MUDDU, SUDHAKAR; TRYFONAS, CHRISTOS; LAM, FUMEI; APOSTOLOPOULOS, GEORGIOS
To: SPLUNK INC.
Reel/Frame 050483/0319 →
Cited By (109)
US 12,206,696 US 12,244,621 US 12,261,866 US 12,267,345 US 12,284,197 US 12,289,306 US 12,292,951 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,367,127 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,411,486 US 12,418,552 US 12,418,555 US 12,425,428 US 12,425,430 US 12,438,868 US 12,445,474 US 12,452,272 US 12,452,275 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,511,297 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,561,460 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,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,711,224 US 12,712,897 US 12,719,896