IP Library Granted Patent US 8,099,740
Granted Patent B1
US 8,099,740 · App. 11/840,770 · Granted Jan 17, 2012

System, method, and computer program product for terminating a hidden kernel process

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,099,740
App. No.
11/840,770
Granted
Jan 17, 2012
Kind
B1
Abstract

A system, method, and computer program product are provided for terminating a hidden kernel process. In use, a hidden kernel process structure associated with a hidden kernel process is identified. In addition, the hidden kernel process structure is inserted into an active process list. Further, the hidden kernel process is terminated.

Claims (28)

1. A method, comprising:

identifying a hidden kernel process structure associated with a hidden kernel process, which is hidden from a process enumeration of an operating system;

inserting the hidden kernel process structure into an active process list such that the hidden kernel process structure is provided to the process enumeration of the operating system, wherein the inserting includes modifying the hidden kernel process structure to point to a pointer of the active process list, and wherein the inserting includes synchronizing a plurality of memory operations in order to preserve state during the inserting of the hidden kernel process structure; and

terminating the hidden kernel process.

2. The method of claim 1 , wherein the hidden kernel process includes a process of a rootkit.

3. The method of claim 1 , wherein the hidden kernel process structure includes a kernel process structure removed from the active process list.

4. The method of claim 1 , wherein the hidden kernel process structure includes a hidden EPROCESS structure.

5. The method of claim 1 , wherein the hidden kernel process structure includes information utilized for managing the hidden kernel process.

6. The method of claim 1 , wherein the hidden kernel process structure is inserted into the active process list by modifying pointers.

7. The method of claim 1 , wherein the active process list includes a double linked list.

8. The method of claim 1 , where inserting the hidden kernel process structure into the active process list further comprises pointing a forward link of an active process links structure of the hidden kernel process structure to a pointer.

9. The method of claim 8 , wherein the pointer represents the active process list.

10. The method of claim 1 , wherein inserting the hidden kernel process structure into the active process list further comprises pointing a backward link of an active process links structure of the hidden kernel process structure to a last kernel process structure in the active process list.

11. The method of claim 10 , wherein the last kernel process structure in the active process list is pointed to by a backward link of a pointer representing the active process list.

12. The method of claim 1 , wherein inserting the hidden kernel process structure into the active process list further comprises concurrently pointing a backward link of a pointer representing the active process list to a forward link of an active process links structure of the hidden kernel process structure, and pointing a forward link of an active process links structure of a current last kernel process structure to the active process links structure of the hidden kernel process.

13. The method of claim 1 , wherein the memory operations include pointing a backward link of a pointer representing the active process list to a forward link of an active process links structure of the hidden kernel process structure.

14. The method of claim 1 , wherein the memory operations include pointing a forward link of an active process links structure of a current last kernel process structure to an active process links structure of the hidden kernel process.

15. The method of claim 1 , wherein terminating the hidden kernel process includes removing the inserted hidden kernel process structure from the active process list.

16. A computer program product embodied on a non-transitory computer readable medium, comprising:

computer code for identifying a hidden kernel process structure associated with a hidden kernel process, which is hidden from a process enumeration of an operating system;

computer code for inserting the hidden kernel process structure into an active process list such that the hidden kernel process structure is provided to the process enumeration of the operating system, wherein the inserting includes modifying the hidden kernel process structure to point to a pointer of the active process list, and wherein the inserting includes synchronizing a plurality of memory operations in order to preserve state during the inserting of the hidden kernel process structure; and

computer code for terminating the hidden kernel process.

17. A system, comprising:

a processor; and

a memory coupled to the processor, wherein the system is configured for:

identifying a hidden kernel process structure associated with a hidden kernel process, which is hidden from a process enumeration of an operating system;

inserting the hidden kernel process structure into an active process list such that the hidden kernel process structure is provided to the process enumeration of the operating system, wherein the inserting includes modifying the hidden kernel process structure to point to a pointer of the active process list, and wherein the inserting includes synchronizing a plurality of memory operations in order to preserve state during the inserting of the hidden kernel process structure; and

terminating the hidden kernel process.

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 →