IP Library › Granted Patent US 11,556,636
Granted Patent B2
US 11,556,636 · App. 16/917,318 · Granted Jan 17, 2023

Malicious enterprise behavior detection tool

Inventors: Joshua Charles Neil (Redmond, WA); Evan John Argyle (Seattle, WA); Anna Swanson Bertiger (Seattle, WA); Lior Granit (Netanya, IL); Yair Tsarfaty (Nahariya, IL); David Natan Kaplan (Hertsmere, GB)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F21/554G06F16/951G06F21/577G06F2221/034
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,556,636
App. No.
16/917,318
Filed
Jun 30, 2020
Granted
Jan 17, 2023
Kind
B2
Examiner
LI, MENG
Art Unit
2437
USPC
726/23
Abstract

Embodiments of the present disclosure provide systems, methods, and non-transitory computer storage media for identifying malicious enterprise behaviors within a large enterprise. At a high level, embodiments of the present disclosure identify sub-graphs of behaviors within an enterprise based on probabilistic and deterministic methods. For example, starting with the node or edge having the highest risk score, embodiments of the present disclosure iteratively crawl a list of neighbors associated with the nodes or edges to identify subsets of behaviors within an enterprise that indicate potentially malicious activity based on the risk scores of each connected node and edge. In another example, embodiments select a target node and traverse the connected nodes via edges until a root-cause condition is met. Based on the traversal, a sub-graph is identified indicating a malicious execution path of traversed nodes with associated insights indicating the meaning or activity of the node.

Claims (66)

1. A computer-implemented method comprising:

accessing a data structure comprised of enterprise objects sorted according to risk scores for each enterprise object;

identifying a first target enterprise object from the enterprise objects with a first target enterprise object risk score;

determining by iteratively crawling the data structure a first sub-graph of enterprise objects with a risk score greater than the first target enterprise object risk score of the first target enterprise object and coupled to the first target enterprise object,

wherein the first sub-graph of enterprise objects comprises a first sub-graph enterprise object having a first sub-graph enterprise object risk score and a second sub-graph enterprise object having a second sub-graph enterprise risk score,

wherein the risk score is based on the first sub-graph enterprise object risk score and the second sub-graph enterprise object risk score;

adding the first target enterprise object to the first sub-graph of enterprise objects thereby forming a second sub-graph of enterprise objects; and

causing a security mitigation action based on the second sub-graph of enterprise objects.

2. The method of claim 1 , wherein the enterprise objects comprise at least one edge and a plurality of nodes, wherein a first node in the plurality of nodes is connected to a second node via an edge that corresponds to a behavior between the connected first node and second node.

3. The method of claim 1 , wherein identifying the first target enterprise object further comprises at least one of:

identifying a first edge with a greatest risk score; or

identifying a first node with a greatest risk score.

4. The method of claim 1 , wherein determining the first sub-graph of enterprise objects with the risk score greater than the first target enterprise object risk score of the first target enterprise object and coupled to the first target enterprise object by iteratively crawling the data structure further comprises:

identifying each connected object to the first target enterprise object, each connected object having an associated risk score; and

selecting a greatest risk score of the connected object to the first target enterprise object.

5. The method of claim 4 , further comprising:

calculating a risk score of a proposed sub-graph by combining the risk score of the greatest scored connected object with the first target enterprise object; and

determining whether the risk proposed score of the proposed sub-graph is greater than the first target enterprise object risk score of the first target enterprise object.

6. The method of claim 5 , further comprising generating the second sub-graph of enterprise objects based on the determined risk score of the proposed sub-graph, and merging the proposed sub-graph with the first target enterprise object.

7. The method of claim 1 , further comprising:

identifying a second target enterprise object from the enterprise objects with a second target enterprise object risk score greater than the first target enterprise object risk score of the first target enterprise object; and

determining a third sub-graph of enterprise objects coupled to the second target enterprise object with a third sub-graph enterprise risk score greater than the second target enterprise object risk score of the second target enterprise object by iteratively crawling the data structure.

8. The method of claim 1 , further comprising generating, for display on a graphical user interface, a visualization of the second sub-graph of enterprise objects.

9. The method of claim 1 , wherein causing a security mitigation action further comprises deleting malware from a device.

10. A malicious behavior detection system comprising:

one or more hardware processors; and

one or more computer-readable media having executable instructions embodied thereon, which, when executed by the one or more processors, cause the one or more hardware processors to execute:

a malicious enterprise behavior detector configured to:

access a data structure comprised of enterprise objects sorted according to risk scores for each enterprise object;

identify a first target enterprise object from the enterprise objects with a first target enterprise object risk score;

