IP Library Granted Patent US 8,782,615
Granted Patent B2
US 8,782,615 · App. 12/102,512 · Granted Jul 15, 2014

System, method, and computer program product for simulating at least one of a virtual environment and a debugging environment to prevent unwanted code from executing

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 8,782,615
App. No.
12/102,512
Granted
Jul 15, 2014
Kind
B2
Abstract

A system, method, and computer program product are provided for simulating at least one of a virtual environment and a debugging environment to prevent unwanted code from executing. In use, at least one of a virtual environment and a debugging environment is simulated. Additionally, unwanted code is prevented from executing as a result of the simulation.

Claims (28)

1. A non-transitory computer readable medium comprising computer executable instructions stored thereon to cause a processor to:

identify a request to execute an executable file on a computer system, the executable file containing unwanted code that is created to be disabled from executing in at least one of a virtual environment and a debugging environment; and

simulate at least one of the virtual environment and the debugging environment based on the identification, wherein the unwanted code determines not to execute as a result of the simulation,

wherein the simulation comprises one or more innocuous actions to make the computer system appear to the unwanted code to be executing at least one of the virtual environment and the debugging environment when there is no virtual environment or debugging environment active.

2. The non-transitory computer readable medium of claim 1 , wherein the executable instructions to cause the processor to simulate at least one of the virtual environment and the debugging environment comprise instructions to cause the processor to simulate the virtual environment.

3. The non-transitory computer readable medium of claim 1 , wherein the executable instructions to cause the processor to simulate at least one of the virtual environment and the debugging environment comprise instructions to cause the processor to simulate the debugging environment.

4. The non-transitory computer readable medium of claim 1 , wherein the executable instructions to cause the processor to simulate at least one of the virtual environment and the debugging environment comprise instructions to cause the processor to simulate at least one of a file and a folder with a predetermined identifier.

5. The non-transitory computer readable medium of claim 1 , wherein the executable instructions to cause the processor to simulate at least one of the virtual environment and the debugging environment comprise instructions to cause the processor to simulate hardware with a predetermined identifier.

6. The non-transitory computer readable medium of claim 1 , wherein the executable instructions to cause the processor to simulate at least one of the virtual environment and the debugging environment comprise instructions to cause the processor to maintain a predetermined port open.

7. The non-transitory computer readable medium of claim 1 , wherein the executable instructions to cause the processor to simulate at least one of the virtual environment and the debugging environment comprise instructions to cause the processor to simulate an execution of a predetermined process.

8. The non-transitory computer readable medium of claim 1 , wherein the executable instructions to cause the processor to simulate at least one of the virtual environment and the debugging environment comprise instructions to cause the processor to simulate a predetermined central processing unit command.

9. The non-transitory computer readable medium of claim 1 , further comprising executable instructions to cause the processor to determine whether the executable file is protected.

10. The non-transitory computer readable medium of claim 9 , wherein the executable instructions to cause the processor to simulate at least one of the virtual environment and the debugging environment are conditionally disabled based on the determination.

11. The non-transitory computer readable medium of claim 1 , further comprising executable instructions to cause the processor to determine whether the executable file is packed.

12. The non-transitory computer readable medium of claim 11 , wherein the executable instructions to cause the processor to simulate at least one of the virtual environment and the debugging environment are conditionally disabled based on the determination.

13. The non-transitory computer readable medium of claim 1 , further comprising executable instructions to cause the processor to determine whether the executable file is legitimate.

14. The non-transitory computer readable medium of claim 13 , wherein the executable instructions to cause the processor to determine whether the executable file is legitimate comprise instructions to cause the processor to compare an identifier of the executable file against one or more file identifiers listed in a whitelist.

15. The non-transitory computer readable medium of claim 13 , wherein the executable instructions to cause the processor to simulate at least one of the virtual environment and the debugging environment are conditionally disabled based on the determination.

16. A method, comprising:

identifying a request to execute an executable file on a computer system, the executable file containing unwanted code that is created to be disabled from executing in at least one of a virtual environment and a debugging environment; and

simulating at least one of the virtual environment and the debugging environment based on the identification, wherein the unwanted code determines not to execute as a result of the simulation,

wherein, the simulation comprises one or more innocuous actions to make the computer system appear to the unwanted code to be executing at least one of the virtual environment and the debugging environment when there is no virtual environment or debugging environment active.

17. A system, comprising:

a memory; and

a processor operatively coupled to the memory, the processor adapted to execute program code stored in the memory to:

identify a request to execute an executable file on a computer system, the executable file containing unwanted code that is created to be disabled from executing in at least one of a virtual environment and a debugging environment, and

simulate at least one of the virtual environment and the debugging environment based on the identification, wherein the unwanted code determines not to execute as a result of the simulation,

wherein, the simulation comprises one or more innocuous actions to make the computer system appear to the unwanted code to be executing at least one of the virtual environment and the debugging environment when there is no virtual environment or debugging environment active.

Assignments (10)
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 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2008
From: KOLLBERG, DIRK; KUMAR, LOKESH; GUDGION, KEVIN ANDREW
To: MCAFEE, INC.
Reel/Frame 020807/0320 →