0%

Finding Bugs Using Your Own Code: Detecting Functionally-similar yet Inconsistent Code

来源信息

  • 机构:东北大学(USA)
  • 作者:Mansour Ahmadi, Reza Mirzazade Farkhani, Ryan Williams, Long Lu
  • Usenix 2021

摘要

对于同一个代码库来说,功能相似的代码片段,应该有着相似的形式

对于一组功能相似但段形式不同的代码段,如果其中一个正常的话,则另一个有很大的可能存在bug。基于这个思想,作者提出了一种基于两步聚类的bug识别方法FICS,第一步:在粗粒度上聚类出功能相似的代码段,第二步:对第一步聚类出的簇进行更细粒度的聚类,找出功能相似而形式不一致的代码段,最后人工对偏差代码段进行分析,确定其中的bug,该方法并不特定于一种类型的不一致或bug,可以用于未知类型bug的检测。同时FICS在QEMU和OPENSSL等5个开源库中找到了22个新的bug。

Read more »

SeqTrans: Automatic Vulnerability Fix via Sequence to Sequence Learning

来源信息

  • 机构:西安交通大学, UC Riverside
  • 作者:Jianlei Chi, Yu Qu, Ting Liu, Member IEEE, Qinghua Zheng, Member IEEE, Heng Yin, Member IEEE
  • 期刊:Arxiv

摘要

论文提出了一种自动化的源代码漏洞修复方法 SeqTrans。为了捕获漏洞代码的上下文信息,论文利用数据流依赖性来构建代码序列并将其输入到Transformer模型中。同时引入了注意力机制更好的学习漏洞和补丁之间的差异。在包含 1,282 次提交的数据集上评估了SeqTrans在单行和多行漏洞修复的效果。结果表明,SeqTrans 的准确率在单行修复中可以达到77.6%,在多行修复任务中可以达到52.5%的准确率。同时发现NMT(神经机器翻译) 模型在某些类型的漏洞中表现非常好,例如 CWE-287(不正确的身份验证)和 CWE-863(不正确的授权)。

Read more »

摘要

log4j2是Apache开源的一个日志框架,被很多的项目引用。log4j2在整个供应链中举足轻重,其漏洞影响范围也极大,为此我们对漏洞进行复现,并对漏洞产生原因进行分析。

Read more »

Vulnerability Detection with Fine-Grained Interpretations

来源信息

  • ESEC/FSE(CCF A)
  • 机构:新泽西理工学院(USA)
  • 作者:Yi Li; Shaohua Wang; Tien N. Nguyen

摘要

现有的漏洞检测技术大多只能检测代码片段是否存在漏洞,但是不能完成漏洞的定位。论文提出了IVDetect方法,通过PDG提取,并提取与漏洞语句有关的控制和依赖关系语句,利用FA-GCN对代码进行表征并进行分类。利用GNNExplainer对分类结果进行解释,从PDG中选取子图进行解释,如果评判子图对分类结果的重要性,来确定漏洞的具体的位置。

Read more »

摘要

现有的很多网站为了提高用户访问的效率和安全性,会采用CDN(内容分发网络)来加速。CDN解决的是如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过CDN对于数据的分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的。同时CDN都有很强的防护措施,正面很难突破,因此可以尝试绕过CDN找到真实的网站IP,直接通过IP访问真实服务器寻找各种漏洞以实现攻击。

Read more »

VDSimilar: Vulnerability detection based on code similarity of vulnerabilities and patches

来源信息

  • 机构:中国科学院大学、山东师范大学、广西师范大学
  • 作者:Hao Suna, Lei Cui, Lun Li, Zhenquan Ding, Zhiyu Hao,Jiancong Cui, Peng Liu
  • 期刊:Computers & security(CCF B)

摘要

现有的研究是将漏洞挖掘看作二分类任务,但是这需要大量的标记数据,去学习代码中的语法和语义上的相似性。文章认为漏洞的相似性是检测的关键。文章提出了基于BiLSTM算法的孪生网络检测模型,学习漏洞-漏洞,漏洞-补丁之间的差异,为了提高检测能力,引入了注意力机制。在OpenSSL和Linux的876个漏洞和补丁的数据集中,VDSimilar模型在OpenSSL的AUC值为97.17%(其中注意力机制的贡献为1.21%)优于现有的最先进的深度学习模型。

Read more »

Python Crypto Misuses in the Wild

来源信息

  • 机构:达姆施塔特工业大学
  • 作者:Anna-Katharina Wickert, Lars Baumgärtner, Florian Breitfelder, Mira Mezini

摘要

先前的研究表明,高达99.59%使用加密api的Java应用程序至少滥用一次API,但是针对Python的相关研究非常少,为了研究Python加密项目的API使用情况,作者开发了一个静态分析工具,涵盖了5种不同的Python加密api的常见滥用,分析了Github的895个项目和51个嵌入式项目,52.26%的Python项目至少有一次滥用。此外,一些Python加密软件库的API设计促使了开发人员滥用加密函数,而这些函数在使用Java和C的项目中更常见。

Read more »

SQVDT: A Scalable Quantitative Vulnerability Detection Technique for Source Code Security Assessment

来源信息

  • 机构:清华大学软件学院信息系统安全重点实验室
  • 作者:Junaid Akram,Ping Luo

摘要

在论文中,作者提出了一种漏洞检测技术来检测软件以及源代码级共享库中的漏洞,根据不同Web源的CVE编号跟踪和定位补丁文件,从而抓取脆弱源代码,并构建了2931个脆弱文件的指纹索引。之后,作者开发了一个基于代码克隆检测技术的漏洞检测方法,并在数千个Github开源项目中检测了数百个未被发现的漏洞,在最新版本的Linux、HTC内核、FindX中也有检测到漏洞。此外,作者还对这些漏洞进行了实证评估和验证,包括项目内克隆漏洞、复制内核克隆漏洞和库使用的克隆漏洞。该技术非常快速、高效、可靠、实用、可伸缩,可以在工业层面上实现。与最先进的工具的比较显示了该方法的有效性。

Read more »