IP Library Granted Patent US 8,984,637
Granted Patent B2
US 8,984,637 · App. 12/653,604 · Granted Mar 17, 2015

Method and apparatus for detecting shellcode insertion

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,984,637
App. No.
12/653,604
Granted
Mar 17, 2015
Kind
B2
Abstract

A method of detecting malware present on a computer system where the computer system is running an application. The method includes redirecting a function call, made by the application to a decoding function that performs decoding of an argument provided to it by an application, to a scanning function. The scanning function is then employed to scan an argument of the function call for suspect code or data. In the event that suspect code or data is detected, the function call is inhibited, otherwise program control is returned to the called decoding function.

Claims (24)

1. A method of detecting malware present on a computer system where the computer system is running an application, the method comprising:

redirecting a function call, made by the application to a decoding function that performs decoding of an argument provided to it by an application, to a scanning function;

employing the scanning function to scan an argument of the function call for suspect code or data; and

in the event that suspect code or data is detected, inhibiting the function call, otherwise returning program control to the called decoding function.

2. A method according to claim 1 , wherein said decoding function is a function that performs decoding of percent-encoded data.

3. A method according to claim 2 , wherein said decoding function is a JavaScript Unescape function.

4. A method according to claim 1 , wherein said application is a web browser.

5. A method according to claim 1 , wherein said step of redirecting the function call to a scanning function is achieved by previously modifying said decoding function code to include a jump or call instruction pointing to said scanning function.

6. A computer system comprising:

a first processor for redirecting a call, made by the application to a decoding function that performs decoding of an argument provided to it by an application, to a scanning function;

a second processor for employing the scanning function to scan an argument of the function call for suspect code or data; and

a third processor for inhibiting the function call in the event that suspect code or data is detected, and for otherwise returning program control to the called decoding function.

7. A computer system according to claim 6 , wherein said decoding function is a function that performs decoding of percent-encoded data.

8. A computer system according to claim 7 , wherein said decoding function is a JavaScript Unescape function.

9. A computer system according to claim 6 , wherein said application is a web browser.

10. A computer system according to claim 6 , wherein said redirecting the function call to a scanning function is achieved by previously modifying said decoding function code to include a jump or call instruction pointing to said scanning function.

11. A non-transitory computer readable memory storing a computer program which when executed by at least one processor causes a computer system to:

redirect a function call, made by an application to a decoding function that performs decoding of an argument provided to it by an application, to a scanning function;

employ the scanning function to scan an argument of the function call for suspect code or data; and

in the event that suspect code or data is detected, inhibit the function call, otherwise return program control to the called decoding function.

12. A non-transitory computer readable memory storing a computer program according to claim 11 , wherein said decoding function is a function that performs decoding of percent-encoded data.

13. A non-transitory computer readable memory storing a computer program according to claim 12 , wherein said decoding function is a JavaScript Unescape function.

14. A non-transitory computer readable memory storing a computer program according to claim 11 , wherein said application is a web browser.

15. A non-transitory computer readable memory storing a computer program according to claim 11 , wherein said redirecting the function call to a scanning function is achieved by previously modifying said decoding function code to include a jump or call instruction pointing to said scanning function.

Assignments (3)
PATENT SECURITY AGREEMENT Recorded Nov 19, 2024
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 069392/0613 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2024
From: WITHSECURE CORPORATION (FKA F-SECURE CORPORATION)
To: RPX CORPORATION
Reel/Frame 068837/0899 →
CHANGE OF NAME Recorded Jun 7, 2022
From: WITHSECURE CORPORATION (A/K/A WITHSECURE OYJ)
To: WITHSECURE CORPORATION (A/K/A WITHSECURE OYJ)
Reel/Frame 060302/0554 →