IP Library Granted Patent US 11,068,592
Granted Patent B1
US 11,068,592 · App. 17/158,958 · Granted Jul 20, 2021

Lookahead signature-based malware detection

Inventor: Ravi Kalyan Namballa (Tampa, FL)
Assignee: Malwarebytes Inc.
G06F21/564G06F9/4881G06F2221/033
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,068,592
App. No.
17/158,958
Granted
Jul 20, 2021
Kind
B1
Abstract

A computing device determines, for a first time period, a usage-based file list identifying one or more executable files. The computing device determines, for each of the one or more executable files identified by the usage-based file list, whether to perform a malware scan upon the executable file based on a cached record for the executable file. The computing device schedules, for execution during a preceding time period before the first time period, a malware scan for at least one of the one or more executable files based on the corresponding determination of whether to perform a malware scan. Each scheduled malware scan is initiated as a low priority thread for execution. The computing device performs each scheduled malware scan during the preceding time period.

Claims (66)

1. A computer-implemented method, comprising:

determining, for a first time period, a usage-based file list identifying one or more executable files predicted to be used during the first time period;

determining, for each of the one or more executable files identified by the usage-based file list, whether to perform a malware scan upon the executable file based on a cached record for the executable file;

scheduling, for execution during a preceding time period before the first time period, a malware scan for at least one of the one or more executable files based on the corresponding determination of whether to perform a malware scan, wherein each scheduled malware scan is scheduled as a low priority thread for execution; and

performing each scheduled malware scan during the preceding time period.

2. The computer-implemented method of claim 1 , wherein the usage-based file list for the first time period comprises identifiers of executable files that were launched during a prior time period predicted to have a similar usage pattern to the first time period.

3. The computer-implemented method of claim 1 , further comprising:

scheduling, for execution during the preceding time period, a malware scan for a particular executable file in at least one of a frequently used file list and a location-based file list, wherein the malware scan for the particular executable file is scheduled with a lower priority than malware scans scheduled for executable files in the usage-based file list.

4. The computer-implemented method of claim 1 , wherein the usage-based file list for the first time period further comprises identifiers of one or more high use executable files.

5. The computer-implemented method of claim 1 , wherein determining, for a particular executable file identified by the predicted file list, whether to perform a malware scan upon the particular executable file based on a cached record for the particular executable file, comprises:

wherein the cached record for the particular executable file indicates that the particular executable file does not match any signature from a list of file signatures as of a time of a most recent malware scan of the particular executable file;

determining that the list of file signatures comprises signatures added since the time of the most recent malware scan of the particular executable file; and

determining to perform the malware scan of the particular executable file using the signatures added since the time of the most recent malware scan of the particular executable file.

6. The computer-implemented method of claim 1 , wherein determining, for a particular executable file identified by the predicted file list, whether to perform a malware scan upon the particular executable file based on a cached record for the particular executable file, comprises:

wherein the cached record for the particular executable file indicates that the particular executable file matches a particular signature from a list of file signatures;

determining that the particular signature is not in an updated list of file signatures; and

determining to perform the malware scan of the particular executable file using the updated list of file signatures.

7. The computer-implemented method of claim 1 , wherein determining, for a particular executable file identified by the predicted file list, whether to perform a malware scan upon the particular executable file based on a cached record for the particular executable file, comprises:

determining that the particular executable file has been changed since a most recent scan of the particular executable file, wherein a time of the most recent scan is stored in the cached record; and

determining to perform a malware scan of the particular executable file using a list of file signatures.

8. The computer-implemented method of claim 1 , wherein determining, for a particular executable file identified by the predicted file list, whether to perform a malware scan upon the particular executable file based on a cached record for the particular executable file, comprises:

wherein the cached record for the particular executable file indicates that the particular executable file matches a particular signature from a list of file signatures;

determining that the particular signature is still in the list of file signatures; and

responsive to determining that the particular signature is still in the list of file signatures, determining to not perform a malware scan for the particular executable file.

9. The computer-implemented method of claim 1 , wherein determining, for a particular executable file identified by the predicted file list, whether to perform a malware scan upon the particular executable file based on a cached record for the particular executable file, comprises:

determining that the cached record for the particular executable file indicates the particular executable file has not been scanned for a particular type of signature;

determining that the particular type of signature is to be scanned; and

