[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ Skip to main content
Log in

Comparative Analysis of Two Approaches to Static Taint Analysis

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (United Kingdom)

Instant access to the full article PDF.

Fig. 1.
Fig. 2.

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

REFERENCES

  1. T. Reps, T., Horwitz, S., and Sagiv, M., Precise interprocedural dataflow analysis via graph reachability, Proc. of the 22nd ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, San Francisco, Calif., ACM, 1995, pp. 49–61. http://doi.acm.org/ 10.1145/199448.199462

    Google Scholar 

  2. Arzt, S. et al., FlowDroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps, Proc. of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, Edinburgh, United Kingdom, ACM, 2014, pp. 259–269. http://doi.acm.org/10.1145/2594291.2594299

    Book  Google Scholar 

  3. Fritz, C. et al., Highly precise taint analysis for Android applications, Techn., Rep., No. TUD-CS-2013-0113, EC SPRIDE, 2013. http://www.bodden.de/pubs/ TUD-CS-2013-0113.pdf.

  4. Koshelev, V.K., Ignatyev, V.N., and Borzilov, A.I., C\(\# \) static analysis framework, Trudy Inst. Sist. Program. Ross. Akad. Nauk, 2016, vol. 28, no. 1, pp. 21–40.

    Google Scholar 

  5. Koshelev, V., Dudina, I., Ignatyev, V., and Borzilov, A., Path-sensitive bug detection analysis of C\(\# \) program illustrated by null pointer dereference, Trudy Inst. Sist. Program. Ross. Akad. Nauk, 2015, vol. 27, no. 5, pp. 59–86.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to M. V. Belyaev, N. V. Shimchik, V. N. Ignatyev or A. A. Belevantsev.

Additional information

Translated by A. Klimontovich

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Belyaev, M.V., Shimchik, N.V., Ignatyev, V.N. et al. Comparative Analysis of Two Approaches to Static Taint Analysis. Program Comput Soft 44, 459–466 (2018). https://doi.org/10.1134/S036176881806004X

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S036176881806004X

Keywords:

Navigation