IP Library Granted Patent US 11,797,677
Granted Patent B2
US 11,797,677 · App. 17/584,152 · Granted Oct 24, 2023

Cloud based just in time memory analysis for malware detection

Inventors: Aleksandr Dubrovsky (Los Altos, CA); Soumyadipta Das (Bangalor, IN); Senthilkumar Gopinathan Cheetancheri (Fremont, CA)
Assignee: SonicWALL Inc.
G06F21/566G06F21/53G06F21/561
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 11,797,677
App. No.
17/584,152
Granted
Oct 24, 2023
Kind
B2
Abstract

Methods and apparatus consistent with the present disclosure may be performed by a Cloud computing device may use instrumentation code that remains transparent to an application program that the instrumentation code has been injected into, may perform deep packet inspection (DPI) on computer data, or identify a content rating associated with computer data. In certain instances, data sets that include executable code may be received via packetized communications or be received via other means, such as, receiving a file from a data store. The present technique allows one or more processors executing instrumentation code to monitor actions performed by the program code included in a received data set. Malware can be detected using exception handling to track memory allocations of the program code included in the received data set. Furthermore, access to content associated with malware, potential malware, or with inappropriate content ratings may be blocked.

Claims (47)

1. A method for performing analysis in a cloud computing environment, the method comprising:

accessing received computer data including program code instructions executable by a processor;

injecting instructions associated with instrumentation code into the accessed computer data, wherein operation of the instrumentation code is transparent to the program code instructions and the operation of the instrumentation code identifies memory accesses performed by execution of the program code instructions;

identifying a suspicious behavior associated with the memory accesses based on identifying that information included in the received computer data is de-obfuscated, wherein a rule is associated with the suspicious behavior of the de-obfuscation of the information included in the received computer data;

initiating operation of a first set of exception handling program code to label the program code as non-executable based on the suspicious behavior identification;

sending a message to a computing device based on the suspicious behavior identification, wherein a remaining portion of the computer data accessed is blocked from being sent to a second computing device based on the message being received by the computing device;

allowing further execution of the program code according to the rule after the initiation of the first set of exception handling program code based on the rule indicating that further analysis should be performed to identify a pattern of operation associated with a set of malware; and

identifying that the received computer data does not include malware based on the further analysis identifying that a pattern of operations of the program code matches the pattern of operation of the set of malware.

2. The method of claim 1 , further comprising identifying that the de-obfuscation of the information is based on a decryption operation being performed.

3. The method of claim 2 , further comprising identifying that the decryption operation is acceptable based on the decryption operation being performed in an expected manner.

4. The method of claim 3 , further comprising identifying that the further analysis should be performed based on the identification of the decryption operation being performed.

5. The method of claim 1 , further comprising identifying that data included in the information has been re-ordered, wherein the identification that the information included in the received computer data is de-obfuscated is based on the identification of the re-ordering of the data.

6. The method of claim 2 , further comprising identifying that at least a portion of data included in the de-obfuscated information is moved to a portion of memory.

7. The method of claim 1 , further comprising:

identifying that a portion of memory has been allocated; and

identifying that at least a portion of data included in the de-obfuscated information is written to the allocated portion of the memory.

8. A non-transitory computer-readable storage medium having embodied thereon a program executable by a processor for implementing a method for performing analysis in a cloud computing environment, the method comprising:

accessing received computer data including program code instructions executable by a processor;

injecting instructions associated with instrumentation code into the accessed computer data, wherein operation of the instrumentation code is transparent to the program code instructions and the operation of the instrumentation code identifies memory accesses performed by execution of the program code instructions;

identifying a suspicious behavior associated with the memory accesses based on identifying that information included in the received computer data is de-obfuscated, wherein a rule is associated with the suspicious behavior of the de-obfuscation of the information included in the received computer data;

initiating operation of a first set of exception handling program code to label the program code as non-executable based on the suspicious behavior identification;

sending a message to a computing device based on the suspicious behavior identification, wherein a remaining portion of the computer data accessed is blocked from being sent to a second computing device based on the message being received by the computing device;

