Finding Fixed Vulnerabilities with Off-the-Shelf Static Analysis
Finding Fixed Vulnerabilities with Off-the-Shelf Static Analysis
复制标题
DOI:
10.1109/eurosp57164.2023.00036
复制
发表时间:
2023-07
期刊:
影响因子:
--
通讯作者:
T. Dunlap;Seaver Thorn;W. Enck;Bradley Reaves
中科院分区:
文献类型:
--
作者:
T. Dunlap;Seaver Thorn;W. Enck;Bradley Reaves
Software depends on upstream projects that regularly fix vulnerabilities, but the documentation of those vulnerabilities is often unreliable or unavailable. Automating the collection of existing vulnerability fixes is essential for downstream projects to reliably update their dependencies due to the sheer number of dependencies in modern software. Prior efforts rely solely on incomplete databases or imprecise or inaccurate statistical analysis of upstream repositories. In this paper, we introduce Differential Alert Analysis (DAA) to discover vulnerability fixes in software projects. In contrast to statistical analysis, DAA leverages static analysis security testing (SAST) tools, which reason over code context and semantics. We provide a language-independent implementation of DAA and show that for Python and Java based projects, DAA has high precision for a ground-truth dataset of vulnerability fixes — even with noisy and low-precision SAST tools. We then use DAA in two large-scale empirical studies covering several prominent ecosystems, finding hundreds of resolved alerts, including many never publicly disclosed. DAA thus provides a powerful, accurate primitive for software projects, code analysis tools, vulnerability databases, and researchers to characterize and enhance the security of software supply chains.