IP Library Granted Patent US 9,928,366
Granted Patent B2
US 9,928,366 · App. 15/484,830 · Granted Mar 27, 2018

Endpoint malware detection using an event graph

Inventors: Beata Ladnai (Cheshire, GB); Mark David Harris (Oxon, GB); Andrew J. Thomas (Oxfordshire, GB); Andrew G. P. Smith (Oxford, GB); Russell Humphries (Surrey, GB)
Assignee: Sophos Limited
G06F21/56G06F21/554G06F8/65G06F2221/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 9,928,366
App. No.
15/484,830
Granted
Mar 27, 2018
Kind
B2
Abstract

A data recorder stores endpoint activity on an ongoing basis as sequences of events that causally relate computer objects such as processes and files, and patterns within this event graph can be used to detect the presence of malware on the endpoint. The underlying recording process may be dynamically adjusted in order to vary the amount and location of recording as the security state of the endpoint changes over time.

Claims (41)

1. A computer program product for detecting malware on an endpoint in an enterprise network, the computer program product comprising computer executable code embodied in a non-transitory computer readable medium that, when executing on the endpoint, performs the steps of:

instrumenting the endpoint to monitor a number of causal relationships among a number of computing objects at a plurality of logical locations within a computing environment related to the endpoint, wherein the number of causal relationships include at least one of a data flow, a control flow, or a network flow;

selecting a set of logical locations from the plurality of logical locations;

recording a sequence of events causally relating the number of computing objects at the set of logical locations;

creating an event graph based on the sequence of events;

applying a malware detection rule to the event graph; and

remediating the endpoint when the malware detection rule and the event graph indicate a compromised security state.

2. A method for malware detection comprising:

instrumenting a first endpoint to monitor a number of causal relationships among a number of computing objects at a plurality of logical locations within a computing environment related to the first endpoint, wherein the number of causal relationships include at least one of a data flow, a control flow, or a network flow;

selecting a first set of logical locations from the plurality of logical locations;

recording a sequence of events causally relating the number of computing objects at the first set of logical locations;

creating an event graph based on the sequence of events;

applying a malware detection rule to the event graph; and

remediating the first endpoint when the malware detection rule and the event graph indicate a compromised security state.

3. The method of claim 2 , wherein selecting the first set of logical locations includes selecting a group from the plurality of logical locations based on exposure to an external environment.

4. The method of claim 2 , wherein selecting the first set of logical locations includes selecting a group from the plurality of logical locations based on reputation.

5. The method of claim 4 , further comprising excluding at least one of the plurality of logical locations associated with a known, good process.

6. The method of claim 2 , further comprising selecting a second set of logical locations different from the first set of logical locations in response to an observed event graph for the sequence of events.

7. The method of claim 2 , further comprising adding one or more of the plurality of logical locations to the first set of logical locations in response to a detected increase in security risk.

8. The method of claim 2 , further comprising removing one of the plurality of logical locations from the first set of logical locations in response to a detected decrease in security risk.

9. The method of claim 2 , further comprising filtering one or more of the events in the sequence of events according to reputation.

10. The method of claim 2 , wherein the plurality of logical locations includes at least one endpoint separate from the first endpoint.

11. The method of claim 2 , wherein the plurality of logical locations includes at least one programming interface to a human interface device.

12. The method of claim 2 , further comprising identifying one of the computing objects as a cause of the compromised security state and remediating the one of the computing objects.

13. The method of claim 2 , further comprising traversing the event graph forward from the cause to identify one or more other ones of the computing objects affected by the cause.

14. The method of claim 2 , wherein the number of causal relationships include a data flow.

15. The method of claim 2 , wherein the number of causal relationships include a control flow.

16. The method of claim 2 , wherein the number of causal relationships include a network flow.

17. The method of claim 2 , wherein the one or more computing objects include one or more types of computing objects selected from a group consisting of a data file, a process, an application, a registry entry, a network address, and a peripheral device.

18. The method of claim 2 , wherein a number of events within the sequence of events are preserved for a predetermined time window, and further wherein the predetermined time window has a different duration for at least two different types of computing objects.

19. An endpoint comprising:

a network interface;

a memory; and

a processor configured by computer executable code stored in the memory to detect malware by performing the steps of instrumenting the endpoint to monitor a number of causal relationships among a number of computing objects at a plurality of logical locations within a computing environment related to the endpoint, wherein the number of causal relationships include at least one of a data flow, a control flow, or a network flow, selecting a first set of logical locations from the plurality of logical locations, recording a sequence of events causally relating the number of computing objects at the first set of logical locations, creating an event graph based on the sequence of events, applying a malware detection rule to the event graph, and remediating the endpoint when the malware detection rule and the event graph indicate a compromised security state.

20. The endpoint of claim 19 , wherein the processor is further configured to adjust the first set of logical locations by adding a new logical location, removing an existing logical location, or changing a level of filtering at one of the first set of logical locations according to a security state of the endpoint.

21. The endpoint of claim 19 , wherein selecting the first set of logical locations from the plurality of logical locations includes selecting a group from the plurality of logical locations based on exposure to an external environment.

22. The endpoint of claim 19 , wherein selecting the first set of logical locations from the plurality of logical locations includes selecting a group from the plurality of logical locations based on reputation.

23. The endpoint of claim 22 , wherein selecting the group from the plurality of logical locations based on reputation includes excluding at least one of the plurality of logical locations associated with a known, good process.

24. The endpoint of claim 19 , wherein the number of causal relationships include a data flow.

25. The endpoint of claim 19 , wherein the number of causal relationships include a control flow.

26. The endpoint of claim 19 , wherein the number of causal relationships include a network flow.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 053476/0681 Recorded Mar 9, 2021
From: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
To: SOPHOS LIMITED
Reel/Frame 056469/0815 →
PATENT SECURITY AGREEMENT FIRST LIEN Recorded Jul 6, 2020
From: SOPHOS LIMITED
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 053124/0350 →
PATENT SECURITY AGREEMENT SECOND LIEN Recorded Jul 6, 2020
From: SOPHOS LIMITED
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 053476/0681 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2019
From: LADNAI, BEATA; HARRIS, MARK DAVID; THOMAS, ANDREW J.; SMITH, ANDREW G. P.; HUMPHRIES, RUSSELL
To: SOPHOS LIMITED
Reel/Frame 048929/0785 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2017
From: LADNAI, BEATA; HARRIS, MARK DAVID; THOMAS, ANDREW J.; SMITH, ANDREW G. P.; HUMPHRIES, RUSSELL; RAY, KENNETH D.
To: SOPHOS LIMITED
Reel/Frame 042246/0561 →
Priority Claims (2)
GB 1610609.8 · Jun 17, 2016 · national
GB 1611301.1 · Jun 29, 2016 · national
Continuity (2)
Continuation In Part 15130244 · Apr 15, 2016
Related Publication 20170300690A1 · Oct 19, 2017