IP Library Granted Patent US 9,576,127
Granted Patent B2
US 9,576,127 · App. 14/336,649 · Granted Feb 21, 2017

Methods, media, and systems for detecting attack on a digital processing device

Inventors: Salvatore J. Stolfo (Ridgewood, NJ); Wei-Jen Li (Rego Park, NY); Angelos D. Keromytis (New York, NY); Elli Androulaki (New York, NY)
Assignee: The Trustees of Columbia University in the City of New York
G06F21/50G06F21/56G06F21/562G06F21/566
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 9,576,127
App. No.
14/336,649
Granted
Feb 21, 2017
Kind
B2
Abstract

Methods, media, and systems for detecting attack are provided. In some embodiments, the methods include: comparing at least part of a document to a static detection model; determining whether attacking code is included in the document based on the comparison of the document to the static detection model; executing at least part of the document; determining whether attacking code is included in the document based on the execution of the at least part of the document; and if attacking code is determined to be included in the document based on at least one of the comparison of the document to the static detection model and the execution of the at least part of the document, reporting the presence of an attack. In some embodiments, the methods include: selecting a data segment in at least one portion of an electronic document; determining whether the arbitrarily selected data segment can be altered without causing the electronic document to result in an error when processed by a corresponding program; in response to determining that the arbitrarily selected data segment can be altered, arbitrarily altering the data segment in the at least one portion of the electronic document to produce an altered electronic document; and determining whether the corresponding program produces an error state when the altered electronic document is processed by the corresponding program.

Claims (72)

1. A method for detecting an attack on an application, comprising:

performing, using a digital processing device, a static analysis by comparing at least part of a document to a first detection model;

determining, using the digital processing device, whether attacking code is included in the document based on the comparison of the document to the first detection model;

executing, using the digital processing device, at least part of the document;

determining, using the digital processing device, whether attacking code is included in the document based on the execution of the at least part of the document by performing a dynamic analysis that includes comparing behavior observed by execution of the document to a second detection model; and

if attacking code is determined to be included in the document based on at least one of the comparison of the document to the first detection model and the execution of the at least part of the document, reporting the presence of an attack.

2. The method of claim 1 , further comprising:

updating the first detection model if attacking code is determined to be present based on the execution of the at least part of the document.

3. The method of claim 1 , wherein the determining whether attacking code is included in the document based on the execution of the at least part of the document comprises:

comparing behavior observed by the execution of the document to behavior observed by execution of at least one of known attacking documents and known benign documents.

4. A method for detecting an attack on an application, comprising:

performing, using a digital processing device, a static analysis by comparing at least part of a document to a first detection model;

determining, using the digital processing device, whether attacking code is included in the document based on the comparison of the document to the first detection model;

executing, using the digital processing device, at least part of the document;

determining, using the digital processing device, whether attacking code is included in the document based on the execution of the at least part of the document by comparing behavior observed by execution of the document to a second detection model, wherein at least part of the second detection model is created by:

executing at least one known malicious document in a first environment;

executing the at least one known malicious document in a second environment;

comparing behavior observed by execution in the first environment to behavior observed by execution in the second environment to determine any differences in behavior; and

adding at least one difference in behavior to the second detection model, wherein the document is executed in at least one of the first environment and second environment; and

if attacking code is determined to be included in the document based on at least one of the comparison of the document to the first detection model and the execution of the at least part of the document, reporting the presence of an attack.

5. The method of claim 1 , further comprising:

parsing the document into sections and wherein the comparing the at least part of the document to the first detection model comprises:

selecting at least one the sections; and

comparing the at least one selected section to the first detection model.

6. The method of claim 1 , wherein the document is a word processing document, wherein the execution comprises opening the document in word processing software, wherein the document is embedded with at least one of an image, a table, and injected code, and wherein the document is executed in a protected environment.

7. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for detecting an attack on an application, the method comprising:

performing a static analysis by comparing at least part of a document to a s first detection model;

determining whether attacking code is included in the document based on the comparison of the document to the first detection model;

