IP Library Granted Patent US 10,467,409
Granted Patent B2
US 10,467,409 · App. 14/581,528 · Granted Nov 5, 2019

Identification of malicious execution of a process

Inventor: Greg W. Dalcher (Tigard, OR)
Assignee: McAfee, LLC
G06F21/566G06F2221/033
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,467,409
App. No.
14/581,528
Granted
Nov 5, 2019
Kind
B2
Abstract

Particular embodiments described herein provide for an electronic device that can be configured to intercept a process, store execution profiling for the process if the process involves a privileged resource or a privileged operation, and analyze the code involved in each stack frame to determine malicious activity. If the process does not involve a privileged resource or a privileged operation, then the process is not analyzed.

Claims (60)

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

intercept a process;

determine that the process involves a privileged resource or a privileged operation;

store execution profiling for the process;

analyze code involved in each stack frame for the process to determine malicious activity and whether the process involves a privileged resource or a privileged operation, wherein each stack frame is analyzed as it unwinds;

determine an origin of the code involved in each stack frame;

determine whether the code involved in each stack frame is trusted, wherein the code is not trusted if the code resides in memory that is writeable or if the code resides in memory that is part of the stack frame;

persist data between sessions based on a determination that the code is trusted, wherein persisting data between sessions includes persisting at least a portion of the data in a protected region of memory; and

trigger a security violation based on a determination that the code is not trusted.

2. The at least one computer-readable medium of claim 1 , further comprising one or more instructions that, when executed by at least one processor, further cause the at least one processor to:

determine if the code involved for the process is signed by a trusted source.

3. The at least one computer-readable medium of claim 1 , further comprising one or more instructions that, when executed by at least one processor, further cause the at least one processor to:

determine if the code matches a hash of a trusted executable processes.

4. The at least one computer-readable medium of claim 1 , further comprising one or more instructions that, when executed by at least one processor, further cause the at least one processor to:

determine if an in memory image of the process matches an on disk image of the process.

5. The at least one computer-readable medium of claim 1 , further comprising one or more instructions that, when executed by at least one processor, further cause the at least one processor to:

compare behavioral events with in memory behavioral events to determine that the process shows evidence of tampering.

6. An apparatus comprising:

memory;

a hardware processor configured to:

intercept a process;

determine that the process involves a privileged resource or a privileged operation;

store execution profiling for the process;

analyze code involved in each stack frame for the process to determine malicious activity and whether the process involves a privileged resource or a privileged operation, wherein each stack frame is analyzed as it unwinds;

determine an origin of the code involved in each stack frame;

determine whether the code involved in each stack frame is trusted, wherein the code is not trusted if the code resides in memory that is writeable or if the code resides in memory that is part of the stack frame;

persist data between sessions based on the determination that the code is trusted, wherein persisting data between sessions includes persisting at least a portion of the data in a protected region of memory; and

trigger a security violation based on a determination that the code is not trusted.

7. The apparatus of claim 6 , wherein the processor is further configured to:

determine if the code involved for the process is signed by a trusted source.

8. The apparatus of claim 6 , wherein the processor is further configured to:

determine if the process matches a hash of a trusted executable processes.

9. The apparatus of claim 6 , wherein the processor is further configured to:

determine if an in memory image of the process matches an on disk image of the process.

10. The apparatus of claim 6 , wherein the processor is further configured to:

compare behavioral events with in memory behavioral events to determine if the process shows evidence of tampering.

11. A method comprising:

intercepting a process;

determining that the process involves a privileged resource or a privileged operation;

storing execution profiling for the process in memory;

analyzing, using a hardware processor, code involved in each stack frame for the process to determine malicious activity and whether the process involves a privileged resource or a privileged operation, wherein each stack frame is analyzed as it unwinds;

determining an origin of the code involved in each stack frame;

determining whether the code involved in each stack frame is trusted, wherein the code is not trusted if the code resides in memory that is writeable or if the code resides in memory that is part of the stack frame;

persisting data between sessions based on the determination that the code is trusted, wherein persisting data between sessions includes persisting at least a portion of the data in a protected region of memory; and

triggering a security violation based on the determination that the code is not trusted.

12. The method of claim 11 , further comprising:

determining if the process is signed by a trusted source.

13. The method of claim 11 , further comprising:

determining if the process matches a hash of a trusted executable processes.

14. A system for identification of malicious execution of a process, the system comprising:

memory;

a hardware processor configured for:

intercepting a process;

determining that the process involves a privileged resource or a privileged operation;

storing execution profiling for the process;

analyzing code involved in each stack frame for the process to determine malicious activity and whether the process involves a privileged resource or a privileged operation, wherein each stack frame is examined as it unwinds;

determining an origin of the code involved in each stack frame;

determining whether the code involved in each stack frame is trusted, wherein the code is not trusted if the code resides in memory that is writeable or if the code resides in memory that is part of the stack frame;

persisting data between sessions based on a determination that the code is trusted, wherein persisting data between sessions includes persisting at least a portion of the data in a protected region of memory; and

triggering a security violation based on a determination that the code is not trusted.

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 Feb 6, 2015
From: DALCHER, GREG W.
To: MCAFEE, INC.
Reel/Frame 034909/0015 →
Continuity (1)
Related Publication 20160180089A1 · Jun 23, 2016