Security slicing for auditing common injection vulnerabilities - THOME, Julian (Institutional Knowledge at Singapore Management University, 2017)
Cross-site scripting and injection vulnerabilities are among the most common and serious security issues for Web applications. Although existing static analysis approaches can detect potential vulnerabilities in source code, they generate many false warnings and source-sink traces with irrelevant information, making their adoption impractical for security auditing. One suitable approach to support security auditing is to compute a program slice for each sink, which contains all the information required for security auditing. However, such slices are likely to contain a large amount of information that is irrelevant to security, thus raising scalability issues for security audits. In this paper, we propose an approach to assist security auditors by defining and experimenting with pruning techniques to reduce original program slices to what we refer to as security slices, which contain sound and precise information. To evaluate the proposed approach, we compared our security slices to the slices generated by a stateof-the-art program slicing tool, based on a number of open-source benchmarks. On average, our security slices are 76 % smaller than the original slices. More importantly, with security slicing, one needs to audit approximately 1%