IP Library Granted Patent US 10,339,303
Granted Patent B2
US 10,339,303 · App. 14/780,536 · Granted Jul 2, 2019

Detection of malicious invocation of application program interface 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 10,339,303
App. No.
14/780,536
Granted
Jul 2, 2019
Kind
B2
Abstract

Particular embodiments described herein provide for an electronic device that includes a binder kernel driver. The binder kernel driver can be configured to receive an application program interface (API) call, extract metadata from the API call, determine that the API call should be hooked based on the extracted metadata, and hook the API call.

Claims (45)

1. At least one non-transitory computer-readable medium comprising one or more instructions that when executed by at least one processor, cause the processor to:

receive, by a kernel driver executed by the at least one processor, an application program interface (API) call, wherein the kernel driver is included within a kernel space;

extract, with the kernel driver, metadata from the API call;

determine, with the kernel driver, that the API call should be hooked based on the extracted metadata;

hook, with the kernel driver, the API call;

communicate the API call and the extracted metadata to a security module, wherein the security module determines if the API call should be allowed or denied; and

allow the API call if a response from the security module is not received after a predetermined amount of time has passed from when the API call and the extracted metadata was communicated to the security module.

2. The at least one nom-transitory computer-readable medium of claim 1 , wherein the kernel driver is a binder kernel driver.

3. The at least one non-transitory computer-readable medium of claim 2 , wherein an interceptor in the kernel driver intercepts the API call.

4. The at least one non-transitory computer-readable medium of claim 2 , wherein a policy manager inside the kernel driver determines that the API call should be hooked based on the extracted metadata.

5. The at least one non-transitory computer-readable medium of claim 2 , wherein the extracted metadata is compared to a security policy to determine that the API call should be hooked.

6. The at least one nom-transitory computer-readable medium of claim 5 , wherein the security policy is located in the kernel driver.

7. An apparatus comprising:

a hardware processor configured to execute a kernel driver, wherein the kernel driver is configured to:

receive an application program interface (API) call, wherein the kernel driver is included within a kernel space;

extract metadata from the API call;

determine that the API call should be hooked based on the extracted metadata;

hook the API call;

communicate the API call and the extracted metadata to a security module, wherein the security module determines if the API call should be allowed or denied; and

allow the API call if a response from the security module is not received after a predetermined amount of time has passed from when the API call and the extracted metadata was communicated to the security module.

8. The apparatus of claim 7 , wherein the kernel driver is a binder kernel driver.

9. The apparatus of claim 8 , wherein an interceptor in the kernel driver intercepts the API call.

10. The apparatus of claim 8 , wherein a policy manager inside the kernel driver determines that the API call should be hooked based on the extracted metadata.

11. The apparatus of claim 8 , wherein the extracted metadata is compared to a security policy to determine that the API call should be hooked.

12. The apparatus of claim 11 , wherein the security policy is located in the kernel driver.

13. A method comprising:

receiving an application program interface (API) call at a kernel driver, wherein the kernel driver is included within a kernel space;

extracting metadata from the API call with the kernel driver;

determining, with the kernel driver, that the API call should be hooked based on the extracted metadata;

hooking, with the kernel driver, the API call;

communicate the API call and the extracted metadata to a security module, wherein the security module determines if the API call should be allowed or denied; and

allow the API call if a response from the security module is not received after a predetermined amount of time has passed from when the API call and the extracted metadata was communicated to the security module.

14. The method of claim 13 , wherein the kernel driver is a binder kernel driver.

15. The method of claim 14 , wherein an interceptor in the kernel driver intercepts the API call.

16. The method of claim 14 , wherein a policy manager inside the kernel driver determines that the API call should be hooked based on the extracted metadata.

17. The method of claim 14 , wherein the extracted metadata is compared to a security policy in the kernel driver to determine that the API call should be hooked.

18. A system for detecting and mitigating malicious invocation of sensitive code, the system comprising:

a hardware processor configured to execute a binder kernel driver, wherein the binder kernel driver is configured to:

receive an application program interface (API) call, wherein the binder kernel driver is included within a kernel space;

extract metadata from the API call;

determine that the API call should be hooked based on the extracted metadata;

hook the API call;

communicate the API call and the extracted metadata to a security module, wherein the security module determines if the API call should be allowed or denied; and

allow the API call if a response from the security module is not received after a predetermined amount of time has passed from when the API call and the extracted metadata was communicated to the security module.

19. The system of claim 18 , wherein a policy manager inside the binder kernel driver compares the extracted metadata to a security policy in the binder kernel driver and determines that the API call should be hooked based on the extracted metadata.

Assignments (9)
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 →