IP Library Granted Patent US 10,970,396
Granted Patent B2
US 10,970,396 · App. 16/013,726 · Granted Apr 6, 2021

Intelligent event collection for rolling back an endpoint state in response to malware

Inventors: Arif Gezalov (Westminster, CO); Pedro Bustamante Lopez-Chicheri (Mountain View, CA); Douglas Stuart Swanson (Holmfirth, GB)
Assignee: Malwarebytes Inc.
G06F21/568G06F21/554G06F21/566
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,970,396
App. No.
16/013,726
Granted
Apr 6, 2021
Kind
B2
Abstract

An anti-malware application detects and remediates malware. The anti-malware application detects an event associated with a process and determines if the event matches an entry in an exclusions list. If the event is absent from the exclusions list, the anti-malware application monitors the operation of the process, logs the event data in an event log, and sends the event to a server to determine whether the process corresponds to malware. The anti-malware application updates the exclusions list based on the logged event if the process does not correspond to malware. The anti-malware application restores a file edited by the process to the saved copy of the original file prior to the file being edited by the process if the process corresponds to malware.

Claims (82)

1. A method for detecting malware comprising:

detecting an event associated with a process performing an operation on a file;

determining if the event associated with the process matches an event in an exclusions list;

responsive to determining that the event associated with the process is absent from the exclusions list, monitoring the operation of the process comprising saving a plurality of event data describing a plurality of events associated with the process on a client device and sending the plurality of event data to a server;

responsive to detecting an opening of an original file by the process for editing, saving a copy of the original file prior to the original file being edited by the process;

receiving, by the client device, an indication from the server of whether the process corresponds to malware based on whether the plurality of event data includes a pattern of events indicative of malware; and

responsive to receiving an indication that the process corresponds to malware, restoring a file edited by the process to the saved copy of the original file prior to the file being edited by the process.

2. The method of claim 1 , further comprising:

detecting a second event associated with a second process performing a second operation on a second file;

determining if the second event associated with the second process matches an entry in the exclusions list;

responsive to determining that the second event associated with the second process is absent from the exclusions list:

saving second event data associated with the second process on the client device by logging the second event data in an event log, and

sending the second event data to the server;

receiving, by the client device, an indication from the server of whether the second process corresponds to malware; and

responsive to receiving an indication that the second process does not correspond to malware, updating the exclusions list based on the logged event data of the second process.

3. The method of claim 2 , wherein the exclusions list includes an entry excluding events associated with a trusted process and determining if the event matches the entry in the exclusions list comprises:

determining that an identifier of the process matches an identifier of the trusted process.

4. The method of claim 2 , wherein the exclusions list includes an entry excluding events associated with a trusted process operating on a file having a particular characteristic and determining if the event matches the entry in the exclusions list comprises:

determining that an identifier of the process matches an identifier of the trusted process and that the operated-on file has the particular file characteristic.

5. The method of claim 4 , wherein the particular file characteristic is one among a file type and a file directory.

6. The method of claim 2 , wherein updating the exclusions list is performed periodically after a first period of time, the method further comprising:

logging additional event data describing additional events in the event log occurring over a second period of time greater than the first period of time; and

purging the event data occurring over the second period of time that is greater in age than the first period of time from the event log.

7. The method of claim 2 , wherein updating the exclusions list comprises:

maintaining a count of logged events corresponding to historical operations by the process performed on files having a particular predefined characteristic; and

responsive to the count exceeding a threshold, adding an entry to the exclusions list to exclude future operations by the process on files having the particular predefined characteristic.

8. A non-transitory computer-readable storage medium storing instructions for detecting malware, the instructions when executed by a processor cause the processor to perform steps including:

detecting an event associated with a process performing an operation on a file;

determining if the event associated with the process matches an event in an exclusions list;

responsive to determining that the event associated with the process is absent from the exclusions list, monitoring the operation of the process comprising saving a plurality of event data describing a plurality of events associated with the process on a client device and sending the plurality of event data to a server;

responsive to detecting an opening of an original file by the process for editing, saving a copy of the original file prior to the original file being edited by the process;

receiving, by the client device, an indication from the server of whether the process corresponds to malware based on whether the plurality of event data includes a pattern of events indicative of malware; and

responsive to receiving an indication that the process corresponds to malware, restoring a file edited by the process to the saved copy of the original file prior to the file being edited by the process.

9. The non-transitory computer-readable storage medium of claim 8 , the instructions further including:

detecting a second event associated with a second process performing a second operation on a second file;

determining if the second event associated with the second process matches an event in the exclusions list;

responsive to determining that the second event associated with the second process is absent from the exclusions list:

saving second event data associated with the second process on the client device by logging the second event data in an event log, and

sending the second event data to the server;

receiving, by the client device, an indication from the server of whether the second process corresponds to malware; and

responsive to receiving an indication that the second process does not correspond to malware, updating the exclusions list based on the logged event data of the second process.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the exclusions list includes an entry excluding events associated with a trusted process and determining if the event matches the entry in the exclusions list comprises:

determining that an identifier of the process matches an identifier of the trusted process.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the exclusions list includes an entry excluding events associated with a trusted process operating on a file having a particular characteristic and determining if the event matches the entry in the exclusions list comprises:

