IP Library Granted Patent US 10,284,585
Granted Patent B1
US 10,284,585 · App. 15/279,142 · Granted May 7, 2019

Tree rotation in random classification forests to improve efficacy

Inventors: Mark Kennedy (Gardena, CA); Andrew B. Gardner (Roswell, GA)
Assignee: Symantec Corporation
H04L63/1425G06F16/214G06F16/2246
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,284,585
App. No.
15/279,142
Granted
May 7, 2019
Kind
B1
Abstract

Methods and apparatus for optimizing computer detection of malware using pattern recognition by refreshing random classification forests are described. In one embodiment, one or more selected trees of a random forest on a computing system may be replaced by one or more new trees. As new categorized data becomes available, one or more new trees may be generated using the new categorized data. Once the one or more new trees are available, the performance of the one or more new trees may be compared to the performance of the trees in the current random forest. Based on this comparison, one or more trees of the random forest may be selected to be replaced by one or more of the new trees.

Claims (56)

1. A method of optimizing computer detection of malware using pattern recognition by refreshing random classification forests, comprising:

building, by a server, a first random forest based at least in part on a first set of categorized data, the first random forest comprising N trees;

generating, by the server, an independent tree based at least in part on a second set of categorized data;

generating, by the server, a second random forest, the second random forest comprising the independent tree and N−1 trees from the first random forest;

determining a first receiver operating characteristic of the first random forest and a second receiver operating characteristic of the second random forest;

comparing, by the server, the first receiver operating characteristic of the first random forest to the second receiver operating characteristic of the second random forest; and

sending, by the server, the independent tree to a client device based at least in part on the comparing indicating the second random forest outperforms the first random forest.

2. The method of claim 1 , comprising:

sending, by the server, the first random forest to the client device before generating the second random forest, each tree of the first and second random forests comprising N binary decision trees each with one or more leaf nodes.

3. The method of claim 1 , comprising:

determining the first receiver operating characteristic of the first random forest based on running at least a first random subset of the second set of categorized data down the first random forest.

4. The method of claim 3 , comprising:

determining the second receiver operating characteristic of the second random forest based on running at least a second random subset of the second set of categorized data down the second random forest.

5. The method of claim 4 , comprising:

comparing the first receiver operating characteristics of the first random forest to the second receiver operating characteristics of the second random forest.

6. The method of claim 1 , comprising:

sending, by the server, the independent tree to the client device.

7. The method of claim 6 , comprising:

instructing, by the server, the client device to remove a selected tree from the first random forest on the client device.

8. The method of claim 7 , comprising:

instructing, by the server, the client device to implement the independent tree in the first random forest on the client device in place of the selected tree removed from the first random forest.

9. The method of claim 1 , comprising:

identifying, by the server, the first set of categorized data comprising a first set of known malware files and a first set of known clean files; and

identifying, by the server, the second set of categorized data comprising a second set of known malware files and a second set of known clean files, the second set of categorized data being different from the first set of categorized data.

10. A computing device configured for optimizing computer detection of malware using pattern recognition by refreshing random classification forests, comprising:

a processor;

memory in electronic communication with the processor;

instructions stored in the memory, the instructions being executable by the processor to:

build a first random forest based at least in part on a first set of categorized data, the first random forest comprising N trees;

generate an independent tree based at least in part on a second set of categorized data;

generate a second random forest, the second random forest comprising the independent tree and N−1 trees from the first random forest;

determine a first receiver operating characteristic of the first random forest and a second receiver operating characteristic of the second random forest;

compare the first receiver operating characteristic of the first random forest to the second receiver operating characteristic of the second random forest; and

send the independent tree to a client device based at least in part on the comparing indicating the second random forest outperforms the first random forest.

11. The computing device of claim 10 , wherein the instructions are executable by the processor to:

send, by the server, the first random forest to the client device before generating the second random forest, each tree of the first and second random forests comprising N binary decision trees each with one or more leaf nodes.

12. The computing device of claim 10 , wherein the instructions are executable by the processor to:

determine the first receiver operating characteristic of the first random forest based on running at least a first random subset of the second set of categorized data down the first random forest.

13. The computing device of claim 12 , wherein the instructions are executable by the processor to:

determine the second receiver operating characteristic of the second random forest based on running at least a second random subset of the second set of categorized data down the second random forest.

14. The computing device of claim 13 , wherein the instructions are executable by the processor to:

compare the first receiver operating characteristics of the first random forest to the second receiver operating characteristics of the second random forest.

15. The computing device of claim 10 , wherein the instructions are executable by the processor to:

sending, by the server, the independent tree to the client device; and

instruct, by the server, the client device to remove a selected tree from the first random forest on the client device.

16. The computing device of claim 15 , wherein the instructions are executable by the processor to:

instruct, by the server, the client device to implement the independent tree in the first random forest on the client device in place of the selected tree removed from the first random forest.

17. A computer-program product for optimizing computer detection of malware using pattern recognition by refreshing random classification forests, the computer-program product comprising a non-transitory computer-readable medium storing instructions thereon, the instructions being executable by a processor to:

build a first random forest based at least in part on a first set of categorized data, the first random forest comprising N trees;

generate an independent tree based at least in part on a second set of categorized data;

generate a second random forest, the second random forest comprising the independent tree and N−1 trees from the first random forest;

determine a first receiver operating characteristic of the first random forest and a second receiver operating characteristic of the second random forest;

compare the first receiver operating characteristic of the first random forest to the second receiver operating characteristic of the second random forest; and

send the independent tree to a client device based at least in part on the comparing indicating the second random forest outperforms the first random forest.

18. The method of claim 1 , comprising:

detecting malware, by the server, based at least in part on sending the independent tree to the client device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2016
From: KENNEDY, MARK; GARDNER, ANDREW B.
To: SYMANTEC CORPORATION
Reel/Frame 039880/0631 →
Continuity (1)
Continuation 15193653 · Jun 27, 2016
Cited By (1)
US 12,657,290