IP Library Granted Patent US 8,931,092
Granted Patent B2
US 8,931,092 · App. 13/592,596 · Granted Jan 6, 2015

System and method for computer inspection of information objects for shared malware components

Inventors: Daniel Wyschogrod (Newton, MA); Steven W. Jilcott (Foxboro, MA); Jonathan Aron Rubin (Bedford, MA); John O. Everett (Great Falls, VA)
Assignee: Raytheon BBN Technologies Corp.
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 8,931,092
App. No.
13/592,596
Granted
Jan 6, 2015
Kind
B2
Abstract

Embodiments of a system and method for computer inspection of information objects, for example, executable software applications for common components that may include elements of computer viruses, items from hacker exploit libraries, or other malware components. Information objects may contain identified sequences of instructions, each of which may be identified and hierarchically grouped based on their structural relationship(s). In the software context, programming languages may include multiple components that include functional code; these components are often shared between programmers. In some embodiments, an inspection of the hierarchical relationship of components (e.g., constituent functions) in the information objects may allow for identification of common components shared between programs. In some embodiments, authorship of objects or components in the objects may be identified by comparisons between component samples. In some embodiments, inspection of the relationship between components is limited to component groups having a specified structural size, complexity, or eccentricity.

Claims (49)

1. A method of computer program inspection, comprising:

extracting, with at least one processor, a plurality of computer program components from a computer program object,

determining a hierarchical relationship between the plurality of computer program components based on structural relationships between the computer program components;

constructing, based on an eccentricity of a root component in the plurality of computer program components extracted from the computer program object, a nested relationship sequence that describes the hierarchical relationship between the root component and a subgraph of the plurality of computer program components including a leaf node;

identifying a candidate set of components where the nested relationship sequence is not present in a database of known program components;

comparing the nested relationship sequence constructed from the candidate set of components to known malware components; and

identifying authorship of the candidate set of components based at least in part on a result of the comparison.

2. The method of claim 1 , wherein the eccentricity of the root component is based on a complexity of the hierarchical relationship of the computer program components.

3. The method of claim 2 , wherein the eccentricity of the root component includes a determination of a longest shortest-path between components.

4. The method of claim 1 , wherein the eccentricity of the root component is calculated based on a number of computer program components that are included in the nested relationship sequence of the subgraph of the plurality of computer program components.

5. The method of claim 4 , comprising:

receiving a user-specified size that limits the eccentricity of the root component identified from the candidate set of components.

6. The method of claim 1 , comprising:

constructing a call-graph characterization of the computer program object for use in extracting the plurality of computer program components.

7. The method of claim 6 , wherein the computer program object is an executable computer program.

8. The method of claim 1 , wherein the database of known program components includes a set of standard library components that are benign.

9. The method of claim 1 , comprising:

comparing the nested relationship sequence with a plurality of nested relationship sequences of known authorship.

10. The method of claim 9 , comprising:

determining a potential author of the computer program object based on the comparison of the nested relationships.

11. At least one non-transitory machine-readable medium comprising a plurality of instructions that in response to being executed on a computing device, cause the computing device to:

inspect a computer program object for computer program components that are embedded in the computer program object;

determine a hierarchical relationship between the computer program components based on structural relationships between the computer program components;

construct, based on an eccentricity of a root component in the plurality of computer program components extracted from the computer program object, a nested relationship sequence that describes the hierarchical relationship between the root component and a subgraph of the plurality of computer program components including a leaf node;

identify a candidate set of components where the nested relationship sequence is not present in a database of known program components; and

compare the nested relationship sequence constructed from the candidate set of components to known malware components.

12. The non-transitory machine-readable medium of claim 11 , wherein the eccentricity of the root component is based on a complexity of the hierarchical relationship of the computer program components.

13. The non-transitory machine-readable medium of claim 12 , wherein the eccentricity of the root component includes a determination of a longest shortest-path between components.

14. The non-transitory machine-readable medium of claim 11 , wherein the eccentricity of a root component is calculated based on a number of computer program components that are included in the nested relationship sequence of the subgraph of the plurality of computer program components.

15. The non-transitory machine-readable medium of claim 14 , comprising instructions that in response to being executed on a computing device, cause the computing device to:

receive a user-specified size that limits the eccentricity of the root component identified from the candidate set of components.

16. The non-transitory machine-readable medium of claim 11 , comprising instructions that in response to being executed on a computing device, cause the computing device to:

construct a call-graph characterization of the computer program object for use in extracting the plurality of computer program components.

17. The non-transitory machine-readable medium of claim 16 , wherein the computer program object is an executable computer program.

18. The non-transitory machine-readable medium of claim 11 , wherein the database of known program components includes a set of standard library components that are benign.

19. The non-transitory machine-readable medium of claim 11 , comprising instructions that in response to being executed on a computing device, cause the computing device to:

compare the nested relationship sequence with a plurality of nested relationship sequences of known authorship.

20. The non-transitory machine-readable medium of claim 19 , comprising instructions that in response to being executed on a computing device, cause the computing device to:

determine a potential author of the computer program object based on the comparison of the nested relationships.

21. A computer program object inspection system comprising:

one or more processors coupled to a storage element, at least one of the one or more processors being configured to inspect a computer program object stored in the storage element for computer program components that are embedded in the computer program object in order to determine a hierarchical relationship between the computer program components based on structural relationships between the computer program components; and construct, based on an eccentricity of a root component in the plurality of computer program components extracted from the computer program object, a nested relationship sequence that describes the hierarchical relationship between the root component and a subgraph of the plurality of computer program components including a leaf node;

a database module configured to store a plurality of known computer program components; and

an analysis module configured to identify a candidate set of components where the nested relationship sequence is not present in the plurality of known program components;

wherein at least one of the one or more processors is configured to compare the nested relationship sequence constructed from the candidate set of components to known malware components.

22. The system of claim 21 , wherein the eccentricity of the root component is based on the complexity of the hierarchical relationship of the computer program components.

23. The system of claim 22 , wherein the eccentricity of the root component includes a determination of a longest shortest-path between components.

24. The system of claim 21 , wherein the measure of eccentricity of the root component is based on a number of computer program components that are included in the hierarchical nested relationship sequence of the sub graph of the plurality of computer program components.

25. The system of claim 21 , wherein the computer program object is an executable computer program.

26. The system of claim 21 , wherein the database of known program components includes a set of standard library components that are benign.

Assignments (3)
CHANGE OF NAME Recorded Aug 22, 2024
From: RAYTHEON BBN TECHNOLOGIES CORP.
To: RTX BBN TECHNOLOGIES, INC.
Reel/Frame 068748/0419 →
CONFIRMATORY LICENSE Recorded Jun 4, 2015
From: RAYTHEON BBN TECHNOLOGIES CORPORATION
To: AFRL/RIJ
Reel/Frame 035821/0207 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2012
From: WYSCHOGROD, DANIEL; JILCOTT, STEVEN W.; RUBIN, JONATHAN ARON; EVERETT, JOHN O.
To: RAYTHEON BBN TECHNOLOGIES CORP.
Reel/Frame 029046/0931 →
Continuity (1)
Related Publication 20140059684A1 · Feb 27, 2014