IP Library Granted Patent US 8,863,283
Granted Patent B2
US 8,863,283 · App. 13/077,305 · Granted Oct 14, 2014

System and method for securing access to system calls

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,863,283
App. No.
13/077,305
Granted
Oct 14, 2014
Kind
B2
Abstract

In one embodiment, a system for securing access to system calls includes a memory, an operating system configured to execute on an electronic device, and a below-operating-system security agent. The below-operating-system security agent is configured to identify one or more resources associated with a system call for which attempted accesses will be trapped, trap an attempted access of the one or more resources that originates from the operational level of the operating system, access one or more security rules to determine whether the attempted access is authorized, and operate at a level below all of the operating systems of the electronic device accessing the one or more resources associated with a system call.

Claims (67)

1. A system for securing access to system calls, comprising:

a memory;

a first operating system configured to execute on an electronic device, the first operating system included in one or more operating systems on the electronic device;

a below-operating-system security agent configured to:

identify one or more resources associated with a system call for which attempted accesses will be trapped;

trap, at a level below all operating systems of the electronic device, an attempted access of the one or more resources that originates from an operational level of the first operating system;

access one or more security rules to determine, at a level below all operating systems of the electronic device, whether the attempted access is authorized; and

operate at a level below all operating systems of the electronic device;

wherein:

the trapped attempt is an attempted execution of a system call function of the first operating system, the system call function indexed by a system call table;

the below-operating system security agent is further configured to:

determine that the attempted execution of the system call function was made without accessing the indexing of the system call table; and

based upon a determination that the attempted execution of the system call function was made without accessing the indexing of the system call table, deny the attempted execution.

2. The system of claim 1 , wherein the attempted access is an attempt to access a system call table of the first operating system.

3. The system of claim 2 , wherein the attempted access is an attempt to read the system call table of the first operating system.

4. The system of claim 2 , wherein the attempted access is an attempt to write to the system call table of the first operating system.

5. The system of claim 1 , wherein the attempted access is an attempt to execute the system call.

6. The system of claim 1 , wherein the attempted access is an attempt to access an entry in a page table associated with the system call.

7. The system of claim 6 , wherein the attempted access is an attempt to modify access permissions associated with the entry in the page table.

8. The system of claim 1 , wherein the below-operating-system security agent is further configured to report the attempted access to one or more subscribers.

9. The system of claim 1 , wherein the below-operating-system security agent is further configured to determine if the attempted access is indicative of malware.

10. The system of claim 1 , wherein:

the trapped attempted access is an attempted execution of system call function through indexing of the system call table of the first operating system; and

the below-operating system security agent is configured to allow the attempted access based on a determination that the attempted execution of the system call function was made through the indexing of the system call table of the first operating system.

11. The system of claim 1 , wherein the trapped attempted access is an attempted execution of an instruction configured to transfer control to the first operating system for execution of the system call.

12. The system of claim 1 , wherein:

the below-operating-system security agent is further configured to:

determine that the attempted execution of the system call function was made by directly accessing code referenced by the system call table and without accessing the indexing of the system call table of the first operating system; and

based upon a determination of the attempted execution was made by directly accessing code referenced by the system call table and without accessing the indexing of the system call table of the first operating system, deny the attempted execution.

13. A method for securing access to system calls, comprising:

identifying one or more resources associated with a system call for which attempted accesses will be trapped;

trapping an attempted access of the one or more resources that originates from an operational level of a first operating system executing on an electronic device, the first operating system included in one or more operating systems on the electronic device; and

accessing one or more security rules to determine whether the attempted access is authorized;

wherein:

the trapping of the attempted access and determining whether the attempted access is authorized is conducted at a level below all operating systems of the electronic device;

the trapped attempt is an attempted execution of a system call function of the first operating system, the system call function indexed by a system call table;

the method further comprises:

determining that the attempted execution of the system call function was made without accessing the indexing of the system call table; and

based upon a determination that the attempted execution of the system call function was made without accessing the indexing of the system call table, denying the attempted execution.

14. The method of claim 13 , wherein the attempted access is an attempt to access a system call table of the first operating system.

15. The method of claim 14 , wherein the attempted access is an attempt to read the system call table of the first operating system.

16. The method of claim 14 , wherein the attempted access is an attempt to write to the system call table of the first operating system.

17. The method of claim 13 , wherein the attempted access is an attempt to execute the system call.

18. The method of claim 13 , wherein the attempted access is an attempt to access an entry in a page table associated with the system call.

19. The method of claim 18 , wherein the attempted access is an attempt to modify access permissions associated with the entry in the page table.

20. The method of claim 13 , further comprising reporting the attempted access to one or more subscribers.

21. The method of claim 13 , further comprising determining if the attempted access is indicative of malware.

22. An article of manufacture, comprising:

a non-transitory computer readable medium; and

computer-executable instructions carried on the non-transitory computer readable medium, the instructions readable by a processor, the instructions, when read and executed, cause the processor to:

identify one or more resources associated with a system call for which attempted accesses will be trapped;

trap an attempted access of the one or more resources that originates from an operational level of a first operating system executing on an electronic device, the first operating system included in one or more operating systems on the electronic device; and

access one or more security rules to determine whether the attempted access is authorized;

wherein:

the trapped attempt is an attempted execution of a system call function of the first operating system, the system call function indexed by a system call table;

the processor is configured to:

conduct the trapping of the attempted access and determining whether the attempted access is authorized at a level below all operating systems of the electronic device;

determine that the attempted execution of the system call function was made without accessing the indexing of the system call table; and

based upon a determination that the attempted execution of the system call function was made without accessing the indexing of the system call table, deny the attempted execution.

23. The article of claim 22 , wherein the attempted access is an attempt to access a system call table of the first operating system.

24. The article of claim 23 , wherein the attempted access is an attempt to read the system call table of the first operating system.

25. The article of claim 23 , wherein the attempted access is an attempt to write to the system call table of the first operating system.

26. The article of claim 22 , wherein the attempted access is an attempt to execute the system call.

27. The article of claim 22 , wherein the attempted access is an attempt to access an entry in a page table associated with the system call.

28. The article of claim 27 , wherein the attempted access is an attempt to modify access permissions associated with the entry in the page table.

29. The article of claim 22 , wherein the instructions further cause the processor to report the attempted access to one or more subscribers.

30. The article of claim 22 , wherein the instructions further cause the processor to determine if the attempted access is indicative of malware.

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 Mar 31, 2011
From: SALLAM, AHMED SAID
To: MCAFEE, INC.
Reel/Frame 026055/0519 →