Pixy: A static analysis tool for detecting Web application vulnerabilities - (Short paper)

被引:294
作者
Jovanovic, Nenad [1 ]
Kruegel, Christopher [1 ]
Kirda, Engin [1 ]
机构
[1] Vienna Univ Technol, Secure Syst Lab, A-1040 Vienna, Austria
来源
2006 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, PROCEEDINGS | 2006年
基金
奥地利科学基金会;
关键词
D O I
10.1109/SP.2006.29
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The number and the importance of Web applications have increased rapidly over the last years. At the same time, the quantity and impact of security vulnerabilities in such applications have grown as well. Since manual code reviews are time-consuming, error-prone and costly, the need for automated solutions has become evident. In this paper we address the problem of vulnerable Web applications by means of static source code analysis. More precisely, we use flow-sensitive, interprocedural and context-sensitive data flow analysis to discover vulnerable points in a program. In addition, alias and literal analysis are employed to improve the correctness and precision of the results. The presented concepts are targeted at the general class of taint-style vulnerabilities and can be applied to the detection of vulnerability types such as SQL injection, cross-site scripting, or command injection. Pixy, the open source prototype implementation of our concepts, is targeted at detecting cross-site scripting vulnerabilities in PHP scripts. Using our tool, we discovered and reported 15 previously unknown vulnerabilities in three web applications, and reconstructed 36 known vulnerabilities in three other web applications. The observed false positive rate is at around 50% (i.e., one false positive for each vulnerability) and therefore, low enough to permit effective security audits.
引用
收藏
页码:258 / +
页数:2
相关论文
共 22 条
[1]  
Aho Alfred V., 1986, ADDISON WESLEY SERIE
[2]   Using programmer-written compiler extensions to catch security holes [J].
Ashcraft, K ;
Engler, D .
2002 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, PROCEEDINGS, 2002, :143-159
[3]  
CERT, 2005, CERT ADV CA 2000 02
[4]  
CUP, 2005, CUP LALR PARS GEN JA
[5]  
ENGLER D, 2001, SOSP 01 P 18 ACM S O
[6]  
ENGLER DR, 2000, OSDI 2000
[7]  
FOSTER JS, 1999, PLDI 99 P ACM SIGPLA
[8]  
HUANG YW, 2004, DSN
[9]  
HUANG YW, 2003, WWW 03 P 12 INT C WO
[10]  
HUANG YW, 2004, WWW 04 P 13 INT C