IP Library Granted Patent US 8,429,744
Granted Patent B1
US 8,429,744 · App. 12/968,486 · Granted Apr 23, 2013

Systems and methods for detecting malformed arguments in a function by hooking a generic object

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,429,744
App. No.
12/968,486
Granted
Apr 23, 2013
Kind
B1
Abstract

A computer-implemented method to detect malformed arguments in a function by hooking a generic object, is described. A predetermined argument to monitor is identified. An activity associated with a calling of a function to produce a called out function is detected. The called out function is mapped to a class identification of an object. An argument in the called out function is compared with the predetermined argument. When a match exists, a virtual method table identification is recorded for the called out function. The match between the argument in the called out function and the predetermined argument is reported.

Claims (41)

1. A computer-implemented method to detect malformed arguments in a function by hooking a generic object, comprising:

identifying, by a processor, a predetermined argument to monitor;

detecting, by the processor, an activity associated with a calling of a function to produce a called out function, the called out function comprising an invoke function;

mapping, by the processor, the called out function to a class identification of an object that called the function;

determining, by the processor, that the class identification of the object corresponds to an interface that created the object;

upon determining that the class identification of the object corresponds to the interface that created the object, comparing, by the processor, an argument in the called out function with the predetermined argument;

when a match exists, recording, by the processor, a virtual method table identification for the called out function;

reporting, by the processor, the match between the argument in the called out function and the predetermined argument; and

reporting an identity of the object and the called out function.

2. The method of claim 1 , wherein the predetermined argument includes a no-operation performed (NOP) sled.

3. The method of claim 1 , wherein the predetermined argument includes shellcode.

4. The method of claim 1 , wherein the called out function comprises a JavaScript function.

5. The method of claim 4 , wherein the JavaScript function comprises at least one of the following functions: Unescape, Eval, CharCodeAt, Split, or Char.

6. The method of claim 1 , wherein the object that called the function comprises an IDispatch interface.

7. A computing device configured to detect malformed arguments in a function by hooking a generic object, comprising:

a processor;

memory in electronic communication with the processor; and

instructions stored in the memory, the instructions being executable by the processor to:

identify a predetermined argument to monitor;

detect an activity associated with a calling of a function to produce a called out function, the called out function comprising an invoke function;

map the called out function to a class identification of an object that called the function;

determine that the class identification of the object corresponds to an interface that created the object;

upon determining that the class identification of the object corresponds to the interface that created the object, compare an argument in the called out function with the predetermined argument;

when a match exists, record a virtual method table identification for the called out function;

report the match between the argument in the called out function and the predetermined argument; and

report an identity of the object and the called out function.

8. The computing device of claim 7 , wherein the predetermined argument includes a no-operation performed (NOP) sled.

9. The computing device of claim 7 , wherein the predetermined argument includes shellcode.

10. The computing device of claim 7 , wherein the called out function comprises a JavaScript function.

11. The computing device of claim 10 , wherein the JavaScript function comprises at least one of the following functions: Unescape, Eval, CharCodeAt, Split, or Char.

12. The computing device of claim 7 , wherein the object that called the function comprises an IDispatch interface.

13. A computer-program product for detecting malformed arguments in a function by hooking a generic object, the computer-program product comprising a non-transitory computer-readable medium having instructions thereon, the instructions being executable by a processor to:

identify a predetermined argument to monitor;

detect an activity associated with a calling of a function to produce a called out function, the called out function comprising an invoke function;

map the called out function to a class identification of an object that called the function;

determine that the class identification of the object corresponds to an interface that created the object;

upon determining that the class identification of the object corresponds to the interface that created the object, compare an argument in the called out function with the predetermined argument;

when a match exists, record a virtual method table identification for the called out function;

report the match between the argument in the called out function and the predetermined argument; and

report an identity of the object and the called out function.

14. The computer-program product of claim 13 , wherein the predetermined argument includes a no-operation performed (NOP) sled.

Assignments (4)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Jan 30, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 051759/0845 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →