|
This article is cited in 2 scientific papers (total in 2 papers)
Comparative analysis of two approaches to the static taint analysis
M. V. Belyaeva, N. V. Shimchika, V. N. Ignatyeva, A. A. Belevancevba a Institute for System Programming of the Russian Academy of Sciences
b Lomonosov Moscow State University
Abstract:
Currently, one of the most efficient ways to find software security problems is taint analysis. It can be based on static analysis and successfully detect errors that lead to vulnerabilities, such as code injection or leaks of private information. Several different ways exist for the implementation of the algorithm for the taint data propagation through the program intermediate representation: based on the dataflow analysis (IFDS) or symbolic execution. In this paper, we describe how to implement both approaches within the existing static analyzer infrastructure to find errors in C# programs, and compare these approaches in different aspects: the scope of application, practical completeness, results quality, performance and scalability. Since both approaches use a common infrastructure for accessing information about the program and are implemented by a single development team, the results of the comparison are significant and can be used to select the best option in the context of the task. Our experiments show that it’s possible to achieve the same completeness regardless of chosen approach. IFDS-based implementation has higher performance comparing with symbolic execution for detectors with small amount of taint data sources. In the case of multiple detectors and a large amount of sources the scalability of IFDS approach is worse than the scalability of symbolic execution.
Keywords:
taint analysis, static analysis, IFDS, symbolic execution.
Citation:
M. V. Belyaev, N. V. Shimchik, V. N. Ignatyev, A. A. Belevancev, “Comparative analysis of two approaches to the static taint analysis”, Proceedings of ISP RAS, 29:3 (2017), 99–116
Linking options:
https://www.mathnet.ru/eng/tisp224 https://www.mathnet.ru/eng/tisp/v29/i3/p99
|
|