IP Library Granted Patent US 7,349,931
Granted Patent B2
US 7,349,931 · App. 11/105,978 · Granted Mar 25, 2008

System and method for scanning obfuscated files for pestware

Assignee: Webroot Software, Inc.
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 7,349,931
App. No.
11/105,978
Granted
Mar 25, 2008
Kind
B2
Abstract

Systems and methods for managing multiple related pestware processes on a protected computer are described. In one implementation, a plurality of files in a file storage device of a protected computer are scanned and obfuscated files are identified from among the plurality of files. To identify whether the obfuscated file is a pestware file, one or more potential pestware processes are identified as being associated with the obfuscated file, and the one or more associated process are scanned so as to determine whether the processes, and hence, the obfuscated file, are pestware. In variations, the obfuscated file is analyzed to identify the start address of the associated one or more processes, and the start address is utilized as a reference point from which information located at one or more offsets from the start address is analyzed so as to determine whether the one or more processes are known pestware.

Claims (43)

1. A method for scanning files on a protected computer for pestware comprising:

scanning a plurality of files in at least one file storage device of the protected computer;

identifying an obfuscated file from among the plurality of files in the at least one file storage device, wherein one or more potential pestware processes running in memory are associated with the obfuscated file;

analyzing the obfuscated file so as to identify, from among a plurality of processes running in the memory, the one or more potential pestware processes running in memory that are associated with the obfuscated file;

retrieving information from at least one of the one or more potential pestware processes running in memory; and

analyzing the information from the at least one of the one or more potential pestware processes running in memory so as to determine whether the one or more potential pestware processes running in memory is pestware,

wherein the analyzing the obfuscated file includes running the obfuscated file in a simulation mode and scanning through the obfuscated file while it is being run in the simulation mode so as to obtain a start address of the one or more potential pestware processes running in memory that are associated with the obfuscated file, and

wherein the analyzing the obfuscated file includes identifying a start address of the one or more potential pestware processes by identifying one or more contextual jumps in the obfuscated file as it is being run in the simulation mode.

2. The method of claim 1 , wherein the identifying includes identifying the obfuscated file as an encrypted file.

3. The method of claim 1 , wherein the identifying includes identifying the obfuscated file as a compressed file.

4. The method of claim 1 , wherein the retrieving includes retrieving the information at a predefined offset from a start address of the one of the one or more potential pestware processes running in memory.

5. The method of claim 4 , wherein the retrieving includes retrieving op code at the predefined offset from the start address of the one of the one or more potential pestware processes running in memory, and wherein the analyzing includes comparing the op code with op code substantially unique to known pestware.

6. The method of claim 1 , wherein, upon identifying the contextual jump, patching the contextual jump with the location of a function used to call the obfuscated file in the simulation mode.

7. A system for managing pestware comprising:

a pestware removal module configured to remove pestware on a protected computer, the protected computer including at least one file storage device and a program memory; and

a pestware detection module configured to:

scan a plurality of files in at least one file storage device of the protected computer;

identify an obfuscated file from among the plurality of files in the at least one file storage device, wherein one or more potential pestware processes running in memory are associated with the obfuscated file;

analyze the obfuscated file so as to identify, from among a plurality of processes running in the memory, the one or more potential pestware processes running in memory that are associated with the obfuscated file;

retrieve information from at least one of the one or more potential pestware processes running in memory; and

analyze the information from the at least one of the one or more potential pestware processes running in memory so as to determine whether the one or more potential pestware processes running in memory is pestware,

wherein the pestware detection module is configured to identify a start address of the one or more potential pestware processes running in memory that are associated with the obfuscated file, and

wherein the pestware detection module is configured to identify the start address by locating a contextual lump in the obfuscated file.

8. The system of claim 7 , wherein the pestware detection module is configured to identify the obfuscated file as an encrypted file.

9. The system of claim 7 , wherein the pestware detection module is configured to identify the obfuscated file as a compressed file.

