An Effective Buffer Overflow Detection With Super Data-Flow Graphs

Yuantong Zhang, Liwei Chen, Xiaofan Nie, Gang Shi · 2022

Buffer overflow vulnerabilities have been a severe threat to computer systems in the past few decades. Therefore, several static approaches have been proposed for automatic vul-nerability detection and fixing. Static approaches are efficient but require large memory space to maintain all necessary information at different program points for precision. Existing works are usually tradeoffs between throughput capacity and precision. In this paper, we propose a novel buffer overflow detection approach by performing the progressive data-flow evaluation on programs with their super data-flow graphs, which are expected to cover all real data-flow paths. For this purpose, we realized the super data-flow graph generation based on classic reaching-definition analysis, as well as the progressive data-flow evaluation approach. With progressive evaluation, we transform all necessary data-flow paths into SMT formulas and use an SMT solver to check whether these formulas satisfy certain vulnerable conditions. Finally, we evaluated our approach with Juliet Test Suites v1.3 and it detected all vulnerabilities with a very low false positive rate. Meanwhile, it also detected 8 known CVE vulnerabilities.

Read the paper · More papers on PaperTik