IP Library Granted Patent US 11,520,887
Granted Patent B2
US 11,520,887 · App. 17/070,081 · Granted Dec 6, 2022

Parallel processing for malware detection

Inventors: Sunil Mathew Thomas (Palm Harbor, FL); Michael Graham Malone (Largo, FL)
Assignee: Malwarebytes Inc.
G06F21/566G06F9/3836G06F21/53G06F21/552
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,520,887
App. No.
17/070,081
Granted
Dec 6, 2022
Kind
B2
Abstract

Client devices detect malware based on a ruleset received from a security server. To evaluate a current ruleset, an administrative client device initiates a ruleset evaluation of the malware detection ruleset. A security server partitions stored malware samples into a group of evaluation lists based on an evaluation policy. The security server then creates scanning nodes on an evaluation server according to the evaluation policy. The scanning nodes scan the malware samples of the evaluation lists using the rulesets and associate each malware sample with a rule of the ruleset based on the detections, if any. The security server analyzes the associations and optimizes the ruleset and stored malware samples. The security server sends the optimized ruleset to client devices such that they more efficiently detect malware samples.

Claims (49)

1. A method for evaluating a detection ruleset comprising:

installing, on an evaluation server, a plurality of protection applications across a corresponding plurality of partitions of the evaluation server, each protection application configured to apply rules of a detection ruleset to malware samples,

for each protection application, scanning a subset of malware samples of a plurality of malware samples by applying rules of the detection ruleset to the subset of malware samples, and

determining the set of initial evaluation results based on the scans across the plurality of protection applications, the initial evaluation results comprising a plurality of associations between individual malware samples of the plurality of malware samples and rules of the detection ruleset, the associations indicating which rules of the detection ruleset detect which malware samples;

receiving, from the evaluation server, a set of initial evaluation results for a detection ruleset, the evaluation server generating the initial evaluation results by:

transmitting, to a system administrator, the set of initial evaluation results;

receiving, from the system administrator, a curated ruleset comprising a plurality of malware detection rules based on the associations in the initial evaluation results.

2. The method of claim 1 , wherein the plurality of protection applications, in aggregate, scan the plurality of malware samples, the plurality of malware samples divided into a plurality of malware sample subsets.

3. The method of claim 1 , wherein the associations indicate one or more rules of the detection ruleset detect a malware sample of the plurality of malware samples, and the curated ruleset comprises a rule of the one or more rules of the detection ruleset that detects the malware sample of the plurality of malware samples.

4. The method of claim 1 , wherein the curated ruleset does not comprise redundant rules, redundant rules detecting a malware sample of the plurality of malware samples detected by at least one other rule.

5. The method of claim 1 , wherein the curated ruleset does not comprise ineffective rules, ineffective rules failing to detect a malware sample of the plurality of malware samples.

6. The method of claim 1 , further comprising:

receiving, from the system administrator, an evaluation policy for evaluating the malware samples with the malware detection ruleset; and

dividing the plurality of malware samples into a plurality of malware sample subsets according to the evaluation policy.

7. The method of claim 6 , wherein the evaluation policy includes at least one of: an amount of time to evaluate a malware sample subset, a size of each malware sample subset, and a number of malware sample subsets.

8. The method of claim 6 , further comprising:

determining a number of the plurality of partitions to install on the evaluation server such based on the evaluation policy,

wherein the number is determined such that the plurality of installed protection applications evaluate the malware detection ruleset according to the evaluation policy.

9. The method of claim 6 , further comprising:

transmitting, to each protection application of the plurality of protection a malware sample subset of the plurality of malware detection subsets.

10. The method of claim 9 , further comprising:

in response to a protection application scanning the received malware sample subset, transmitting an additional malware sample subset of the plurality of malware detection subsets to the protection application.

11. A non-transitory computer-readable storage medium storing computer instructions for evaluating a detection ruleset that, the computer instructions, when executed by one or more processors, cause the processors to:

install, on an evaluation server, a plurality of protection applications across a corresponding plurality of partitions of the evaluation server, each protection application configured to apply rules of a detection ruleset to malware samples,

for each protection application, scan a subset of malware samples of a plurality of malware samples by applying rules of the detection ruleset to the subset of malware samples, and

determine the set of initial evaluation results based on the scans across the plurality of protection applications, the initial evaluation results comprising a plurality of associations between individual malware samples of the plurality of malware samples and rules of the detection ruleset, the associations indicating which rules of the detection ruleset detect which malware samples;

receive, from the evaluation server, a set of initial evaluation results for a detection ruleset, the evaluation server generating the initial evaluation results by:

transmit, to a system administrator, the set of initial evaluation results;

receive, from the system administrator, a curated ruleset comprising a plurality of malware detection rules based on the associations in the initial evaluation results.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the plurality of protection applications, in aggregate, scan the plurality of malware samples, the plurality of malware samples divided into a plurality of malware sample subsets.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the associations indicate one or more rules of the detection ruleset detect a malware sample of the plurality of malware samples, and the curated ruleset comprises a rule of the one or more rules of the detection ruleset that detects the malware sample of the plurality of malware samples.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the curated ruleset does not comprise redundant rules, redundant rules detecting a malware sample of the plurality of malware samples detected by at least one other rule.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the curated ruleset does not comprise ineffective rules, ineffective rules failing to detect a malware sample of the plurality of malware samples.

16. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

receive, from the system administrator, an evaluation policy for evaluating the malware samples with the malware detection ruleset; and

divide the plurality of malware samples into a plurality of malware sample subsets according to the evaluation policy.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

transmit, to each protection application of the plurality of protection a malware sample subset of the plurality of malware detection subsets.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the evaluation policy includes at least one of: an amount of time to evaluate a malware sample subset, a size of each malware sample subset, and a number of malware sample subsets.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

determine a number of the plurality of partitions to install on the evaluation server such based on the evaluation policy,

wherein the number is determined such that the plurality of installed protection applications evaluate the malware detection ruleset according to the evaluation policy.

20. A system comprising one or more processors processor and one or more memories storing computer program instructions for evaluating a detection ruleset in a networked computer environment, the instructions when executed by one or more processors causing the one or more processors to perform steps including:

installing, on an evaluation server, a plurality of protection applications across a corresponding plurality of partitions of the evaluation server, each protection application configured to apply rules of a detection ruleset to malware samples,

for each protection application, scanning a subset of malware samples of a plurality of malware samples by applying rules of the detection ruleset to the subset of malware samples, and

determining the set of initial evaluation results based on the scans across the plurality of protection applications, the initial evaluation results comprising a plurality of associations between individual malware samples of the plurality of malware samples and rules of the detection ruleset, the associations indicating which rules of the detection ruleset detect which malware samples;

receiving, from the evaluation server, a set of initial evaluation results for a detection ruleset, the evaluation server generating the initial evaluation results by:

transmitting, to a system administrator, the set of initial evaluation results;

receiving, from the system administrator, a curated ruleset comprising a plurality of malware detection rules based on the associations in the initial evaluation results.

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 30, 2021
From: THOMAS, SUNIL MATHEW; MALONE, MICHAEL GRAHAM
To: MALWAREBYTES INC.
Reel/Frame 055773/0821 →
Continuity (4)
Continuation 16680475 · Nov 11, 2019
Continuation 16215256 · Dec 10, 2018
Continuation 15927033 · Mar 20, 2018
Related Publication 20210026963A1 · Jan 28, 2021