IP Library Granted Patent US 7,930,744
Granted Patent B2
US 7,930,744 · App. 12/166,341 · Granted Apr 19, 2011

Methods for hooking applications to monitor and prevent execution of security-sensitive operations

Assignee: Check Point Software Technologies Ltd.
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 7,930,744
App. No.
12/166,341
Granted
Apr 19, 2011
Kind
B2
Abstract

The present invention discloses methods and media for hooking applications to monitor and prevent execution of security-sensitive operations, the method including the steps of: reading at least one configuration parameter list from a configuration module; hooking, by a hooking engine, a hooking point in an application, wherein the hooking point is defined in the configuration module; calling, by the application, the hooking point during operation of the application; matching at least one hooking parameter in the hooking point to at least one configuration parameter in at least one configuration parameter list; and upon detecting a match between the hooking parameter and at least one configuration parameter, performing at least one configuration-defined action. Preferably, the method further includes the step of: updating a state of the hooking engine. Preferably, the hooking engine is operative to prevent malicious operations by obfuscated code.

Claims (34)

1. A method for hooking applications to monitor and prevent execution of security-sensitive operations, the method comprising the steps of:

(a) reading at least one configuration parameter list from a configuration module;

(b) hooking, by a processor of a host system, a hooking point in an application, wherein said hooking point is defined in said configuration module;

(c) calling, by said application, said hooking point during operation of said application;

(d) matching, by said processor, at least one hooking parameter in said hooking point to at least one configuration parameter, that includes a signature, in said at least one configuration parameter list; and

(e) upon detecting a match between said hooking parameter and at least one configuration parameter, performing, by said processor, at least one configuration-defined action.

2. The method of claim 1 , wherein said at least one configuration parameter list is at least one list selected from the group consisting of: a context list and a signature list.

3. The method of claim 2 , wherein said matching of said at least one hooking parameter, includes matching to at least one other configuration parameter, that includes a context, wherein said context is used to define at least one part of at least one function argument to be matched.

4. The method of claim 3 , wherein said match is based on said context.

5. The method of claim 1 , wherein said signature is selected from the a group consisting of: a simple string, a regular expression, an interpreted-language code snippet, a compiled code, a standard-format signature.

6. The method of claim 1 , wherein said at least one configuration-defined action is an action selected from the group consisting of: aborting said application, prompting a user, logging an event, bypassing a function associated with said hooking point, and consulting a database for instructions.

7. The method of claim 1 , the method further comprising the step of:

(f) updating a state of said hooking engine.

8. The method of claim 1 , wherein said hooking engine is operative to prevent malicious operations by obfuscated code.

9. A computer-readable storage medium having computer-readable code embodied therein for hooking applications to monitor and prevent execution of security-sensitive operations, the computer-readable code comprising:

(a) program code for reading at least one configuration parameter list in a configuration module;

(b) program code for hooking, by a hooking engine, a hooking point in an application, wherein said hooking point is defined in said configuration module;

(c) program code for calling, by said application, said hooking point during operation of said application;

(d) program code for matching at least one hooking parameter in said hooking point to at least one configuration parameter, that includes a signature, in said at least one configuration parameter list; and

(e) program code for, upon detecting a match between said hooking parameter and at least one configuration parameter, performing at least one configuration-defined action.

10. The storage medium of claim 9 , wherein said at least one configuration parameter list is at least one list selected from the group consisting of: a context list and a signature list.

11. The storage medium of claim 10 , wherein said matching of said at least one hooking parameter, includes matching to at least one other configuration parameter, that includes a context, wherein said context is used to define at least one part of at least one function argument to be matched.

12. The storage medium of claim 11 , wherein said match is based on said context.

13. The storage medium of claim 9 , wherein said signature is selected from the a group consisting of: a simple string, a regular expression, an interpreted-language code snippet, a compiled code, a standard-format signature.

14. The storage medium of claim 9 , wherein said at least one configuration-defined action is an action selected from the group consisting of: aborting said application, prompting a user, logging an event, bypassing a function associated with said hooking point, and consulting a database for instructions.

15. The storage medium of claim 9 , the computer-readable code further comprising:

(f) program code for updating a state of said hooking engine.

16. The storage medium of claim 9 , wherein said hooking engine is operative to prevent malicious operations by obfuscated code.

17. A method for hooking applications to monitor and prevent execution of security-sensitive operations, the method comprising the steps of

(a) reading at least one configuration parameter list from a configuration module;

(b) hooking, by a processor of a host system, a hooking point in an application, wherein said hooking point is defined in said configuration module;

(c) calling, by said application, said hooking point during operation of said application;

(d) matching, by said processor, at least one hooking parameter in said hooking point to at least one configuration parameter, that includes a context, in said at least one configuration parameter list; wherein said context is used to define at least one part of at least one function argument to be matched; and

(e) upon detecting a match between said hooking parameter and at least one configuration parameter, performing, by said processor, at least one configuration-defined action.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2008
From: TELLER, TOMER; NAHOUM, IDAN; ZEGMAN, TAMIR
To: CHECK POINT SOFTWARE TECHNOLOGIES LTD.
Reel/Frame 021181/0538 →
Continuity (1)
Related Publication 20100005528A1 · Jan 7, 2010