IP Library Granted Patent US 9,135,443
Granted Patent B2
US 9,135,443 · App. 12/774,870 · Granted Sep 15, 2015

Identifying malicious threads

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,135,443
App. No.
12/774,870
Granted
Sep 15, 2015
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for identifying and processing malicious threads In one aspect, a method includes identifying a memory heap block; identifying threads that reside in the memory heap block; determining whether at least one of the identified threads in the memory heap block is a malicious thread; and in response to determining that at least one of the identified threads is a malicious thread, terminating each of the identified threads.

Claims (27)

1. A computer-implemented method to terminate a malicious thread, the method executed by a data processing apparatus and comprising:

identifying, in computer memory, a memory heap assigned to a particular computer process, the memory heap comprising a plurality of memory heap blocks;

determining that a particular one of the plurality of memory heap blocks is a malicious memory heap block added by a malicious source to the memory block assigned to the particular computer process;

identifying that one or more threads have a start address that resides within the malicious memory heap block, the one or more threads comprising a subset of a plurality of threads;

performing an analysis on each thread in the subset of threads based on each thread in the subset having a start address within the malicious memory heap block, to determine, for each of the threads in the subset, whether the thread is a malicious thread injected into the particular computer process by malware, the analysis comprising, for each of the threads in the subset, identifying a signature for the thread and comparing the signature for the thread to signatures of known malicious threads, the particular computer process comprising a non-malicious process, and at least one of the subset of threads is a non-malicious thread of the particular computer process; and

terminating threads in the subset of threads determined through the analysis to be malicious, where the at least one non-malicious thread is preserved.

2. The computer-implemented method of claim 1 , wherein identifying threads that reside in the memory heap block comprises identifying threads which have a start address within an address range of the memory heap block.

3. The computer-implemented method of claim 1 , wherein determining whether at least one of the identified threads in the memory heap block is a malicious thread comprises:

analyzing the memory heap block for the presence of malicious threads only in response to determining that at least one of the threads resides in the memory heap block.

4. At least one non-transitory computer storage medium encoded with instructions to terminate a malicious thread, where the instructions, when executed by data processing apparatus, cause the data processing apparatus to:

identify, in memory, a memory heap assigned to a particular computer process, the memory heap to comprise a plurality of memory heap blocks;

determine that a particular one of the plurality of memory heap blocks is a malicious memory heap block added by a malicious source to the memory block assigned to the particular computer process;

identify that one or more threads have a start address that resides within the malicious memory heap block, the one or more threads to comprise a subset of a plurality of threads;

perform an analysis on each thread in the subset of threads based on each thread in the subset having a start address within the malicious memory heap block, to determine, for each of the threads in the subset, whether the thread is a malicious thread injected into the particular computer process by malware, the analysis comprising, for each of the threads in the subset, identifying a signature for the thread and comparing the signature for the thread to signatures of known malicious threads, where the particular computer process is a non-malicious process, and at least one of the subset of threads is a non-malicious thread of the particular computer process; and

terminate threads in the subset of threads determined through the analysis to be malicious, where the at least one non-malicious thread is to be preserved.

5. The computer storage medium of claim 4 , wherein identifying threads that reside in the memory heap block comprises identifying threads which have a start address within an address range of the memory heap block.

6. The computer storage medium of claim 4 , wherein determining whether at least one of the identified threads in the memory heap block is a malicious thread comprises:

analyzing the memory heap block for the presence of malicious threads only in response to determining that at least one of the threads resides in the memory heap block.

7. A system comprising:

at least one data processing apparatus;

at least one computer memory device; and

protection code to terminate a malicious thread, the protection code executable by the at least one data processing apparatus to:

identify, in memory, a memory heap assigned to a particular computer process, the memory heap comprising a plurality of memory heap blocks;

determine that a particular one of the plurality of memory heap blocks is a malicious memory heap block added by a malicious source to the memory block assigned to the particular computer process;

identify that one or more threads have a start address that resides within the malicious memory heap block, the one or more threads comprising a subset of a plurality of threads;

perform an analysis on each thread in the subset of threads based on each thread in the subset having a start address within the malicious memory heap block, to determine, for each of the threads in the subset, whether the thread is a malicious thread injected into the particular computer process by malware, the analysis comprising, for each of the threads in the subset, identifying a signature for the thread and comparing the signature for the thread to signatures of known malicious threads, where the particular computer process is a non-malicious process, and at least one of the subset of threads is a non-malicious thread of the particular computer process; and

terminate threads in the subset of threads determined through the analysis to be malicious, where the at least one non-malicious thread is to be preserved.

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 7, 2010
From: RAMCHETTY, HARINATH VISHWANATH; KAPOOR, ADITYA; GIRI, BABU NATH
To: MCAFEE, INC
Reel/Frame 024350/0184 →