Detection of security vulnerabilities in computer programs
AssigneeMicrosoft Corporation
InventorsRamanathan N Venkatapathy, Jayaraman Thiagarajan, Dong Wei
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsRamanathan N Venkatapathy, Jayaraman Thiagarajan, Dong Wei
Estimating the term…
Methods and systems for analyzing a computer program use static and interprocedural analysis techniques and engines. A data processing operation, such as a function, is automatically identified within the computer program. It is determined whether the function represents a potential source for entry of untrusted data into the computer program. A course of the untrusted data is modeled through the identified function to produce a validation result, such as a call stack. Based on an attribute of the untrusted data (for example, whether the untrusted data is an unbounded integer or a string), it is determined whether the validation result identifies a security vulnerability of the computer program. A security vulnerability may exist, for example, when the modeled course of an unbounded integer through the function produces a buffer overrun in a call stack. The validation result is provided, via an API, software development tool, or user interface, for example.
A computer-readable storage medium encoded with computer-executable instructions which, when executed by a processor, perform a method for analyzing source code of a computer program, comprising:
A system for analyzing source code of a computer program, comprising:
A computer-readable storage medium encoded with computer-executable instructions which, when executed by a processor, perform a method for analyzing source code of a computer program, comprising:
Dependencies are inferred from the claim text.