Publication Type

Journal Article

Version

publishedVersion

Publication Date

2-2017

Abstract

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%

Keywords

Security auditing, static analysis, vulnerability, automated code fixing

Discipline

Information Security

Research Areas

Cybersecurity

Publication

Journal of Systems and Software

Volume

137

First Page

766

Last Page

783

ISSN

0164-1212

Identifier

10.1016/j.jss.2017.02.040

Publisher

Elsevier

Additional URL

https://doi.org/10.1016/j.jss.2017.02.040

Share

COinS