allowing further execution of the program code according to the rule after the initiation of the first set of exception handling program code based on the rule indicating that further analysis should be performed to identify a pattern of operation associated with a set of malware; and

identifying that the received computer data does not include malware based on the further analysis identifying that a pattern of operations of the program code matches the pattern of operation of the set of malware.

9. The non-transitory computer-readable storage medium of claim 8 , the program further executable to identify that the de-obfuscation of the information is based on a decryption operation being performed.

10. The non-transitory computer-readable storage medium of claim 9 , the program further executable to identify that the decryption operation is acceptable based on the decryption operation being performed in an expected manner.

11. The non-transitory computer-readable storage medium of claim 9 , the program further executable to identify that the further analysis should be performed based on the identification of the decryption operation being performed.

12. The non-transitory computer-readable storage medium of claim 8 , the program further executable to identify that data included in the information has been re-ordered, wherein the identification that the information included in the received computer data is de-obfuscated is based on the identification of the re-ordering of the data.

13. The non-transitory computer-readable storage medium of claim 8 the program further executable to identify that at least a portion of data included in the de-obfuscated information is moved to a portion of memory.

14. The non-transitory computer-readable storage medium of claim 8 , the program further executable to:

identify that a portion of memory has been allocated; and

identify that at least a portion of data included in the de-obfuscated information is written to the allocated portion of the memory.

15. An apparatus for performing analysis in a cloud computing environment, the apparatus comprising:

a memory; and

a processor that executes instructions out of the memory to:

access received computer data including program code instructions executable by a processor,

inject instructions associated with instrumentation code into the accessed computer data, wherein operation of the instrumentation code is transparent to the program code instructions and the operation of the instrumentation code identifies memory accesses performed by execution of the program code instructions,

identify a suspicious behavior associated with the memory accesses based on identifying that information included in the received computer data is de-obfuscated, wherein a rule is associated with the suspicious behavior of the de-obfuscation of the information included in the received computer data,

initiate operation of a first set of exception handling program code to label the program code as non-executable based on the suspicious behavior identification,

prepare a message to be sent to a computing device based on the suspicious behavior identification, wherein the message is sent to the computing device and a remaining portion of the computer data accessed is blocked from being sent to a second computing device based on the message being received by the computing device,

allow further execution of the program code according to the rule after the initiation of the first set of exception handling program code based on the rule indicating that further analysis should be performed to identify a pattern of operation associated with a set of malware, and

identify that the received computer data does not include malware based on the further analysis identifying that a pattern of operations of the program code matches the pattern of operation of the set of malware.

16. The apparatus of claim 15 , wherein the de-obfuscation of the information is identified based on a decryption operation being performed.

17. The apparatus of claim 16 , wherein the decryption operation identified as being acceptable is based on the decryption operation being performed in an expected manner.

18. The apparatus of claim 17 , wherein an identification that that the further analysis should be performed based on the identification of the decryption operation being performed.

19. The apparatus of claim 15 , wherein the processor executes the instructions out of the memory to identify that data included in the information has been re-ordered, and the identification that the information included in the received computer data is de-obfuscated is based on the identification of the re-ordering of the data.

20. The apparatus of claim 15 , wherein the processor executes the instructions to identify that at least a portion of data included in the de-obfuscated information is moved to a portion of the memory.

Assignments (2)
FIRST LIEN IP SUPPLEMENT Recorded Jun 30, 2025
From: SONICWALL INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 071758/0159 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2023
From: DUBROVSKY, ALEKSANDR; DAS, SOUMYADIPTA; CHEETANCHERI, SENTHILKUMAR GOPINATHAN
To: SONICWALL INC.
Reel/Frame 064825/0592 →
Continuity (3)
Continuation 16055958 · Aug 6, 2018
Provisional Application 62671293 · May 14, 2018
Related Publication 20220222343A1 · Jul 14, 2022
Cited By (3)
US 12,639,438 US 12,647,433 US 12,717,914