10. The system of claim 7 , wherein the pestware detection module is configured to retrieve the information at a predefined offset from a start address of the at least one of the one or more potential pestware processes running in memory.

11. The system of claim 10 , wherein the pestware detection module is configured to retrieve op code at the predefined offset from the start address of the at least one of the one or more potential pestware processes running in memory, and wherein the pestware detection module is configured to compare the op code with op code substantially unique to known pestware.

12. The system of claim 7 , wherein the pestware detection module is configured to analyze the obfuscated file by:

executing the obfuscated file in a simulation mode;

scanning the obfuscated file as it is being run in simulation mode so as to identify a portable executable header, an original entry point in the portable executable header and the at least one contextual jump; and

obtaining, utilizing the original entry point, a reference address;

wherein one or more start addresses for one or more potential pestware processes are identified by utilizing the at least one contextual jump and the reference address.

13. A computer readable medium encoded with instructions for scanning files on a protected computer for pestware, the instructions including instructions for:

scanning a plurality of files in at least one file storage device of the protected computer;

identifying an obfuscated file from among the plurality of files in the at least one file storage device, wherein one or more potential pestware processes running in memory are associated with the obfuscated file;

analyzing the obfuscated file so as to identify, from among a plurality of processes running in the memory, the one or more potential pestware processes running in memory that are associated with the obfuscated file;

retrieving information from at least one of the one or more potential pestware processes running in memory; and

analyzing the information from the at least one of the one or more potential pestware processes running in memory so as to determine whether the one or more potential pestware processes running in memory is pestware,

wherein the analyzing the obfuscated file includes running the obfuscated file in a simulation mode and scanning through the obfuscated file while it is being run in the simulation mode so as to obtain a start address of the one or more potential pestware processes running in memory that are associated with the obfuscated file, and

wherein the analyzing the obfuscated file includes identifying a start address of the one or more potential pestware processes by identifying one or more contextual jumps in the obfuscated file as it is being run in the simulation mode.

14. The computer readable medium of claim 13 , wherein the instructions for identifying the obfuscated file include instructions selected from the group consisting of instructions for identifying an encrypted file and instructions for identifying a compressed file.

15. The computer readable medium of claim 13 , wherein the instructions for analyzing include instructions for identifying a start address of the one or more potential pestware processes running in memory that are associated with the obfuscated file.

16. The computer readable medium of claim 13 , wherein the instructions for analyzing include instructions for identifying a specific API implementation, and instructions for retrieving executable code from one or more offsets in the memory from the specific API implementation.

Assignments (9)
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Jul 6, 2023
From: CARBONITE, LLC
To: OPEN TEXT INC.
Reel/Frame 064351/0178 →
CERTIFICATE OF CONVERSION Recorded Jun 29, 2023
From: WEBROOT INC.
To: WEBROOT LLC
Reel/Frame 064176/0622 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2023
From: WEBROOT LLC
To: CARBONITE, LLC
Reel/Frame 064167/0129 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RECORDED AT R/F 048723/0612 Recorded Dec 26, 2019
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: WEBROOT INC.
Reel/Frame 051418/0714 →
SECURITY INTEREST Recorded Mar 28, 2019
From: WEBROOT INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 048723/0612 →
RELEASE OF SECURITY INTEREST Recorded Mar 22, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: WEBROOT INC.
Reel/Frame 050454/0102 →
SECURITY INTEREST Recorded Jan 6, 2015
From: WEBROOT INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 034742/0085 →
CHANGE OF NAME Recorded Jan 30, 2013
From: WEBROOT SOFTWARE, INC.
To: WEBROOT INC.
Reel/Frame 029725/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2005
From: HORNE, JEFFERSON DELK
To: WEBROOT SOFTWARE, INC.
Reel/Frame 016481/0767 →
Continuity (1)
Related Publication 20060236397A1 · Oct 19, 2006