Comparative Analysis of Two Approaches to Static Taint Analysis


Cite item

Full Text

Open Access Open Access
Restricted Access Access granted
Restricted Access Subscription Access

Abstract

Currently, one of the most efficient ways to detect software security flaws is taint analysis. It can be based on static code analysis, and it helps detect bugs that lead to vulnerabilities, such as code injection or leaks of private data. Two approaches to the implementation of tainted data propagation over the program intermediate representation are proposed and compared. One of them is based on dataflow analysis (IFDS), and the other is based on symbolic execution. In this paper, the implementation of both approaches in the framework of the existing static analyzer infrastructure for detecting bugs in C# programs are described. These approaches are compared from the viewpoint of the scope of application, quality of results, performance, and resource requirements. Since both approaches use a common infrastructure for accessing information about the program and are implemented by the same team of developers, the results of the comparison are more significant and accurate than usual, and they can be used to select the best option in the context of the specific program and task. Our experiments show that it is possible to achieve the same completeness regardless of the chosen approach. The IFDS-based implementation has higher performance comparing with the symbolic execution for detectors with a small amount of tainted data sources. In the case of multiple detectors and a large number of sources, the scalability of the IFDS approach is worse than the scalability of the symbolic execution.

About the authors

M. V. Belyaev

Ivannikov Institute for System Programming, Russian Academy of Sciences

Author for correspondence.
Email: mbelyaev@ispras.ru
Russian Federation, Moscow, 109004

N. V. Shimchik

Ivannikov Institute for System Programming, Russian Academy of Sciences

Author for correspondence.
Email: shimnik@ispras.ru
Russian Federation, Moscow, 109004

V. N. Ignatyev

Ivannikov Institute for System Programming, Russian Academy of Sciences

Author for correspondence.
Email: valery.ignatyev@ispras.ru
Russian Federation, Moscow, 109004

A. A. Belevantsev

Ivannikov Institute for System Programming, Russian Academy of Sciences; Moscow State University

Author for correspondence.
Email: abel@ispras.ru
Russian Federation, Moscow, 109004; Moscow, 119992

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2018 Pleiades Publishing, Ltd.