IP Library Granted Patent US 11,381,578
Granted Patent B1
US 11,381,578 · App. 14/481,801 · Granted Jul 5, 2022

Network-based binary file extraction and analysis for malware detection

Inventors: Jayaraman Manni (San Jose, CA); Ashar Aziz (Coral Gables, FL); Fengmin Gong (Livermore, CA); Upendran Loganathan (Santa Clara, CA); Muhammad Amin (Fremont, CA)
Assignee: FireEye Security Holdings US LLC
H04L63/14
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,381,578
App. No.
14/481,801
Granted
Jul 5, 2022
Kind
B1
Abstract

A system and method are disclosed for network-based file analysis for malware detection. Network content is received from a network tap. A binary packet is identified in the network content. A binary file, including the binary packet, is extracted from the network content. It is determined whether the extracted binary file is detected to be malware.

Claims (41)

1. A method for detecting malware as performed by a detection system, the method comprising:

detecting a binary file within content received over a network, the binary file includes executable content;

extracting the binary file from the received content;

determining whether the binary file includes malicious content by comparing the binary file to information contained in a storage element including stored, known malware binary files, and upon classifying the binary file as malicious content based on a comparison of the binary file to a malware binary file of the known malware binary files, conducting operations to minimize impact on the system by the binary file by at least (i) initiating blocking of a transfer of the received content including the binary file, (ii) isolating the binary file from portions of the received content, or (iii) removing the binary file; and

responsive to failing to classify the binary file as malicious content based on a prior determination that information associated with the binary fails to compare to information contained in the storage element including the stored, known malware binary files,

executing the executable content of the binary file using a virtual environment component that performs operations of a software component, the software component comprises either (i) an application or (ii) an operating system,

identifying the executable content of the binary file as malicious content based on identifying one or more behaviors produced by the virtual environment component during execution of the executable content of the binary file by at least examining the one or more behaviors of the virtual environment component against one or more expected behaviors, and

responsive to detecting malicious content, conducting operations to minimize impact of the malicious content by at least (i) initiating blocking of communications including the binary file or (ii) removing the binary file from the communications.

2. The method of claim 1 , wherein the expected behaviors are determined from a plurality of behavior patterns that are stored locally within the detection system or remotely from the detection system, a first behavior pattern of the plurality of behavior patterns representing that a request transmitted over a network is directed to a proxy address specified by a browser application of the virtual environment component.

3. The method of claim 1 , wherein the expected behaviors are determined from a plurality of behavior patterns that are stored locally within the detection system or remotely from the detection system and the examining of the one or more behaviors of the executable content against the expected behaviors comprises determining whether a difference is detected between the one or more behaviors produced by the virtual environment component during execution of the executable content of the binary file and a behavior pattern of the plurality of behavior patterns associated with the virtual environment component, the behavior pattern of the plurality of behavior patterns representing one or more parameters of an operating system that should not be altered.

4. The method of claim 3 , wherein the examining of the one or more behaviors of the virtual environment component against the expected behaviors comprises

determining whether a difference is detected between the one or more behaviors produced by the virtual environment component during execution of the executable content of the binary file and a behavior pattern of the expected behaviors, the difference identifying the executable content of the binary file as malicious content when the one or more behaviors correspond to the behavior pattern that represents that no changes in a particular operating system setting is to be performed by the executable content being executed by the virtual environment component operating as the software component and the one or more behaviors identify that a change in the particular operating system setting is attempted by the virtual environment component.

5. The method of claim 1 , wherein the examining of the one or more behaviors of the virtual environment component against the expected behaviors comprises

determining whether a difference is detected between the one or more behaviors produced by the virtual environment component during execution of the executable content of the binary file and a behavior pattern of the expected behavior patterns associated with the virtual environment component, the difference being detected when the one or more behaviors represent a particular process authorized to change an operating system parameter and the one or more behaviors identifies the content of the binary file as malicious content when a process other than the particular process changes the operating system parameter.

6. The method of claim 1 , wherein prior to determining whether the binary file includes malicious content, the method further comprising:

classifying, by a static analysis module, the binary file as suspicious content or non-suspicious content, wherein the suspicious content includes a suspicious characteristic related to malicious content; and

upon classifying the binary file as non-suspicious content, discontinuing further analysis of the binary file.

7. The method of claim 6 , wherein the classifying of the binary file as suspicious content or non-suspicious content comprises performing a static analysis based on heuristics on the binary file.

8. The method of claim 6 , wherein the classifying of the binary file as suspicious content or non-suspicious content comprises determining whether content within the binary file is obfuscated.

9. The method of claim 6 , wherein the classifying of the binary file as suspicious content occurs when (i) the binary file has a suspicious characteristic related to malicious content and (ii) the binary file fails to match a known malware binary file.

10. The method of claim 6 , wherein the classifying of the binary file is conducted by a static analysis module executed by one or more processors implemented within the system.

