Static security analysis using a hybrid representation of string values

US9424423B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9424423-B2
Application numberUS-201213611201-A
CountryUS
Kind codeB2
Filing dateSep 12, 2012
Priority dateSep 12, 2012
Publication dateAug 23, 2016
Grant dateAug 23, 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.

Methods for creating a hybrid string representations include receiving string information as input; parsing the string information to produce one or more string components; determining string components that may be represented concretely by comparing the one or more components to a set of known concretizations; abstracting all string components that could not be represented concretely; and creating a hybrid string representation that includes at least one concrete string component and at least one abstracted string component.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for creating a hybrid string representation, comprising: receiving string information as input; parsing the string information to produce one or more string components using a processor; determining string components that may be represented concretely by comparing the one or more components to a set of known concretizations, wherein the set of known concretizations includes string configurations that cannot be interfered with by an attacker; abstracting all string components that could not be represented concretely; and creating a hybrid string representation that includes at least one concrete string component and at least one abstracted string component. 2. The method of claim 1 , wherein the set of known concretizations includes strings that refer to a page's uniform resource location. 3. The method of claim 2 , wherein the set of known concretizations includes strings that include the JavaScript® object “document.location”. 4. The method of claim 1 , further comprising binding between an external configuration file and string variables to automatically concretize a string component. 5. The method of claim 4 , wherein said binding comprises monitoring framework interfaces used to retrieve string values from the configuration files. 6. The method of claim 1 , wherein abstracting string components comprises replacing a string component with one or more regular expressions. 7. The method of claim 1 , wherein creating a hybrid string representation comprises concatenating said at least one concrete string component and said at least one abstracted string component. 8. The method of claim 1 , wherein the string information comprises a combination of program code and markup code. 9. A method for static analysis, comprising: receiving string information comprising program code as input; parsing the string information to produce one or more string components using a processor; determining string components that may be represented concretely by comparing the one or more components to a set of known concretizations, wherein the set of known concretizations includes string configurations that cannot be interfered with by an attacker; abstracting all string components that could not be represented concretely; creating a hybrid string representation that includes at least one concrete string component and at least one abstracted string component; and performing a taint analysis on the hybrid string representation to locate potential vulnerabilities. 10. The method of claim 9 , wherein the set of known concretizations includes strings that refer to a page's uniform resource location. 11. The method of claim 10 , wherein the set of known concretizations includes strings that include the JavaScript® object “document.location”. 12. The method of claim 9 , further comprising binding between an external configuration file and string variables to automatically concretize a string component. 13. The method of claim 12 , wherein said binding comprises monitoring framework interfaces used to retrieve string values from the configuration files. 14. The method of claim 9 , wherein abstracting string components comprises replacing a string component with one or more regular expressions. 15. The method of claim 9 , wherein creating a hybrid string representation comprises concatenating said at least one concrete string component and said at least one abstracted string component. 16. The method of claim 9 , wherein the string information comprises a combination of program code and markup code. 17. A non-transitory computer readable storage medium comprising a computer readable program for creating a hybrid string representation, wherein the computer readable program when executed on a computer causes the computer to perform the steps of: receiving string information as input; parsing the string information to produce one or more string components using a processor; determining string components that may be represented concretely by comparing the one or more components to a set of known concretizations, wherein the set of known concretizations includes string configurations that cannot be interfered with by an attacker; abstracting all string components that could not be represented concretely; creating a hybrid string representation that includes at least one concrete string component and at least one abstracted string component. 18. A non-transitory computer readable storage medium comprising a computer readable program for static analysis, wherein the computer readable program when executed on a computer causes the computer to perform the steps of: receiving string information comprising program code as input; parsing the string information to produce one or more string components using a processor; determining string components that may be represented concretely by comparing the one or more components to a set of known concretizations, wherein the set of known concretizations includes string configurations that cannot be interfered with by an attacker; abstracting all string components that could not be represented concretely; creating a hybrid string representation that includes at least one concrete string component and at least one abstracted string component; performing a taint analysis on the hybrid string representation to locate potential vulnerabilities.

Assignees

Inventors

Classifications

  • by monitoring network traffic (monitoring network traffic per se H04L43/00) · CPC title

  • Formatting, i.e. changing of presentation of documents (automatic justification G06F40/189; automatic line break hyphenation G06F40/191) · CPC title

  • Calculation of difference between files · CPC title

  • by source code analysis · CPC title

  • Parsing markup language streams (streaming G06F40/149) · 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 US9424423B2 cover?
Methods for creating a hybrid string representations include receiving string information as input; parsing the string information to produce one or more string components; determining string components that may be represented concretely by comparing the one or more components to a set of known concretizations; abstracting all string components that could not be represented concretely; and crea…
Who is the assignee on this patent?
Guarnieri Salvatore A, Pistoia Marco, Tripp Omer, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F21/554. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 23 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).