IP Library Granted Patent US 9,432,400
Granted Patent B2
US 9,432,400 · App. 14/678,591 · Granted Aug 30, 2016

Method and system for protecting against unknown malicious activities by detecting a heap spray attack on an electronic device

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,432,400
App. No.
14/678,591
Granted
Aug 30, 2016
Kind
B2
Abstract

A method and system for protecting against unknown malicious activities by detecting a heap spray attack on a electronic device are disclosed. A script is received at an electronic device from a remote device via a network and a loop operation is detected in the script that contains a write operation operable to write data to a memory of the electronic device. The amount of the data operable to be written to the memory by the write operation is determined and the data is prevented from being written to the memory if the amount of the data is greater than or equal to a threshold.

Claims (85)

1. A method for detecting malware, comprising:

receiving data at an electronic device from a remote device via a network;

detecting a loop operation in the data that contains a write operation operable to write data to a memory of the electronic device; and

determining an amount of the data to be written to the memory by the write operation; and

based at least on a determination that the amount of the data is greater than or equal to a threshold, identifying the write operation as potential malware and preventing the data from being written to the memory.

2. The method of claim 1 , wherein:

the amount of data includes a size of the data based on one iteration of the loop operation; and

the threshold is between 750 kilobytes (KB) and 1.5 megabytes (MB).

3. The method of claim 1 , wherein:

the amount of data includes an aggregate size of multiple copies of the data based on a total number of iterations of the loop operation; and

the threshold is between 70 megabytes (MB) and 150 MB.

4. The method of claim 1 , wherein:

the amount of data includes a size of the data based on one iteration of the loop operation and an aggregate size of multiple copies of the data based on a total number of iterations of the loop operation; and

the threshold includes a first threshold and a second threshold.

5. The method of claim 1 , further comprising preventing the data from being written to the memory based on determinations that:

the size of the data based on one iteration of the loop operation is greater than or equal to the first threshold; and

the aggregate size of the multiple copies of the data based on the total number of iterations of the loop operation is greater than or equal to the second threshold.

6. The method of claim 1 , wherein the data includes a string including a NOP code and a shellcode.

7. The method of claim 1 , wherein:

the threshold includes a first threshold and a second threshold;

the data of the write operation includes a string to be written to the memory by the write operation during iterations of the loop operation;

determining the amount of the data includes:

determining a size of the string, and;

determining an aggregate size of multiple copies of the string to be written to the memory by the write operation based on a total number of iterations of the loop operation; and

determining that the amount of the data is greater than the threshold includes determining that the size of the string is greater than or equal to the first threshold and that the aggregate size of the multiple copies of the string is greater than or equal to the second threshold.

8. The method of claim 7 , wherein the write operation is detected based upon a string concatenation operation included in the write operation.

9. An apparatus for detecting malware, comprising:

a processor;

a computer readable memory communicatively coupled to the processor; and

a monitor including instructions in the computer readable memory, the processing instructions, when executed by the processor, configure the monitor to:

receive data at an electronic device from a remote device via a network;

detect a loop operation in the data that contains a write operation operable to write data to a memory of the electronic device;

determine an amount of the data to be written to the memory by the write operation;

based at least on a determination that the amount of the data is greater than or equal to a threshold, identify the write operation as potential malware and prevent the data from being written to the memory; and

based at least on a determination that the data is less than the threshold, allow the data to be executed.

10. The apparatus of claim 9 , wherein:

the amount of data includes a size of the data based on one iteration of the loop operation; and

the threshold is between 750 kilobytes (KB) and 1.5 megabytes (MB).

11. The apparatus of claim 9 , wherein:

the amount of data includes an aggregate size of multiple copies of the data based on a total number of iterations of the loop operation; and

the threshold is between 70 megabytes (MB) and 150 MB.

12. The apparatus of claim 9 , wherein:

the amount of data includes a size of the data based on one iteration of the loop operation and an aggregate size of multiple copies of the data based on a total number of iterations of the loop operation; and

the threshold includes a first threshold and a second threshold.

13. The apparatus of claim 12 , wherein the monitor is further configured to prevent the data from being written to the memory based on determinations that:

the size of the data based on one iteration of the loop operation is greater than or equal to the first threshold; and

the aggregate size of the multiple copies of the data based on the total number of iterations of the loop operation is greater than or equal to the second threshold.

14. The apparatus of claim 9 , wherein the data includes a string including a NOP code and a shellcode.

15. The apparatus of claim 9 , wherein:

the threshold includes a first threshold and a second threshold;

the data of the write operation includes a string to be written to the memory by the write operation during iterations of the loop operation;

determining the amount of the data includes:

determining a size of the string; and

determining an aggregate size of multiple copies of the string to be written to the memory by the write operation based on a total number of iterations of the loop operation;

determining that the data is greater than the threshold includes determining that the size of the string is greater than or equal to the first threshold and that the aggregate size of the multiple copies of the string is greater than or equal to the second threshold; and

determining that the data is less than the threshold includes determining that the size of the string is less than the first threshold or the aggregate size of the multiple copies of the string is less than the second threshold.

16. The apparatus of claim 15 , wherein the write operation includes a string concatenation operation.

17. At least one non-transitory computer readable medium storing instructions for detecting malware, the instructions, when executed by a processor, cause the processor to:

receive data at an electronic device from a remote device via a network;

detect a loop operation in the data that contains a write operation operable to write data to a memory of the electronic device;

determine an amount of the data to be written to the memory by the write operation;

based at least on a determination that the amount of the data is greater than or equal to a threshold, identify the write operation as potential malware and prevent the data from being written to the memory; and

based at least on a determination that the data is less than the threshold, allow the data to be executed.

18. The medium of claim 17 , wherein:

the amount of data includes a size of the data based on one iteration of the loop operation; and

the threshold is between 750 kilobytes (KB) and 1.5 megabytes (MB).

19. The medium of claim 17 , wherein:

the amount of data includes an aggregate size of multiple copies of the data based on a total number of iterations of the loop operation; and

the threshold is between 70 megabytes (MB) and 150 MB.

20. The medium of claim 17 , wherein:

the amount of data includes a size of the data based on one iteration of the loop operation and an aggregate size of multiple copies of the data based on a total number of iterations of the loop operation; and

the threshold includes a first threshold and a second threshold.

21. The medium of claim 20 , further comprising instructions for causing the processor to prevent the data from being written to the memory based on determinations that:

the size of the data based on one iteration of the loop operation is greater than or equal to the first threshold; and

the aggregate size of the multiple copies of the data based on the total number of iterations of the loop operation is greater than or equal to the second threshold.

22. The medium of claim 17 , wherein the data includes a string including a NOP code and a shellcode.

23. The medium of claim 17 , wherein:

the threshold includes a first threshold and a second threshold;

the data of the write operation includes a string to be written to the memory by the write operation during iterations of the loop operation;

determining the amount of the data includes:

determining a size of the string; and

determining an aggregate size of multiple copies of the string to be written to the memory by the write operation based on a total number of iterations of the loop operation;

determining that the data is greater than the threshold includes determining that the size of the string is greater than or equal to the first threshold and that the aggregate size of the multiple copies of the string is greater than or equal to the second threshold; and

determining that the data is less than the threshold includes determining that the size of the string is less than the first threshold or the aggregate size of the multiple copies of the string is less than the second threshold.

24. The medium of claim 23 , wherein the write operation includes a string concatenation operation.

Assignments (10)
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: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: NAVARAJ, J. MCENROE SAMUEL; KASHYAP, RAHUL C.
To: MCAFEE, INC.
Reel/Frame 035332/0192 →