Towards automatic generation of vulnerability-based signatures

被引:70
作者
Brumley, David [1 ]
Newsome, James [1 ]
Song, Dawn [1 ]
Wang, Hao [2 ]
Jha, Somesh [2 ]
机构
[1] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
[2] Univ Wisconsin, Madison, WI USA
来源
2006 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, PROCEEDINGS | 2006年
关键词
D O I
10.1109/SP.2006.41
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In this paper we explore the problem of creating vulnerability signatures. A vulnerability signature matches all exploits of a given vulnerability, even polymorphic or metamorphic variants. Our work departs from previous approaches by focusing on the semantics of the program and vulnerability exercised by a sample exploit instead of the semantics or syntax of the exploit itself. We show the semantics of a vulnerability define a language which contains all and only those inputs that exploit the vulnerability. A vulnerability signature is a representation (e.g., a regular expression) of the vulnerability language. Unlike exploit-based signatures whose error rate can only be empirically measured for known test cases, the quality ofa vulnerability signature can be formally quantified for all possible inputs. We provide a formal definition of a vulnerability signature and investigate the computational complexity of creating and matching vulnerability signatures. We also systematically explore the design space of vulnerability signatures. We identify three central issues in vulnerability-signature creation: how a vulnerability signature represents the set of inputs that may exercise a vulnerability, the vulnerability coverage (i.e., number of vulnerable program paths) that is subject to our analysis during signature creation, and how a vulnerability signature is then created for a given representation and coverage. We propose new data-flow analysis and novel adoption of existing techniques such as constraint solving for automatically generating vulnerability signatures. We have built a prototype system to test our techniques. Our experiments show that we can automatically generate a vulnerability signature using a single exploit which is of much higher quality than previous exploit-based signatures. In addition, our techniques have several other security applications, and thus may be of independent interest.
引用
收藏
页码:2 / +
页数:3
相关论文
共 54 条
[11]  
CHRISTODORESCU M, 2005, P 6 ACM WORKSH PROGR
[12]   A tool for checking ANSI-C programs [J].
Clarke, E ;
Kroening, D ;
Lerda, F .
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2004, 2988 :168-176
[13]  
Clarke EM, 1999, MODEL CHECKING, P1
[14]  
COST M, 2005, 20 ACM S OP SYST PRI
[15]  
COUSOT P, 1977, P 4 ACM S PRINC PROG
[16]  
Crandall Jedidiah R., 2005, P 12 ACM C COMP COMM
[17]  
DETLEFS D, 2003, HPL2003148
[18]  
Detristan T., POLYMORPHIC SHELLCOD
[19]  
GODEFROID P, 2005, P 2005 INT C PROGR L
[20]  
GOTLIEB A, 2000, 1 INT C COMP LOG