IP Library Granted Patent US 10,645,107
Granted Patent B2
US 10,645,107 · App. 15/872,187 · Granted May 5, 2020

System and method for detecting and classifying malware

Inventors: Abhijit Mohanta (Mayurbhanj, IN); Anoop Wilbur Saldanha (Mangalore, IN)
Assignee: Cyphort Inc.
H04L63/1425G06F9/45504G06F21/566G06N20/00H04L63/0209H04L63/1441
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 10,645,107
App. No.
15/872,187
Granted
May 5, 2020
Kind
B2
Abstract

A network device may include a memory and one or more processors configured to analyze execution of suspicious data; detect one or more states of execution of the suspicious data; determine that the one or more states of execution are to be assigned a priority level; and extract at least a portion of the suspicious data from one or more locations based on determining that the one or more states of execution are to be assigned a priority level.

Claims (50)

1. A device, comprising:

one or more memories; and

one or more processors, communicatively coupled to the one or more memories, to:

analyze execution of suspicious data,

where the suspicious data is packed prior to execution;

detect one or more states of execution of the suspicious data;

determine that the one or more states of execution are to be assigned a priority level; and

extract at least a portion of the suspicious data from one or more locations based on determining that the one or more states of execution are to be assigned a priority level.

2. The device of claim 1 , where the one or more states of execution include an application programming interface call.

3. The device of claim 1 , where the one or more states of execution include a parameter passed to an application programming interface call.

4. The device of claim 1 , where the one or more processors are further to:

assign the priority level.

5. The device of claim 4 , where the one or more processors, when assigning the priority level, are to:

assign the priority level based on at last one previous state of execution of the suspicious data.

6. The device of claim 1 , where the one or more processors are further to:

determine the one or more locations based on the one or more states of execution.

7. The device of claim 1 , where the portion includes less than all of the suspicious data.

8. The device of claim 7 , where the one or more processors, when determining that the priority level is to be assigned, are to:

determine that the priority level is to be assigned based on heuristics.

9. The device of claim 7 , where the one or more processors, when determining that the priority level is to be assigned, are to:

determine that the priority level is to be assigned based on a machine learning technique.

10. The device of claim 1 , where the one or more processors, when analyzing execution of the suspicious data, are to:

analyze execution of the suspicious data in a virtualized environment.

11. A method, comprising:

analyzing, by a device, execution of suspicious data,

where the suspicious data is packed prior to execution;

detecting, by the device, one or more states of execution of the suspicious data;

determining, by the device, that the one or more states of execution are to be assigned a priority level; and

extracting, by the device, at least a portion of the suspicious data from one or more locations based on determining that the one or more states of execution are to be assigned a priority level.

12. The method of claim 11 , where the analyzing is performed in a virtualized environment.

13. The method of claim 11 , where the determination is based on a comparison of execution of the suspicious data in a virtualized environment and in an emulated environment.

14. The method of claim 11 , where the one or more states of execution include at least one of:

an application programming interface call,

a parameter associated with an application programming interface call,

a stateful condition, or

a non-stateful condition.

15. The method of claim 14 , where the determination is based on information identifying priority levels and corresponding states of execution.

16. The method of claim 14 , where the determination is based on at least one string of the suspicious data.

17. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions that, when executed by one or more processors, cause the one or more processors to:

analyze execution of suspicious data,

where the suspicious data is packed prior to execution;

detect one or more states of execution of the suspicious data;

determine that the one or more states of execution are to be assigned a priority level that indicates that a portion of the suspicious data is to be extracted or removed; and

extract or remove the portion of the suspicious data from one or more locations based on determining that the one or more states of execution are to be assigned a priority level.

18. The non-transitory computer-readable medium of claim 17 , where the one or more instructions, that cause the one or more processors to detect the one or more states of execution, cause the one or more processors to:

detect the one or more states of execution based on a string included in the suspicious data.

19. The non-transitory computer-readable medium of claim 17 , where the one or more instructions, that cause the one or more processors to determine that the one or more states of execution are to be assigned the priority level, cause the one or more processors to:

determine that the one or more states of execution are to be assigned the priority level based on an evasive technique in connection with the suspicious data.

20. The non-transitory computer-readable medium of claim 17 , where the suspicious data comprises a malware executable.

Assignments (2)
NUNC PRO TUNC ASSIGNMENT Recorded May 6, 2026
From: CYPHORT INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 075513/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2018
From: MOHANTA, ABHIJIT; SALDANHA, ANOOP WILBUR
To: CYPHORT INC.
Reel/Frame 044627/0437 →
Priority Claims (1)
IN 201711002525 · Jan 23, 2017 · national
Continuity (1)
Related Publication 20180212988A1 · Jul 26, 2018