Multistage system and method for analyzing obfuscated content for malware

US9690936B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9690936-B1
Application numberUS-201414321636-A
CountryUS
Kind codeB1
Filing dateJul 1, 2014
Priority dateSep 30, 2013
Publication dateJun 27, 2017
Grant dateJun 27, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A malware detection system configured to detect suspiciousness in obfuscated content. A multi-stage static detection logic is utilized to detect obfuscation, make the obfuscated content accessible, identify suspiciousness in the accessible content and filter non-suspicious non-obfuscated content from further analysis. The system is configured to identify obfuscated content, de-obfuscate obfuscated content, identify suspicious characteristics in the de-obfuscated content, execute a virtual machine to process the suspicious network content and detect malicious network content while removing from further analysis non-suspicious network content.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for detecting malicious content conducted by a preprocessor and a post-processor being software executed by a hardware processor, the method comprising: receiving an object including content over a network; determining, in the preprocessor, whether the content of the object is suspicious and whether the content is obfuscated by at least determining whether there is a high correlation between a portion of the content of the object and a first set of indicators of suspiciousness; responsive to determining that the content is suspicious and is not obfuscated, transmitting the suspicious content to a dynamic analyzer, the dynamic analyzer including one or more virtual machines that processes at least the content and monitors for anomalous behaviors occurring during the processing of the content; responsive to determining that the content of the object is obfuscated, transmitting the obfuscated content to an emulator that is different than the dynamic analyzer, the emulator being configured to produce a de-obfuscated representation of the content that is different from the non-obfuscated content and send the de-obfuscated representation of the content to the post-processor, determining, in the post-processor, whether the de-obfuscated representation of the content from the emulator is suspicious by at least determining whether there is a high correlation between a portion of the de-obfuscated representation of the content and a second set of indicators of suspiciousness that differs from the first set of indicators of suspiciousness, and providing the de-obfuscated representation of the content for further analysis by the dynamic analyzer; and removing non-suspicious content from further analysis. 2. The method of claim 1 , wherein the content of the object is determined to be suspicious based on a correlation of characteristics of the content with a first set of indicators of suspiciousness as detected by the preprocessor and a correlation of characteristics of the content with a second set of indicators of suspiciousness as detected by the post-processor. 3. The method of claim 1 , further comprising sending content removed from further analysis to a destination device. 4. The method of claim 1 , wherein the determining whether the content of the object is obfuscated occurs when the preprocessor fails to have code-level access for at least a portion of the content. 5. The method of claim 1 , further comprising transmitting the suspicious content to the dynamic analyzer in a remote network to determine if the suspicious content is malicious. 6. The method of claim 1 wherein the suspicious content is prioritized for analysis in the dynamic analyzer. 7. The method of claim 2 , wherein the first set of indicators of suspiciousness are modifiable. 8. The method of claim 2 , wherein the content of the object is determined to be malicious when the correlation of characteristics of the content with the first set of indicators of suspiciousness exceeds a threshold of maliciousness. 9. The method of claim 2 , wherein the first set of indicators of suspiciousness in the preprocessor are identical to the second set of indicators of suspiciousness in the post-processor. 10. The method of claim 2 , further comprising combining result of the correlation of characteristics of the content with the first set of indicators of suspiciousness from the preprocessor and the correlation of characteristics of the content with the second set of indicators of suspiciousness from the post-processor to determine if the content of the object is malicious. 11. The method of claim 9 , wherein the combination of result of the correlation of characteristics of the content with the first set of indicators of suspiciousness and the correlation of characteristics of the content with the second set of indicators of suspiciousness are weighted based on the set of indicators of suspiciousness the correlation is based. 12. The method of claim 9 , wherein the determining whether the de-obfuscated content is suspicious includes intercepting one or more function calls associated with the de-obfuscated representation of the content and controlling a return of data in response to the one or more function calls. 13. A system to detect when an object including content is malicious, comprising: a preprocessor that is configured, upon execution by a hardware processor, to determine (i) whether content of an object under analysis is suspicious and not obfuscated by at least determining whether there is a high correlation between a portion of the content of the object and a first set of indicators of suspiciousness, (ii) whether the content is obfuscated, or (iii) whether the content is to be removed from further analysis when non-suspicious and not obfuscated, the preprocessor to provide the suspicious content to a dynamic analyzer for determining whether the suspicious content is malicious when the content is suspicious and not obfuscated; an emulator communicatively coupled to the preprocessor, the emulator is configured, upon execution by the hardware processor, to receive the content, in response to the preprocessor determining that the content is obfuscated, and process the content to produce a de-obfuscated representation of the content that is different than the content that is not obfuscated; and a post-processor that is configured, upon execution by a hardware processor, to a receive the de-obfuscated representation of the content from the emulator, (ii) determine if the de-obfuscated representation of the content is suspicious by at least determining whether there is a high correlation between a portion of the de-obfuscated representation of the content and a second set of indicators of suspiciousness that differs from the first set of indicators of suspiciousness, and (iii) provide the de-obfuscated representation of the content to the dynamic analyzer if the de-obfuscated representation of the content is suspicious or remove the de-obfuscated representation of the content from further analysis if the de-obfuscated representation of the content is non-suspicious. 14. The system of claim 13 , wherein the preprocessor is configured to determine the suspiciousness of the content by establishing a correlation with a first set of indicators of suspiciousness. 15. The system of claim 13 , wherein the post-processor is configured to determine the suspiciousness of the de-obfuscated representation of the content by establishing a correlation with a second set of indicators of suspiciousness. 16. The system of claim 13 further comprising a scheduler that is configured to receive the suspicious content from the preprocessor or the suspicious, de-obfuscated representation of the content from the post-processor to schedule for analysis in the dynamic analyzer that determines if the suspicious content is malicious. 17. The system of claim 13 further comprising a reporting module configured to combine the correlations, with indicators of suspiciousness from the preprocessor and post-processor and indicators of maliciousness from the dynamic analyzer, to indicate maliciousness. 18. The system of claim 15 , wherein the second set of indicators of suspiciousness used by the post-processor is identical to the first set of indicators of suspiciousness used by the preprocessor. 19. The system of claim 16 , wherein a scheduler is configured to prioritize content for analysis in the dynamic analyzer based on the correlation of the content with maliciousness.

Assignees

Inventors

Classifications

  • G06F21/566Primary

    Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities · CPC title

  • G06F21/562Primary

    Static detection · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9690936B1 cover?
A malware detection system configured to detect suspiciousness in obfuscated content. A multi-stage static detection logic is utilized to detect obfuscation, make the obfuscated content accessible, identify suspiciousness in the accessible content and filter non-suspicious non-obfuscated content from further analysis. The system is configured to identify obfuscated content, de-obfuscate obfusca…
Who is the assignee on this patent?
Fireeye Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/566. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 27 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).