IP Library Granted Patent US 9,530,001
Granted Patent B2
US 9,530,001 · App. 14/715,241 · Granted Dec 27, 2016

System and method for below-operating system trapping and securing loading of code into memory

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 9,530,001
App. No.
14/715,241
Granted
Dec 27, 2016
Kind
B2
Abstract

A system for protecting an electronic device against malware includes a memory, an operating system configured to execute on the electronic device, and a below-operating-system security agent. The below-operating-system security agent is configured to trap an attempted access of a resource of the electronic device, access one or more security rules to determine whether the attempted access is indicative of malware, and operate at a level below all of the operating systems of the electronic device accessing the memory. The attempted access includes attempting to write instructions to the memory and attempting to execute the instructions.

Claims (61)

1. A system for electronic security, comprising:

a memory;

a security agent configured to:

identify an attempted access of a resource of an electronic device, the attempted access comprising:

attempting to write instructions to the memory;

attempting to execute the instructions; and

attempting to access a memory page data structure entry for software;

determine that the malware status of the software is unknown; trap the attempted access based upon identifications of the attempt to write instructions to the memory, attempt to execute the instructions, the attempt to access the memory page data structure entry for the software, and upon a determination that the malware status of the software is unknown; and

access one or more security rules to determine whether the attempted access is indicative of malware.

2. The system of claim 1 , wherein:

the system includes one or more operating systems configured to execute on the electronic device; and

the security agent is configured to operate at a higher priority than the operating systems of the electronic device.

3. The system of claim 1 , wherein:

the security agent is further configured to identify the attempted access based on an attempt to allocate portions of the memory with enabled write permissions; and

the security agent is configured to trap the attempted access further based upon an identification of the attempt to allocate portions of the memory with enabled write permissions.

4. The system of claim 1 , wherein trapping the attempted access comprises further configuring the security agent to trap an attempt to change permissions of the memory in which instructions were written based upon an identification of the memory in which instructions were written.

5. The system of claim 1 , wherein determining whether the attempted access is indicative of malware comprises configuring the security agent to scan the instructions written to memory.

6. The system of claim 1 , wherein trapping the attempted access comprises further configuring the security agent to trap an attempted access of a portion of the memory containing an unallocated virtual page of kernel space.

7. The system of claim 1 , wherein:

the security agent is further configured to identify the attempted access based on an attempted access of a portion of the memory containing an empty virtual page allocated by an operating system; and

the security agent is configured to trap the attempted access further based upon an identification of the attempted access of a portion of the memory containing an empty virtual page allocated by the operating system.

8. The system of claim 1 , wherein trapping the attempted access comprises further configuring the security agent to:

compare contents of a first memory page written to disk during a swap file write to the contents of a second memory page after a swap file read, the swap file read and swap file write corresponding to the same location identified by an operating system.

9. The system of claim 1 , wherein the security agent is configured to trap the attempted access by:

allowing the attempted writing of instructions; and

halting the attempted execution of the instructions subsequent to allowing the attempted writing of instructions.

10. An article of manufacture, comprising:

a computer readable medium; and

computer-executable instructions carried on the computer readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to:

identify an attempted access of a resource of an electronic device, the attempted access comprising:

attempting to write instructions to a memory of the electronic device, the memory comprising the resource;

attempting to execute the instructions;

attempting to access a memory page data structure entry for software;

determine that the malware status of the software is unknown;

trap the attempted access based upon identifications of the attempt to write instructions to the memory, the attempt to execute the instructions, the attempt to access the memory page data structure entry for the software, and upon a determination that the malware status of the software is unknown; and access one or more security rules to determine whether the attempted access is indicative of malware.

11. The article of claim 10 , wherein:

identifying the attempted access comprises identifying an attempt to allocate portions of the memory with enabled write permissions; and

trapping the attempted access is further based upon an identification of the attempt to allocate portions of the memory with enabled write permissions.

12. The article of claim 10 , wherein trapping the attempted access comprises trapping an attempt to change permissions of the memory in which instructions were written based upon an identification of the memory in which instructions were written.

13. The article of claim 10 , wherein determining whether the attempted access is indicative of malware comprises scanning the instructions written to memory.

14. The article of claim 10 , wherein determining whether the attempted access is indicative of malware comprises determining the identity of an entity which made the attempted access.

15. The article of claim 10 , wherein trapping the attempted access comprises trapping an attempted access of a portion of the memory containing an unallocated virtual page of kernel space.

16. The article of claim 10 , wherein:

identifying the attempted access comprises identifying an attempted access of a portion of the memory containing an empty virtual page allocated by an operating system; and

trapping the attempted access is further based upon an identification of the attempted access of a portion of the memory containing an empty virtual page allocated by the operating system.

17. The article of claim 10 , wherein trapping the attempted access comprises:

comparing contents of a first memory page written to disk during a swap file write to the contents of a second memory page after a swap file read, the swap file read and swap file write corresponding to the same location identified by an operating system.

18. The article of claim 10 , wherein trapping the attempted access includes:

allow the attempted writing of instructions; and

halt the attempted execution of the instructions subsequent to allowing the attempted writing of instructions.

19. A method for protecting an electronic device against malware, comprising:

identifying an attempted access of a resource of an electronic device, the attempted access comprising:

attempting to write instructions to a memory of the electronic device, the memory comprising the resource;

attempting to execute the instructions; and

attempting to access a memory page data structure entry for software;

determine that the malware status of the software is unknown;

trap the attempted access based upon identifications of the attempt to write instructions to the memory, the attempt to execute the instructions, the attempt to access the memory page data structure entry for the software, and upon a determination that the malware status of the software is unknown; and

access one or more security rules to determine whether the attempted access is indicative of malware.

20. The method of claim 19 , wherein trapping the attempted access includes:

allowing the attempted writing of instructions; and

halting the attempted execution of the instructions subsequent to allowing the attempted writing of instructions.

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: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
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 May 18, 2015
From: SALLAM, AHMED SAID
To: MCAFEE, INC.
Reel/Frame 035662/0644 →