executing at least part of the document;

determining whether attacking code is included in the document based on the execution of the at least part of the document by performing a dynamic analysis that includes comparing behavior observed by execution of the document to a second detection model; and

if attacking code is determined to be included in the document based on at least one of the comparison of the document to the first detection model and the execution of the at least part of the document, reporting the presence of an attack.

8. The computer-readable medium of claim 7 , the method further comprising:

updating the first detection model if attacking code is determined to be present based on the execution of the at least part of the document.

9. The computer-readable medium of claim 7 , wherein the determining whether attacking code is included in the document based on the execution of the at least part of the document comprises:

comparing behavior observed by the execution of the document to behavior observed by execution of at least one of known attacking documents and known benign documents.

10. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for detecting an attack on an application, the method comprising:

performing a static analysis by comparing at least part of a document to a first detection model;

determining whether attacking code is included in the document based on the comparison of the document to the first detection model;

executing at least part of the document;

determining whether attacking code is included in the document based on the execution of the at least part of the document by comparing behavior observed by execution of the document to a second detection model, wherein at least part of the second detection model is created by:

executing at least one known malicious document in a first environment;

executing the at least one known malicious document in a second environment;

comparing behavior observed by execution in the first environment to behavior observed by execution in the second environment to determine any differences in behavior; and

adding at least one difference in behavior to the second detection model, wherein the document is executed in at least one of the first environment and second environment; and

if attacking code is determined to be included in the document based on at least one of the comparison of the document to the first detection model and the execution of the at least part of the document, reporting the presence of an attack.

11. The computer-readable medium of claim 7 , the method further comprising:

parsing the document into sections and wherein the comparing the at least part of the document to the first detection model comprises:

selecting at least one the sections; and

comparing the at least one selected section to the first detection model.

12. The computer-readable medium of claim 7 , wherein the document is a word processing document, wherein the execution comprises opening the document in word processing software, wherein the document is embedded with at least one of an image, a table, and injected code, and wherein the document is executed in a protected environment.

13. A system for detecting attack, comprising:

an interface in communication with a network;

a memory; and

a processor in communication with the memory and the interface, wherein the processor:

performs a static analysis by comparing at least part of a document to a first detection model;

determines whether attacking code is included in the document based on the comparison of the document to the first detection model;

executes at least part of the document;

determines whether attacking code is included in the document based on the execution of the at least part of the document by performing a dynamic analysis that includes comparing behavior observed by execution of the document to a second detection model; and

if attacking code is determined to be included in the document based on at least one of the comparison of the document to the first detection model and the execution of the at least part of the document, reports the presence of an attack.

14. A system for detecting attack, comprising:

an interface in communication with a network;

a memory; and

a processor in communication with the memory and the interface, wherein the processor:

performs a static analysis by comparing at least part of a document to a first detection model;

determines whether attacking code is included in the document based on the comparison of the document to the first detection model;

executes at least part of the document;

determines whether attacking code is included in the document based on the execution of the at least part of the document by comparing behavior observed by execution of the document to a second detection model, wherein at least part of the second detection model is created by:

executing at least one known malicious document in a first environment;

executing the at least one known malicious document in a second environment;

comparing behavior observed by execution in the first environment to behavior observed by execution in the second environment to determine any differences in behavior; and

adding at least one difference in behavior to the second detection model, wherein the document is executed in at least one of the first environment and second environment; and

if attacking code is determined to be included in the document based on at least one of the comparison of the document to the first detection model and the execution of the at least part of the document, reports the presence of an attack.

Assignments (1)
CONFIRMATORY LICENSE Recorded Feb 25, 2020
From: COLUMBIA UNIV NEW YORK MORNINGSIDE
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 052009/0979 →
Continuity (5)
Division 12406814 · Mar 18, 2009
Continuation In Part PCTUS2007078773 · Sep 18, 2007
Provisional Application 60845563 · Sep 18, 2006
Provisional Application 61096795 · Sep 13, 2008
Related Publication 20140331324A1 · Nov 6, 2014