determining that an identifier of the process matches an identifier of the trusted process and that the operated-on file has the particular file characteristic.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the particular file characteristic is one among a file type and a file directory.

13. The non-transitory computer-readable storage medium of claim 9 , wherein updating the exclusions list is performed periodically after a first period of time, the instructions further comprising:

logging additional event data describing additional events in the event log occurring over a second period of time greater than the first period of time; and

purging the event data occurring over the second period of time that is greater in age than the first period of time from the event log.

14. The non-transitory computer-readable storage medium of claim 9 ,

wherein updating the exclusions list comprises:

maintaining a count of logged events corresponding to historical operations by the process performed on files having a particular predefined characteristic; and

responsive to the count exceeding a threshold, adding an entry to the exclusions list to exclude future operations by the process on files having the particular predefined characteristic.

15. A computing system comprising:

a processor; and

a non-transitory computer-readable storage medium storing instructions for detecting malware, the instructions when executed by the processor cause the processor to perform steps including:

detecting an event associated with a process performing an operation on a file;

determining if the event associated with the process matches an event in an exclusions list;

responsive to determining that the event associated with the process is absent from the exclusions list, monitoring the operation of the process comprising saving a plurality of event data describing a plurality of events associated with the process on a client device and sending the plurality of event data to a server;

responsive to detecting an opening of an original file by the process for editing, saving a copy of the original file prior to the original file being edited by the process;

receiving, by the client device, an indication from the server of whether the process corresponds to malware based on whether the plurality of event data includes a pattern of events indicative of malware; and

responsive to receiving an indication that the process corresponds to malware, restoring a file edited by the process to the saved copy of the original file prior to the file being edited by the process.

16. The computing system of claim 15 , the instructions further including:

detecting a second event associated with a second process performing a second operation on a second file;

determining if the second event associated with the second process matches an event in the exclusions list;

responsive to determining that the second event associated with the second process is absent from the exclusions list:

saving second event data associated with the second process on the client device by logging the second event data in an event log, and

sending the second event data to the server;

receiving, by the client device, an indication from the server of whether the second process corresponds to malware; and

responsive to receiving an indication that the second process does not correspond to malware, updating the exclusions list based on the logged event data of the second process.

17. The computing system of claim 16 , wherein the exclusions list includes an entry excluding events associated with a trusted process and determining if the event matches the entry in the exclusions list comprises:

determining that an identifier of the process matches an identifier of the trusted process.

18. The computing system of claim 16 , wherein the exclusions list includes an entry excluding events associated with a trusted process operating on a file having a particular characteristic and determining if the event matches the entry in the exclusions list comprises:

determining that an identifier of the process matches an identifier of the trusted process and that the operated-on file has the particular file characteristic.

19. The computing system of claim 16 ,

wherein updating the exclusions list comprises:

maintaining a count of logged events corresponding to historical operations by the process performed on files having a particular predefined characteristic; and

responsive to the count exceeding a threshold, adding an entry to the exclusions list to exclude future operations by the process on files having the particular predefined characteristic.

20. The computing system of claim 16 ,

wherein updating the exclusions list is performed periodically after a first period of time, the instructions further comprising:

logging additional event data describing additional events in the event log occurring over a second period of time greater than the first period of time; and

purging the event data occurring over the second period of time that is greater in age than the first period of time from the event log.

Assignments (9)
CHANGE OF NAME Recorded May 18, 2026
From: MALWAREBYTES CORPORATE HOLDCO INC.
To: THREATDOWN INC.
Reel/Frame 075592/0851 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Oct 21, 2024
From: COMPUTERSHARE TRUST COMPANY, N.A.
To: MALWAREBYTES CORPORATE HOLDCO INC.
Reel/Frame 069193/0563 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Oct 21, 2024
From: COMPUTERSHARE TRUST COMPANY, N.A.
To: MALWAREBYTES INC.
Reel/Frame 069193/0505 →
SECURITY INTEREST Recorded Oct 18, 2024
From: MALWAREBYTES INC.; MALWAREBYTES CORPORATE HOLDCO INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 068943/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2024
From: MALWAREBYTES INC.
To: MALWAREBYTES CORPORATE HOLDCO INC.
Reel/Frame 066900/0386 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 26, 2024
From: MALWAREBYTES CORPORATE HOLDCO INC.
To: COMPUTERSHARE TRUST COMPANY, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 066373/0912 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 1, 2023
From: MALWAREBYTES INC.
To: COMPUTERSHARE TRUST COMPANY, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 062599/0069 →
SECURITY INTEREST Recorded Oct 10, 2019
From: MALWAREBYTES INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 050681/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2018
From: GEZALOV, ARIF; BUSTAMANTE LOPEZ-CHICHERI, PEDRO; SWANSON, DOUGLAS STUART
To: MALWAREBYTES INC.
Reel/Frame 046151/0520 →
Continuity (1)
Related Publication 20190392147A1 · Dec 26, 2019
Cited By (4)
US 12,354,043 US 12,361,358 US 12,526,289 US 12,670,455