Using static symbolic execution to detect buffer overflows


如何引用文章

全文:

开放存取 开放存取
受限制的访问 ##reader.subscriptionAccessGranted##
受限制的访问 订阅存取

详细

Buffer overrun remains one of the main sources of errors and vulnerabilities in the C/C++ source code. To detect such kind of defects, static analysis is widely used. In this paper, we propose a path-sensitive static analysis based on symbolic execution with state merging. For buffers with compile-time-known sizes, we present an interprocedural path- and context-sensitive overrun detection algorithm that finds program points satisfying a proposed error definition. The described approach was implemented in the Svace static analyzer without significant loss of performance. On Android 5.0.2, these detectors generated 351 warnings, 64% of which were true positives. In addition, we describe a prototype of an intraprocedural heap buffer overflow detector and present an example of a defect found by this detector.

作者简介

I. Dudina

Institute for System Programming; Faculty of Computational Mathematics and Cybernetics

编辑信件的主要联系方式.
Email: eupharina@ispras.ru
俄罗斯联邦, ul. Solzhenitsyna 25, Moscow, 109004; Moscow, 119991

A. Belevantsev

Institute for System Programming; Faculty of Computational Mathematics and Cybernetics

Email: eupharina@ispras.ru
俄罗斯联邦, ul. Solzhenitsyna 25, Moscow, 109004; Moscow, 119991

补充文件

附件文件
动作
1. JATS XML

版权所有 © Pleiades Publishing, Ltd., 2017