determine; by iteratively crawling the data structure a first sub-graph of enterprise objects with a risk score greater than the first target enterprise object risk score of the first target enterprise object and coupled to the first target enterprise object,

wherein the first sub-graph of enterprise objects comprises a first sub-graph enterprise object having a first sub-graph enterprise object risk score and a second sub-graph enterprise object having a second sub-graph enterprise risk score,

wherein the risk score is based on the first sub-graph enterprise object risk score and the second sub-graph enterprise object risk score;

add the first target enterprise object to the first sub-graph of enterprise objects thereby forming a second sub-graph of enterprise objects; and

causing a security mitigation action based second sub-graph of enterprise objects.

11. The system of claim 10 , wherein determining a first sub-graph of enterprise objects with the risk score greater than the first target enterprise object risk score of the first target enterprise object and coupled to the first target enterprise object by iteratively crawling the data structure further comprises:

identifying each connected object to the first target enterprise object, each connected object having an associated risk score; and

selecting a greatest risk score of the connected object to the first target enterprise object.

12. The system of claim 10 , further comprising:

calculating a risk score of a proposed sub-graph by combining the risk score of the greatest scored connected object with the first target enterprise object; and

determining whether the risk proposed score of the proposed sub-graph is greater than the first target enterprise object risk score of the first target enterprise object.

13. The system of claim 10 , further comprising generating the second sub-graph of enterprise objects based on the determined risk score of the proposed sub-graph, and merging the proposed sub-graph with the first target enterprise object.

14. The system of claim 10 , further comprising:

identifying a second target enterprise object from the enterprise objects with a second target enterprise object risk score greater than the first target enterprise object risk score of the first target enterprise object; and

determining a third sub-graph of enterprise objects coupled to the second target enterprise object with a third sub-graph enterprise risk score greater than the second target enterprise object risk score of the second target enterprise object by iteratively crawling the data structure.

15. One or more computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising:

accessing a data structure comprised of enterprise objects sorted according to risk scores for each enterprise object;

identifying a first target object from the enterprise objects with first target enterprise object risk score;

determining by iteratively crawling the data structure a first sub-graph of enterprise objects with a risk score greater than first target enterprise object risk score of the first target enterprise object and coupled to the first target enterprise object,

wherein the first sub-graph of enterprise objects comprises a first sub-graph enterprise object having a first sub-graph enterprise object risk score and a second sub-graph enterprise object having a second sub-graph enterprise risk score,

wherein the risk score is based on the first sub-graph enterprise object risk score and the second sub-graph enterprise object risk score;

adding the first target enterprise object to the first sub-graph of enterprise objects thereby forming a second sub-graph of enterprise objects; and

causing a security mitigation action based on the second sub-graph of enterprise objects.

16. The media of claim 15 , wherein identifying the first target enterprise object further comprises at least one of:

identifying a first edge with a greatest risk score; or

identifying a first node with a greatest risk score.

17. The media of claim 15 , wherein determining the first sub-graph of enterprise objects with the risk score greater than the first target enterprise object risk score of the first target enterprise object and coupled to the first target enterprise object by iteratively crawling the data structure further comprises:

identifying each connected object to the first target enterprise object, each connected object having an associated risk score; and

selecting a greatest risk score of the connected object to the first target enterprise object.

18. The media of claim 15 , further comprising:

calculating a risk score of a proposed sub-graph by combining the risk score of the greatest scored connected object with the first target enterprise object; and

determining whether the risk proposed score of the proposed sub-graph is greater than the first target enterprise object risk score of the first target enterprise object.

19. The media of claim 15 , further comprising generating the second sub-graph of enterprise objects based on the determined risk score of the proposed sub-graph, and merging the proposed sub-graph with the first target enterprise object.

20. The media of claim 15 , further comprising:

identifying a second target enterprise object from the enterprise objects with a second target enterprise object risk score greater than the first target enterprise object risk score of the first target enterprise object; and

determining a third sub-graph of enterprise objects coupled to the second target enterprise object with a third sub-graph enterprise risk score greater than the second target enterprise object risk score of the second target enterprise object by iteratively crawling the data structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2020
From: NEIL, JOSHUA CHARLES; ARGYLE, EVAN JOHN; BERTIGER, ANNA SWANSON; GRANIT, LIOR; TSARFATY, YAIR; KAPLAN, DAVID NATAN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053459/0810 →
Continuity (1)
Related Publication 20210406365A1 · Dec 30, 2021
Cited By (4)
US 12,205,109 US 12,339,961 US 12,425,309 US 12,641,107