VulPecker: an automated vulnerability detection system based on code similarity analysis

Z. Li, Deqing Zou, Shouhuai Xu, Hai Jin, H. Qi, Jie Hu
{"title":"VulPecker: an automated vulnerability detection system based on code similarity analysis","authors":"Z. Li, Deqing Zou, Shouhuai Xu, Hai Jin, H. Qi, Jie Hu","doi":"10.1145/2991079.2991102","DOIUrl":null,"url":null,"abstract":"Software vulnerabilities are the fundamental cause of many attacks. Even with rapid vulnerability patching, the problem is more complicated than it looks. One reason is that instances of the same vulnerability may exist in multiple software copies that are difficult to track in real life (e.g., different versions of libraries and applications). This calls for tools that can automatically search for vulnerable software with respect to a given vulnerability. In this paper, we move a step forward in this direction by presenting Vulnerability Pecker (VulPecker), a system for automatically detecting whether a piece of software source code contains a given vulnerability or not. The key insight underlying VulPecker is to leverage (i) a set of features that we define to characterize patches, and (ii) code-similarity algorithms that have been proposed for various purposes, while noting that no single code-similarity algorithm is effective for all kinds of vulnerabilities. Experiments show that VulPecker detects 40 vulnerabilities that are not published in the National Vulnerability Database (NVD). Among these vulnerabilities, 18 are not known for their existence and have yet to be confirmed by vendors at the time of writing (these vulnerabilities are \"anonymized\" in the present paper for ethical reasons), and the other 22 vulnerabilities have been \"silently\" patched by the vendors in the later releases of the vulnerable products.","PeriodicalId":419419,"journal":{"name":"Proceedings of the 32nd Annual Conference on Computer Security Applications","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"188","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 32nd Annual Conference on Computer Security Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2991079.2991102","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 188

Abstract

Software vulnerabilities are the fundamental cause of many attacks. Even with rapid vulnerability patching, the problem is more complicated than it looks. One reason is that instances of the same vulnerability may exist in multiple software copies that are difficult to track in real life (e.g., different versions of libraries and applications). This calls for tools that can automatically search for vulnerable software with respect to a given vulnerability. In this paper, we move a step forward in this direction by presenting Vulnerability Pecker (VulPecker), a system for automatically detecting whether a piece of software source code contains a given vulnerability or not. The key insight underlying VulPecker is to leverage (i) a set of features that we define to characterize patches, and (ii) code-similarity algorithms that have been proposed for various purposes, while noting that no single code-similarity algorithm is effective for all kinds of vulnerabilities. Experiments show that VulPecker detects 40 vulnerabilities that are not published in the National Vulnerability Database (NVD). Among these vulnerabilities, 18 are not known for their existence and have yet to be confirmed by vendors at the time of writing (these vulnerabilities are "anonymized" in the present paper for ethical reasons), and the other 22 vulnerabilities have been "silently" patched by the vendors in the later releases of the vulnerable products.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
VulPecker:基于代码相似度分析的漏洞自动检测系统
软件漏洞是许多攻击的根本原因。即使对漏洞进行了快速修补,问题也比看上去要复杂得多。一个原因是,相同漏洞的实例可能存在于多个软件副本中,难以在现实生活中跟踪(例如,库和应用程序的不同版本)。这就需要能够根据给定的漏洞自动搜索易受攻击软件的工具。在本文中,我们向这个方向迈进了一步,提出了一个自动检测一段软件源代码是否包含给定漏洞的系统Vulnerability Pecker (VulPecker)。VulPecker的关键见解是利用(i)我们定义的一组特征来描述补丁,以及(ii)针对各种目的提出的代码相似算法,同时注意到没有单一的代码相似算法对所有类型的漏洞都有效。实验表明,VulPecker检测到40个未在国家漏洞数据库(NVD)中公布的漏洞。在这些漏洞中,有18个不知道它们的存在,并且在撰写本文时尚未得到供应商的确认(出于道德原因,这些漏洞在本文中被“匿名化”),另外22个漏洞已经被供应商在漏洞产品的后续版本中“默默地”修补。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
ShieldFS: a self-healing, ransomware-aware filesystem CoKey: fast token-based cooperative cryptography Proceedings of the 32nd Annual Conference on Computer Security Applications Reliably determining data leakage in the presence of strong attackers Code obfuscation against symbolic execution attacks
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1