DocumentCode :
3008165
Title :
User-Input Dependence Analysis via Graph Reachability
Author :
Scholz, Bernhard ; Zhang, Chenyi ; Cifuentes, Cristina
Author_Institution :
Sun Microsyst. Labs., Brisbane, QLD
fYear :
2008
fDate :
28-29 Sept. 2008
Firstpage :
25
Lastpage :
34
Abstract :
Bug-checking tools have been used with some success in recent years to find bugs in software. For finding bugs that can cause security vulnerabilities, bug checking tools require a program analysis which determines whether a software bug can be controlled by user-input. In this paper we introduce a static program analysis for computing user-input dependencies. This analysis can be used as a pre-processing filter to a static bug checking tool for identifying bugs that can potentially be exploited as security vulnerabilities. In order for the analysis to be applicable to large commercial software in the millions of lines of code, runtime speed and scalability of the user-input dependence analysis is of key importance. Our user-input dependence analysis takes both data and control dependencies into account. We extend static single assignment (SSA) form by augmenting phi-nodes with control dependencies. A formal definition of user-input dependence is expressed in a dataflow analysis framework as a meet-over-all-paths (MOP) solution. We reduce the equation system to a sparse equation system exploiting the properties of SSA. The sparse equation system is solved as a reachability problem that results in a fast algorithm for computing user-input dependencies. We have implemented a call-insensitive and a call-sensitive analysis. The paper gives preliminary results on the comparison of their efficiency for various benchmarks.
Keywords :
program debugging; program diagnostics; reachability analysis; dataflow analysis; graph reachability; meet-over-all-paths solution; software bug-checking tool; sparse equation system; static program analysis; static single assignment; user-input dependence analysis; Computer bugs; Computer worms; Data analysis; Data security; Equations; Inspection; Runtime; Software tools; Sun; Testing; Static single assignment form; static taint analysis;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Source Code Analysis and Manipulation, 2008 Eighth IEEE International Working Conference on
Conference_Location :
Beijing
Print_ISBN :
978-0-7695-3353-7
Type :
conf
DOI :
10.1109/SCAM.2008.22
Filename :
4637536
Link To Document :
بازگشت