IP Library Granted Patent US 10,726,129
Granted Patent B2
US 10,726,129 · App. 16/388,509 · Granted Jul 28, 2020

Persistence probing to detect malware

Inventors: Craig Schmugar (Hillsboro, OR); John Teddy (Beaverton, OR); Cedric Cochin (Portland, OR)
Assignee: McAfee, LLC
G06F21/566G06F21/568G06F21/575G06F2221/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 10,726,129
App. No.
16/388,509
Granted
Jul 28, 2020
Kind
B2
Abstract

A technique for detecting malware looks at startup hooks that may be created by malware to assist in ensuring that the malware is started upon a reboot of a programmable device. After enumerating startup hooks in the system, startup hooks associated with untrusted executables are deleted. If the startup hook is restored, that is an indication that the untrusted executable may be malware. An indication may then be passed to an anti-malware software to analyze the executable further.

Claims (52)

1. A server computer system comprising:

at least one processor; and

memory including instructions that, when executed, cause the at least one processor to at least:

evaluate a target executable associated with a startup item for a programmable device to identify the target executable in at least one of a whitelist or a blacklist;

when the target executable is not identified in the whitelist, determine whether the startup item has been processed to evaluate a reputation associated with the target executable;

when the startup item has not been processed, process the reputation associated with the target executable, the reputation determined by:

removing the startup item associated with the target executable from the programmable device;

determining whether the startup item is restored to the programmable device within a time period after the removal;

when the startup item is determined to be restored to the programmable device within the time period, setting the reputation of the target executable to a negative reputation; and

when the startup item is determined to not be restored within the time period, setting the reputation of the target executable to a positive reputation;

when the reputation of the target executable is a positive reputation, update the whitelist to include the target executable;

when the reputation of the target executable is a negative reputation, update the blacklist to include the target executable; and

provide the whitelist and the blacklist to the programmable device.

2. The system of claim 1 , wherein the target executable is a first target executable, and wherein, when a second target executable is not on the whitelist or the blacklist, the at least one processor is to trigger the programmable device to evaluate the reputation associated with the second target executable.

3. The system of claim 1 , wherein the at least one processor is to backup the startup item.

4. The system of claim 3 , wherein the at least one processor is to restore the startup item from the backup.

5. The system of claim 1 , wherein the at least one processor is to facilitate configuration of the time period.

6. The system of claim 1 , wherein the at least one processor is to, when the target executable is on the blacklist, trigger anti-malware software to process the target executable.

7. The system of claim 1 , wherein the at least one processor is to trigger a reboot of the programmable device associating the reputation with the target executable.

8. At least one storage device or storage disk comprising instructions which, when executed, cause at least one processor to at least:

evaluate a target executable associated with a startup item for a programmable device to identify the target executable in at least one of a whitelist or a blacklist, the whitelist to allow execution of the target executable and the blacklist to prevent execution of the target executable;

when the target executable is not identified in the whitelist, determine whether the startup item has been processed to evaluate a reputation associated with the target executable;

when the startup item has not been processed, process the reputation associated with the target executable, the reputation determined by:

removing the startup item associated with the target executable from the programmable device;

determining whether the startup item is restored to the programmable device within a time period after the removal;

when the startup item is determined to be restored to the programmable device within the time period, setting the reputation of the target executable to a negative reputation; and

when the startup item is determined to not be restored within the time period, setting the reputation of the target executable to a positive reputation;

when the reputation of the target executable is a positive reputation, update the whitelist to include the target executable;

when the reputation of the target executable is a negative reputation, update the blacklist to include the target executable; and

provide the whitelist and the blacklist to the programmable device.

9. The at least one storage device or storage disk of claim 8 , wherein the target executable is a first target executable, and wherein, when a second target executable is not on the whitelist or the blacklist, the instructions, when executed, cause the at least one processor to trigger the programmable device to evaluate the reputation associated with the second target executable.

10. The at least one storage device or storage disk of claim 8 , wherein the instructions, when executed, cause the at least one processor to backup the startup item.

11. The at least one storage device or storage disk of claim 10 , wherein the instructions, when executed, cause the at least one processor to restore the startup item from the backup.

12. The at least one storage device or storage disk of claim 8 , wherein the instructions, when executed, facilitate configuration of the time period.

13. The at least one storage device or storage disk of claim 8 , wherein the instructions, when executed, cause the at least one processor to, when the target executable is on the blacklist, trigger anti-malware software to process the target executable.

14. The at least one storage device or storage disk of claim 8 , wherein the instructions, when executed, trigger a reboot of the programmable device associating the reputation with the target executable.

15. A method comprising:

evaluate a target executable associated with a startup item for a programmable device to identify the target executable in at least one of a whitelist or a blacklist, the whitelist to allow execution of the target executable and the blacklist to prevent execution of the target executable;

when the target executable is not identified in the whitelist, determine whether the startup item has been processed to evaluate a reputation associated with the target executable;

when the startup item has not been processed, processing, by executing an instruction using at least one processor, the reputation associated with the target executable, the reputation determined by:

removing the startup item associated with the target executable from the programmable device;

determining whether the startup item is restored to the programmable device within a time period after the removal;

when the startup item is determined to be restored to the programmable device within the time period, setting the reputation of the target executable to a negative reputation; and

when the startup item is determined to not be restored within the time period, setting the reputation of the target executable to a positive reputation;

when the reputation of the target executable is a positive reputation, updating, by executing an instruction using the at least one processor, the whitelist to include the target executable;

when the reputation of the target executable is a negative reputation, updating, by executing an instruction using the at least one processor, the blacklist to include the target executable; and

providing, by executing an instruction using the at least one processor, the whitelist and the blacklist to the programmable device.

16. The method of claim 15 , wherein the target executable is a first target executable, and wherein, when a second target executable is not on the whitelist or the blacklist, the method further includes triggering the programmable device to evaluate the reputation associated with the second target executable.

17. The method of claim 15 , further including backing up the startup item.

18. The method of claim 17 , further including restoring the startup item from the backup.

19. The method of claim 15 , further including facilitating configuration of the time period.

20. The method of claim 15 , further including, when the target executable is on the blacklist, triggering anti-malware software to process the target executable.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2019
From: SCHMUGAR, CRAIG; TEDDY, JOHN; COCHIN, CEDRIC
To: MCAFEE, INC.
Reel/Frame 049065/0775 →
CHANGE OF NAME Recorded May 2, 2019
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 049077/0973 →
Continuity (2)
Continuation 15391387 · Dec 27, 2016
Related Publication 20190243975A1 · Aug 8, 2019