Title
Creating Vulnerability Signatures Using Weakest Preconditions
Abstract
Signature-based tools such as network intrusion detection systems are widely used to protect critical systems. Automatic signature generation techniques are needed to enable these tools due to the speed at which new vulnerabilities are discovered. In particular, we need automatic techniques which generate sound signatures -- signatures which will not mistakenly block legitimate traffic or raise false alarms. In addition, we need signatures to have few false negatives and will catch many different exploit variants. We investigate new techniques for automatically generating sound vulnerability signatures with fewer false negatives than previous research using program binary analysis. The key problem to reducing false negatives is to consider as many as possible different program paths an exploit may take. Previous work considered each possible program path an exploit may take separately, thus generating signatures that are exponential in the size of the number of branches considered. In the exact same scenario, we show how to reduce the overall signature size and the generation time from exponential to polynomial. We do this without requiring any additional assumptions, or relaxing any properties. This efficiency gain allows us to consider many more program paths, which results in reducing the false negatives of generated signatures. We achieve these results by creating algorithms for generating vulnerability signatures that are based on computing weakest preconditions (WP). The weakest precondition for a program path to a vulnerability is a function which matches all exploits that may exploit the vulnerability along that path. We have implemented our techniques and generated signatures for several binary programs. Our results demonstrate that our WP-based algorithm generates more succinct signatures than previous approaches which were based on forward symbolic execution.
Year
DOI
Venue
2007
10.1109/CSF.2007.17
CSF
Keywords
Field
DocType
binary program,weakest preconditions,weakest precondition,possible different program path,false alarm,possible program path,program binary analysis,false negative,creating vulnerability,fewer false negative,new vulnerability,program path,polynomials,software reliability,formal verification,computer security,safety systems,generation time,intrusion detection
Predicate transformer semantics,Data mining,System safety,Polynomial,Computer science,Exploit,Theoretical computer science,Symbolic execution,Software quality,Binary number,Vulnerability
Conference
ISBN
Citations 
PageRank 
0-7695-2819-8
42
2.46
References 
Authors
25
4
Name
Order
Citations
PageRank
David Brumley12940142.75
Hao Wang2825.39
S. Jha37921539.19
Dawn Song47334385.37