Methods, systems, and computer readable media for detecting injected machine code

US9305165B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9305165-B2
Application numberUS-201214115096-A
CountryUS
Kind codeB2
Filing dateMay 7, 2012
Priority dateMay 6, 2011
Publication dateApr 5, 2016
Grant dateApr 5, 2016

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 aspect, the subject matter described herein includes a method for detecting injected machine code. The method includes extracting data content from a buffer. The method also includes providing an operating system kernel configured to detect injected machine code. The method further includes executing, using the operating system kernel, the data content on a physical processor. The method further includes monitoring, using the operating system kernel, the execution of the data content to determine whether the data content contains injected machine code indicative of a code injection attack.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for detecting injected machine code, the method comprising: extracting data content from a buffer; providing an operating system kernel configured to detect injected machine code; executing, using the operating system kernel, the data content on a physical processor; monitoring, using the operating system kernel, the execution of the data content to determine whether the data content contains injected machine code indicative of a code injection attack; and generating output specifying at least one of whether injected machine code was detected, a location in the buffer where injected machine code was detected, and a log of actions performed by detected injected machine code. 2. The method of claim 1 wherein the buffer is associated with at least one of a heap object, a network stream, a user file, and a multimedia platform object. 3. The method of claim 1 wherein executing the data content includes initiating execution from different offsets in the buffer. 4. The method of claim 1 wherein executing the data content includes utilizing hardware virtualization. 5. The method of claim 4 wherein the hardware virtualization mediates processor events that cause a change in system state and allows guest instruction execution to occur directly on the processor. 6. The method of claim 1 wherein monitoring the execution of the data content includes tracing specific memory reads, writes, and executions via hardware-supported paging mechanisms. 7. The method of claim 1 wherein monitoring the execution of the data content includes flagging execution chains that do not cause execution faults. 8. The method of claim 1 wherein the operating system kernel is optimized for detecting injected machine code. 9. The method of claim 8 wherein the operating system kernel is configured to implement an arbitrary, operator defined, analysis heuristic for determining whether the instructions contain injected machine code indicative of a code injection attack. 10. The method of claim 9 wherein the analysis heuristic traces memory accesses to specific predefined locations. 11. The method of claim 1 comprising taking a snapshot of memory contents of processes at the time the buffer is created. 12. A system for detecting injected machine code, the system comprising: an operating system kernel configured to detect injected machine code, wherein the operating system kernel includes: a buffer execution module configured to extract data content from a buffer and execute, using the operating system kernel, the data content on a physical processor; an injected machine code analysis module configured to monitor, using the operating system kernel, the execution of the data content to determine whether the data content contains injected machine code indicative of a code injection attack; and wherein the injected machine code analysis module is configured to generate output specifying at least one of whether injected machine code was detected, a location in the buffer where injected machine code was detected, and a log of actions performed by detected injected machine code. 13. The system of claim 12 wherein the buffer is associated with at least one of a heap object, a network stream, a user file, and a multimedia platform object. 14. The system of claim 12 wherein the buffer execution module is configured to execute the data content by initiating execution from different offsets in the buffer. 15. The system of claim 12 wherein the buffer execution module is configured to execute the data content utilizing hardware virtualization. 16. The system of claim 15 wherein the hardware virtualization mediates processor events that cause a change in system state and allows guest instruction execution to occur directly on the processor. 17. The system of claim 12 wherein the injected machine code analysis module is configured to monitor the execution of the data content by tracing specific memory reads, writes, and executions via hardware-supported paging mechanisms. 18. The system of claim 12 wherein the injected machine code analysis module is configured to monitor the execution of the data content by flagging execution chains that do not cause execution faults. 19. The system of claim 12 wherein the operating system kernel is optimized for detecting injected machine code. 20. The system of claim 19 wherein the operating system kernel is configured to implement an arbitrary, operator defined, analysis heuristic for determining whether the instructions contain injected machine code indicative of a code injection attack. 21. The system of claim 20 wherein the analysis heuristic traces memory accesses to specific predefined locations. 22. The system of claim 12 wherein the buffer execution module is configured to take a snapshot of memory contents of processes at the time the buffer is created. 23. A non-transitory computer readable medium comprising computer executable instructions that when executed by a processor of a computer control the computer to perform steps comprising: extracting data content from a buffer; providing an operating system kernel configured to detect injected machine code; executing, using the operating system kernel, the data content on a physical processor; and monitoring, using the operating system kernel, the execution of the data content to determine whether the data content contains injected machine code indicative of a code injection attack; and generating output specifying at least one of whether injected machine code was detected, a location in the buffer where injected machine code was detected, and a log of actions performed by detected injected machine code.

Assignees

Inventors

Classifications

  • G06F21/53Primary

    by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

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

  • G06F21/554Primary

    involving event detection and direct action · 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 US9305165B2 cover?
According to one aspect, the subject matter described herein includes a method for detecting injected machine code. The method includes extracting data content from a buffer. The method also includes providing an operating system kernel configured to detect injected machine code. The method further includes executing, using the operating system kernel, the data content on a physical processor. …
Who is the assignee on this patent?
Snow Kevin, Monrose Fabian, Krishnan Srinivas, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F21/53. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).