Shellcode detection

US9973531B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9973531-B1
Application numberUS-201414311000-A
CountryUS
Kind codeB1
Filing dateJun 20, 2014
Priority dateJun 6, 2014
Publication dateMay 15, 2018
Grant dateMay 15, 2018

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.

According to one embodiment, a threat detection system is integrated with at least a dynamic analysis engine. The dynamic analysis engine is configured to automatically determine whether one or more objects included in received network traffic contains a heap spray attack. Upon detection of a potential heap spray attack, the dynamic analysis engine may copy potential shellcode within an object included in the received network traffic, insert the copy of the potential shellcode into a second region of allocated memory and analyze the execution of the potential shellcode to determine whether characteristics associated with an exploit are present.

First claim

Opening claim text (preview).

What is claimed is: 1. A computerized method, comprising: instantiating an instance of an application within a virtual machine, the application for executing an object; allocating a first region of memory to the virtual machine for use in execution of the object with the application; responsive to detecting one or more characteristics of a heap spray attack within a sequence of bytes within the first region of memory, allocating a second region of memory to the virtual machine, wherein the first region of memory is a first virtual heap and the second region of memory is a second virtual heap different than the first virtual heap; copying the sequence of bytes from the first region of memory to the second region of memory; beginning execution, by the virtual machine, of the copy of the sequence of bytes stored in the second region of memory; and monitoring the execution of the copy of the sequence of bytes to detect characteristics of anomalous behavior. 2. The computerized method of claim 1 , wherein the copying of the sequence of bytes comprises requesting allocation of the second region of memory, and inserting the copy of the sequence of bytes into the second region of allocated memory. 3. The computerized method of claim 1 , wherein the sequence of bytes is copied and inserted as a binary file. 4. The computerized method of claim 1 , wherein a characteristic of the one or more characteristics of the heap spray attack includes at least one sequence of No Operation (NOP) instructions adjacent to the sequence of bytes at a particular location within the first region of allocated memory. 5. The computerized method of claim 4 , wherein the sequence of bytes includes potential shellcode, the potential shellcode being computer code that includes one or more characteristics indicative of the capability of performing malicious activity. 6. The computerized method of claim 5 , further comprising: prior to copying the potential shellcode from the first region of allocated memory, determining that the potential shellcode is present in the first region of allocated memory. 7. The computerized method of claim 6 , wherein a first sequence of NOP instructions is determined to be adjacent to a first side of the potential shellcode, the first sequence of NOP instructions being one of the at least one sequence of NOP instructions. 8. The computerized method of claim 7 , wherein a second sequence of NOP instructions is determined to be adjacent to a second side of the potential shellcode, the second sequence of NOP instructions being one of the at least one sequence of NOP instructions. 9. The computerized method of claim 5 , further comprising: transmitting the copy of the potential shellcode to a module, wherein the module requests the allocation of the second region of memory and inserts the copy of the potential shellcode into the second region of allocated memory, the permissions of the second region of allocated memory are to be set to allow contents of the second region of allocated memory to be read and executed. 10. The computerized method of claim 9 , further comprising: dynamically configuring a virtual machine with a software image representing a current operating state of a targeted client device, the software image representing content and structure of a storage volume for the targeted client device at a time of configuring the virtual machine, wherein the module is located within the virtual machine. 11. The computerized method of claim 10 , wherein the module begins execution of the copy of the potential shellcode within the virtual machine. 12. The computerized method of claim 5 , further comprising: prior to beginning execution of the copy of the potential shellcode, disassembling the copy of the potential shellcode to determine the starting instruction of the potential shellcode. 13. The computerized method of claim 5 , wherein the potential shellcode is copied from a Portable Document Format (PDF) file and at least a portion of JavaScript within the PDF file is parsed to reveal a location of the potential shellcode within the first region of allocated memory. 14. The computerized method of claim 13 , wherein one or more images embedded within the PDF file are analyzed to reveal the location of the potential shellcode within the first region of allocated memory. 15. The computerized method of claim 5 , wherein the potential shellcode is copied from a video file and at least a portion of the video file is analyzed to reveal a location of the potential shellcode within the first region of allocated memory. 16. The computerized method of claim 5 , wherein the potential shellcode is copied from a non-executable file and one or more scripts within the file are analyzed to reveal a location of the potential shellcode within the first region of allocated memory. 17. The computerized method of claim 5 , wherein a score is assigned to at least a portion of network traffic from which the potential shellcode was copied, the score signifying a probability that at least the portion of the network traffic is associated with an exploit. 18. The computerized method of claim 5 , further comprising: generating an alert based the analysis of the execution of the copy of the potential shellcode. 19. The computerized method of claim 1 , wherein prior to detecting the one or more characteristics of the heap spray within the first region of memory, beginning execution of the object using the first region of memory. 20. A system comprising: one or more processors; and a storage module communicatively coupled to the one or more processors, the storage module includes logic to: instantiate an instance of an application within a virtual machine, the application for executing an object; allocate a first region of memory to the virtual machine for use in execution of the object with the application; responsive to detecting one or more characteristics of a heap spray attack within a sequence of bytes within the first region of memory, allocate a second region of memory to the virtual machine, wherein the first region of memory is a first virtual heap and the second region of memory is a second virtual heap different than the first virtual heap; copy the sequence of bytes from the first region of memory to the second region of memory; begin execution, by the virtual machine, of the copy of the sequence of bytes stored in the second region of memory; and monitor the execution of the copy of the sequence of bytes to detect one or more characteristics of anomalous behavior. 21. The system of claim 20 , wherein the sequence of bytes includes potential shellcode, the potential shellcode being computer code that includes one or more characteristics indicative of the capability of performing malicious activity. 22. The system of claim 20 , wherein the sequence of bytes is copied and inserted as a binary file. 23. The system of claim 20 , wherein a characteristic of the one or more characteristics of the heap spray attack includes at least one sequence of No Operation (NOP) instructions adjacent to the sequence of bytes at a particular location within the first region of allocated memory. 24. The system of claim 23 , wherein the sequence of bytes includes potential shellcode, the potential shellcode being computer code that includes one or more characteristics indicative of the capability of performing malicious activity. 25. T

Assignees

Inventors

Classifications

  • Isolation or security of virtual machine instances · CPC title

  • Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks · CPC title

  • Hypervisor-specific management and integration aspects · 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 US9973531B1 cover?
According to one embodiment, a threat detection system is integrated with at least a dynamic analysis engine. The dynamic analysis engine is configured to automatically determine whether one or more objects included in received network traffic contains a heap spray attack. Upon detection of a potential heap spray attack, the dynamic analysis engine may copy potential shellcode within an object …
Who is the assignee on this patent?
Fireeye Inc
What technology area does this patent fall under?
Primary CPC classification H04L63/1466. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 15 2018 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).