Generalized vulnerability extrapolation using abstract syntax trees

ACSAC '12: Proceedings of the 28th Annual Computer Security Applications Conference(2012)

引用 272|浏览0
暂无评分
摘要
The discovery of vulnerabilities in source code is a key for securing computer systems. While specific types of security flaws can be identified automatically, in the general case the process of finding vulnerabilities cannot be automated and vulnerabilities are mainly discovered by manual analysis. In this paper, we propose a method for assisting a security analyst during auditing of source code. Our method proceeds by extracting abstract syntax trees from the code and determining structural patterns in these trees, such that each function in the code can be described as a mixture of these patterns. This representation enables us to decompose a known vulnerability and extrapolate it to a code base, such that functions potentially suffering from the same flaw can be suggested to the analyst. We evaluate our method on the source code of four popular open-source projects: LibTIFF, FFmpeg, Pidgin and Asterisk. For three of these projects, we are able to identify zero-day vulnerabilities by inspecting only a small fraction of the code bases.
更多
查看译文
关键词
code base,security flaw,method proceed,known vulnerability,computer system,generalized vulnerability extrapolation,abstract syntax tree,security analyst,source code,manual analysis,general case,malware,evolution,similarity
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要