11. The method of claim 6 , wherein the determining whether the binary file includes malicious content is conducted in response to classifying the binary file as suspicious content.

12. The method of claim 1 , wherein the virtual environment component comprises a virtual environment operating system that performs operations that correspond to operations conducted by an operating system, where the identifying of the executable content of the binary file as malicious includes detecting at least an attempted change to an operating system setting.

13. The method of claim 1 , wherein the extracting of the binary file, executing the executable content of the binary file, and identifying the executable content as malicious content are conducted automatically without user intervention.

14. The method of claim 1 , wherein the virtual environment component performs operations of the software component that operates as a browser application.

15. A method conducted by a detection system for detecting malware, the method comprising:

detecting a binary file within content received over a network, the binary file includes executable content;

extracting the binary file from the received content;

classifying, by a static analysis module, whether the binary file is either (i) suspicious content representing that the binary file potentially includes malicious content or (ii) non-suspicious content;

upon classifying the binary file as non-suspicious content, discontinuing further analysis of the binary file;

upon classifying the binary file as suspicious content, determining whether the binary file includes malicious content by comparing the binary file to information contained in a storage element including stored, known malware binary files, and upon classifying the binary file as malicious content, based on a comparison of the binary file to a malware binary file of the known malware binary files, conducting operations to minimize impact on the system by the binary file by removing the binary file; and

responsive to failing to classify the binary file as malicious content after comparing the binary file to the information contained in the storage element including the stored, known malware binary files,

executing the executable content of the binary file using a virtual environment component that performs operations of a software component, the software component comprises either (i) an application or (ii) an operating system,

identifying the executable content of the binary file as malicious content based on identifying a difference between one or more behaviors during execution of the executable content of the binary file and one or more expected behaviors, and

responsive to detecting malicious content, conducting operations to minimize impact of the malicious content by at least (i) initiating blocking of communications including the binary file or (ii) removing the binary file from the communications.

16. The method of claim 15 , wherein the expected behaviors are determined from a plurality of behavior patterns that are stored locally within the detection system or remotely from the detection system, a first behavior pattern of the plurality of behavior patterns representing that a request transmitted over a network is directed to a proxy address specified by a browser application of the virtual environment component.

17. The method of claim 15 , wherein the expected behaviors are determined from a plurality of behavior patterns that are stored locally within the detection system or remotely from the detection system and the examining of the one or more behaviors of the executable content against the expected behaviors comprises determining whether a difference is detected between the one or more behaviors produced by the virtual environment component during execution of the executable content of the binary file and a behavior pattern of the plurality of behavior patterns associated with the virtual environment component, the behavior pattern of the plurality of behavior patterns representing one or more parameters of an operating system that should not be altered.

18. The method of claim 15 , wherein the examining of the one or more behaviors of the virtual environment component against the expected behaviors comprises

determining whether a difference is detected between the one or more behaviors produced by the virtual environment component during execution of the executable content of the binary file and a behavior pattern of the expected behavior patterns associated with the virtual environment component, the difference being detected when the one or more behaviors represent a particular process authorized to change an operating system parameter and the one or more behaviors identifies the content of the binary file as malicious content when a process other than the particular process changes the operating system parameter.

19. The method of claim 15 , wherein the virtual environment component comprises a virtual environment operating system that performs operations that correspond to operations conducted by an operating system, where the identifying of the executable content of the binary file as malicious includes detecting at least an attempted change to an operating system setting.

20. The method of claim 15 , wherein the virtual environment component performs operations of the software component that operates as a browser application.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Aug 16, 2024
From: STG PARTNERS, LLC
To: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
Reel/Frame 068671/0435 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068656/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068657/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068657/0764 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY HOLDINGS LLC; SKYHIGH SECURITY LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 068657/0666 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068656/0920 →
MERGER Recorded Aug 13, 2024
From: FIREEYE SECURITY HOLDINGS US LLC
To: MUSARUBRA US LLC
Reel/Frame 068581/0279 →
SECURITY INTEREST Recorded Aug 1, 2024
From: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
To: STG PARTNERS, LLC
Reel/Frame 068324/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2023
From: FIREEYE, INC.
To: FIREEYE SECURITY HOLDINGS US LLC
Reel/Frame 063287/0776 →
CHANGE OF NAME Recorded Mar 16, 2023
From: FIREEYE, INC.
To: MANDIANT, INC.
Reel/Frame 063287/0771 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 11, 2021
From: FIREEYE SECURITY HOLDINGS US LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057772/0791 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Oct 11, 2021
From: FIREEYE SECURITY HOLDINGS US LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057772/0681 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2016
From: MANNI, JAYARAMAN; AZIZ, ASHAR; GONG, FENGMIN; SUKHERA, AMIN; LOGANATHAN, UPENDRAN
To: FIREEYE, INC.
Reel/Frame 038116/0918 →