IP Library Granted Patent US 9,195,823
Granted Patent B1
US 9,195,823 · App. 14/153,607 · Granted Nov 24, 2015

System and method for intercepting process creation events

Inventors: Alessandro Binotto (Kanata, CA); Anton Gostev (St. Petersburg, RU); Ivan Sergeevich Andreyev (St. Petersburg, RU); Agafonov Artyom (St. Petersburg, RU)
Assignee: Dell Software Inc.
G06F21/54G06F9/54
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,195,823
App. No.
14/153,607
Granted
Nov 24, 2015
Kind
B1
Abstract

A system for detecting creation of a program instance includes an interceptor routine that obtains a parameter corresponding to a characteristic of a program instance and an interceptor module that can be injected into a native operating system process. In certain examples, the interceptor module can replace an address of a selected routine in an address table with an address to the interceptor routine, such that the native operating system process can call the interceptor routine in place of the selected routine. Additionally, the system can include a comparison module that compares the parameter to a set of identified programs to determine whether the program instance corresponds to at least one of the identified programs. The system can also include a security module that can modify execution of the program instance based at least in part on a determination that the program instance corresponds to at least one identified program.

Claims (55)

1. A computer-implemented method of detecting creation of processes, the method comprising:

injecting an interceptor module into a native operating system process;

replacing, with the interceptor module, an address of a selected routine in an address table with an address to an interceptor routine of the interceptor module such that the native operating system process is configured to call the interceptor routine in place of the selected routine during a creation of a second process;

obtaining at least one parameter from the native operating system process using the interceptor routine, wherein the at least one parameter corresponds to at least one characteristic of the second process;

analyzing the at least one parameter to determine whether the second process corresponds to a program of interest;

controlling the second process in response to determining that the second process corresponds to the program of interest;

saving the at least one parameter;

causing the second process to terminate;

creating a third process having the at least one parameter;

wherein the step of obtaining at least one parameter further comprises obtaining a name of the second process; and

wherein the second process is a browser process and wherein the controlling the second process comprises reducing functionality of the browser process.

2. The method of claim 1 , wherein the native operating system process is a Client/Server Runtime Subsystem Service (csrss.exe) process in a Microsoft Windows® operating system.

3. The method of claim 1 , wherein the native operating system process is a Local Security Authority Subsystem Service (lsass.exe) process in a Microsoft Windows® operating system.

4. The method of claim 1 , wherein controlling the second process comprises creating a security token for the second process.

5. The method of claim 4 , wherein creating the security token for the second process comprises providing administrator access rights to the security token.

6. The method of claim 1 , wherein the address table is an import table of a software library configured to be linked into the native operating system process.

7. The method of claim 1 , wherein obtaining the at least one parameter comprises reading at least one routine parameter passed into the interceptor routine.

8. The method of claim 1 , wherein analyzing at least one parameter comprises comparing the name of the second process to a whitelist of program names of a plurality of programs of interest.

9. The method of claim 1 , wherein the interceptor module analyzes the at least one parameter.

10. The method of claim 1 , wherein the interceptor module controls the second process.

11. The method of claim 1 , further comprising receiving policies from a management server remote to a computing device comprising the native operating system process and the interceptor module, the policies providing rules for controlling the second process.

12. A system for detecting creation of a program instance, the system comprising:

a processor;

an interceptor routine configured to obtain at least one parameter corresponding to at least one characteristic of a program instance;

an interceptor module configured to be injected into a native operating system process, the interceptor module further configured to replace an address of a selected routine in an address table with an address to the interceptor routine, such that the native operating system process calls the interceptor routine in place of the selected routine during creation of the program instance;

a comparison module configured to compare the at least one parameter to a set of identified programs to determine whether the program instance corresponds to at least one of the identified programs;

a security module configured to modify execution of the program instance based at least in part on a determination that the program instance corresponds to at least one identified program;

wherein the at least one parameter obtained by the interceptor routine comprises a name of the program instance; and

wherein the interceptor module, the comparison module, and the security module are implemented by a computer system comprising computer hardware; and

wherein the program instance is a browser process and wherein the security module controls the browser process by reducing functionality of the browser process.

13. The system of claim 12 , wherein the native operating system process is a Client/Server Runtime Subsystem Service (csrss.exe) process in a Microsoft Windows® operating system.

14. The system of claim 12 , wherein the native operating system process is a Local Security Authority Subsystem Service (lsass.exe) process in a Microsoft Windows® operating system.

15. The system of claim 12 , wherein the security module comprises the comparison module.

16. The system of claim 12 , wherein the interceptor module comprises the comparison module.

17. The system of claim 12 , wherein the security module is further configured to inject the interceptor module into the native operating system process.

18. The system of claim 12 , wherein the security module is further configured to create a security token for the program instance in response to determining that the program instance corresponds to at least one identified program.

19. The system of claim 12 , wherein the security module is further configured to analyze the information about the program instance by comparing at least a portion of the at least one parameter to a list of program names.

20. The system of claim 12 , wherein the interceptor module is further configured to:

store the address of the selected routine; and

restore the address of the selected routine to the address table upon completion of the interceptor routine.

21. The system of claim 12 , further comprising a management server in network communication with a computing device executing the native operating system process, the management server further comprising policies providing rules for modify execution of the program instance.

22. The system of claim 21 , wherein the security module is further configured to receive the policies from the management server.

23. A system for detecting process creation events, the system comprising:

means for obtaining at least one parameter from a native operating system process, wherein the at least one parameter corresponds to at least one characteristic of a second process;

means for replacing an address of a selected routine in an address table with an address to the means for obtaining such that the native operating system process calls the

means for obtaining in place of the selected routine during a creation of the second process;

means for injecting said means for replacing into the native operating system process;

means for analyzing the at least one parameter to determine whether the second process corresponds to a predetermined program; and

means for controlling the second process in response to determining that the second process corresponds to the predetermined program;

means for saving the at least one parameter;

means for causing the second process to terminate;

means for creating a third process having the at least one parameter;

wherein means for obtaining at least one parameter from a native operating system process further comprises obtaining a name of the second process; and

wherein the second process is a browser process and wherein the means for controlling the second process comprises reducing functionality of the browser process.

24. The system of claim 23 , wherein the means for controlling the second process creates a security token for the second process.

Assignments (27)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF REEL 032810 FRAME 0206 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0204 →
RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040045/0255 →
RELEASE OF REEL 032809 FRAME 0887 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040017/0314 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032810/0206 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032809/0930 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032809/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2014
From: BINOTTO, ALESSANDRO; GOSTEV, ANTON; ANDREYEV, IVAN SERGEEVICH; ARTYOM, AGAFONOV
To: QUEST SOFTWARE, INC.
Reel/Frame 032076/0867 →
CHANGE OF NAME Recorded Jan 29, 2014
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 032134/0855 →
Continuity (3)
Continuation 13406305 · Feb 27, 2012
Continuation 11947695 · Nov 29, 2007
Provisional Application 60872034 · Nov 30, 2006