Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2021, Volume 33, Issue 1, Pages 7–32
DOI: https://doi.org/10.15514/ISPRAS-2021-33(1)-1
(Mi tisp569)
 

This article is cited in 3 scientific papers (total in 3 papers)

Searching for tainted vulnerabilities in static analysis tool Svace

A. E. Borodina, A. V. Goremykinba, S. P. Vartanova, A. A. Belevantsevba

a Ivannikov Institute for System Programming of the RAS
b Lomonosov Moscow State University
Full-text PDF (606 kB) Citations (3)
References:
Abstract: The paper is dedicated to search for taint-based errors in the source code of programs, i.e. errors caused by unsafe use of data obtained from external sources, which could potentially be modified by an attacker. The interprocedural static analyzer Svace was used as a basis. The analyzer searches both for defects in the program and searches for suspicious places where the logic of the program may be violated. The goal is to find as many errors as possible at an acceptable speed and a low level of false positives (< 20–35%). To find errors, Svace with help of modified compiler builds a low-level typed intermediate representation, which is used as an input to the main SvEng analyzer. The analyzer builds a call graph and then performs summary-based analysis. In this analysis, the functions are traversed according to the call graph starting from the leaves. After analyzing the function, its summary is created, which will then be used to analyze the call instructions. The analysis has both high speed and good scalability. Intra-procedural analysis is based on symbolic execution with the union of states at merge points of paths. An SMT solver can be used to filter out infeasible paths for some checkers. In this case, the SMT-solver is called only if there is a suspicion of an error. The analyzer has been expanded to find defects of tainted data using. The checkers are implemented as plugins by using the source-sink scheme. The sources are calls of library functions that receive data from outside the program, as well as the arguments of the main function. Sinks are accessing to arrays, using variables as a step or loop boundary, calling functions that require checked arguments. Checkers covering most of the possible types of vulnerabilities for tainted integers and strings have been implemented. The Juliet project was used to assess the coverage. The false negative rate ranged from 46.31% to 81.17% with a small number of false positives.
Keywords: static analysis, symbolic execution, taint analysis, Svace, search for defects, vulnerabilities.
Funding agency Grant number
Russian Foundation for Basic Research 20-01-00581
This work was supported by the Russian Foundation for Basic Research, project №20-01-00581 А
Document Type: Article
Language: Russian
Citation: A. E. Borodin, A. V. Goremykin, S. P. Vartanov, A. A. Belevantsev, “Searching for tainted vulnerabilities in static analysis tool Svace”, Proceedings of ISP RAS, 33:1 (2021), 7–32
Citation in format AMSBIB
\Bibitem{BorGorVar21}
\by A.~E.~Borodin, A.~V.~Goremykin, S.~P.~Vartanov, A.~A.~Belevantsev
\paper Searching for tainted vulnerabilities in static analysis tool Svace
\jour Proceedings of ISP RAS
\yr 2021
\vol 33
\issue 1
\pages 7--32
\mathnet{http://mi.mathnet.ru/tisp569}
\crossref{https://doi.org/10.15514/ISPRAS-2021-33(1)-1}
Linking options:
  • https://www.mathnet.ru/eng/tisp569
  • https://www.mathnet.ru/eng/tisp/v33/i1/p7
  • This publication is cited in the following 3 articles:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:129
    Full-text PDF :173
    References:17
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024