determining to perform a malware scan for the particular executable file for all signatures of the particular type in a list of file signatures.

10. The computer-implemented method of claim 1 , further comprising:

monitoring, for a particular time period, initiation of file execution upon the computer; and

generating, for the particular time period, a particular usage-based file list comprising identifiers of files for which execution was initiated during the particular time period.

11. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform steps, the steps comprising:

determining, for a first time period, a usage-based file list identifying one or more executable files predicted to be used during the first time period;

determining, for each of the one or more executable files identified by the usage-based file list, whether to perform a malware scan upon the executable file based on a cached record for the executable file;

scheduling, for execution during a preceding time period before the first time period, a malware scan for at least one of the one or more executable files based on the corresponding determination of whether to perform a malware scan,

wherein each scheduled malware scan is scheduled as a low priority thread for execution; and

performing each scheduled malware scan during the preceding time period.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the usage-based file list for the first time period comprises identifiers of executable files that were launched during a prior time period predicted to have a similar usage pattern to the first time period.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the usage-based file list for the first time period further comprises identifiers of executable files located at high risk storage locations.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the usage-based file list for the first time period further comprises identifiers of one or more high use executable files.

15. The non-transitory computer-readable storage medium of claim 11 , wherein determining, for a particular executable file identified by the predicted file list, whether to perform a malware scan upon the particular executable file based on a cached record for the particular executable file, comprises:

wherein the cached record for the particular executable file indicates that the particular executable file does not match any signature from a list of file signatures as of a time of a most recent malware scan of the particular executable file;

determining that the list of file signatures comprises signatures added since the time of the most recent malware scan of the particular executable file; and

determining to perform the malware scan of the particular executable file using the signatures added since the time of the most recent malware scan of the particular executable file.

16. The non-transitory computer-readable storage medium of claim 11 , wherein determining, for a particular executable file identified by the predicted file list, whether to perform a malware scan upon the particular executable file based on a cached record for the particular executable file, comprises:

wherein the cached record for the particular executable file indicates that the particular executable file matches a particular signature from a list of file signatures;

determining that the particular signature is not in an updated list of file signatures; and

determining to perform the malware scan of the particular executable file using the updated list of file signatures.

17. The non-transitory computer-readable storage medium of claim 11 , wherein determining, for a particular executable file identified by the predicted file list, whether to perform a malware scan upon the particular executable file based on a cached record for the particular executable file, comprises:

determining that the particular executable file has been changed since a most recent scan of the particular executable file, wherein a time of the most recent scan is stored in the cached record; and

determining to perform a malware scan of the particular executable file using a list of file signatures.

18. The non-transitory computer-readable storage medium of claim 11 , wherein determining, for a particular executable file identified by the predicted file list, whether to perform a malware scan upon the particular executable file based on a cached record for the particular executable file, comprises:

wherein the cached record for the particular executable file indicates that the particular executable file matches a particular signature from a list of file signatures;

determining that the particular signature is still in the list of file signatures; and

responsive to determining that the particular signature is still in the list of file signatures, determining to not perform a malware scan for the particular executable file.

19. The non-transitory computer-readable storage medium of claim 11 , wherein determining, for a particular executable file identified by the predicted file list, whether to perform a malware scan upon the particular executable file based on a cached record for the particular executable file, comprises:

determining that the cached record for the particular executable file indicates the particular executable file has not been scanned for a particular type of signature;

determining that the particular type of signature is to be scanned; and

determining to perform a malware scan for the particular executable file for all signatures of the particular type in a list of file signatures.

20. A system, comprising:

a processor; and

a non-transitory computer-readable storage medium storing computer program instructions executable by the processor to perform steps, the steps comprising:

determining, for a first time period, a usage-based file list identifying one or more executable files predicted to be used during the first time period;

determining, for each of the one or more executable files identified by the usage-based file list, whether to perform a malware scan upon the executable file based on a cached record for the executable file;

scheduling, for execution during a preceding time period before the first time period, a malware scan for at least one of the one or more executable files based on the corresponding determination of whether to perform a malware scan, wherein each scheduled malware scan is scheduled as a low priority thread for execution; and

performing each scheduled malware scan during the preceding time period.

Assignments (7)
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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2021
From: NAMBALLA, RAVI KALYAN
To: MALWAREBYTES INC.
Reel/Frame 055553/0472 →
Cited By (1)
US 12,462,031