ACM Home Page
Please provide us with feedback. Feedback
TAJ: effective taint analysis of web applications
Full text PdfPdf (441 KB)
Source
Conference on Programming Language Design and Implementation archive
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation table of contents
Dublin, Ireland
SESSION: Program analysis for security table of contents
Pages 87-97  
Year of Publication: 2009
ISBN:978-1-60558-392-1
Also published in ...
Authors
Omer Tripp  IBM, Herzlyia, Israel
Marco Pistoia  IBM, Hawthorne, NY, USA
Stephen J. Fink  IBM, Hawthorne, NY, USA
Manu Sridharan  IBM, Hawthorne, NY, USA
Omri Weisman  IBM, Herzlyia, Israel
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 26,   Downloads (12 Months): 136,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542476.1542486
What is a DOI?

ABSTRACT

Taint analysis, a form of information-flow analysis, establishes whether values from untrusted methods and parameters may flow into security-sensitive operations. Taint analysis can detect many common vulnerabilities in Web applications, and so has attracted much attention from both the research community and industry. However, most static taint-analysis tools do not address critical requirements for an industrial-strength tool. Specifically, an industrial-strength tool must scale to large industrial Web applications, model essential Web-application code artifacts, and generate consumable reports for a wide range of attack vectors.

We have designed and implemented a static Taint Analysis for Java (TAJ) that meets the requirements of industry-level applications. TAJ can analyze applications of virtually any size, as it employs a set of techniques designed to produce useful answers given limited time and space. TAJ addresses a wide variety of attack vectors, with techniques to handle reflective calls, flow through containers, nested taint, and issues in generating useful reports. This paper provides a description of the algorithms comprising TAJ, evaluates TAJ against production-level benchmarks, and compares it with alternative solutions.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
L. O. Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, University of Copenhagen, Denmark, 1994.
 
2
3
4
 
5
6
7
8
 
9
S. Fink, J. Dolby, and L. Colby. Semi-Automatic J2EE Transaction Configuration. IBM Research Report RC23326, 2004.
10
11
 
12
J. A. Goguen and J. Meseguer. Security Policies and Security Models. In S&P 1982.
 
13
C. Hammer, J. Krinke, and G. Snelting. Information Flow Control for Java Based on Path Conditions in Dependence Graphs. In ISSSE 2006.
14
15
16
 
17
IBM Rational AppScan Developer Edition (AppScan DE), http: //www.ibm.com/software/awdtools/appscan/developer
 
18
O. Lhot´ak and L. J. Hendren. Context-Sensitive Points-to Analysis: Is It Worth It? In CC 2006.
 
19
B. Livshits, J. Whaley, and M. S. Lam. Reflection Analysis for Java. In ASPLAS 2005.
 
20
21
22
23
24
25
 
26
OWASP, http://www.owasp.org.
 
27
M. Pistoia, R. J. Flynn, L. Koved, and V. C. Sreedhar. Interprocedural Analysis for Privileged Code Placement and Tainted Variable Detection. In ECOOP 2005.
28
 
29
B. G. Ryder. Dimensions of Precision in Reference Analysis of Object-Oriented Languages. In CC 2003. Invited Paper.
 
30
31
32
33
 
34
Stanford SecuriBench Micro, http://suif.stanford.edu/~livshits/work/securibench-micro.
 
35
T. J.Watson Libraries for Analysis (WALA), http://wala.sf.net.
 
36
 
37
38
39
40

Collaborative Colleagues:
Omer Tripp: colleagues
Marco Pistoia: colleagues
Stephen J. Fink: colleagues
Manu Sridharan: colleagues
Omri Weisman: colleagues