0%

原文标题:An Empirical Study of Malicious Code In PyPI Ecosystem
原文作者:Wenbo Guo, Zhengzi Xu, Chengwei Liu, Cheng Huang, Yong Fang, Yang Liu
原文链接:https://arxiv.org/pdf/2309.11021.pdf
发表会议:ASE 2023
笔记作者:郭文博@安全学术圈
主编:黄诚@安全学术圈

1、研究介绍

PyPI作为Python包管理平台,为开发人员提供了便捷的工具来加速功能实现和提升工作效率。然而,PyPI生态的迅速扩展也伴随着恶意包的广泛传播问题。开发者通过将恶意包伪装成常规组件来威胁下游用户和项目的安全。当前,PyPI恶意代码检测领域面临着高质量、大规模数据集的缺乏,这限制了对该生态中恶意代码特征的深入了解。为应对这一挑战,本研究构建了一个自动化恶意代码收集框架,利用PyPI镜像站点及其他渠道收集高质量恶意代码数据,并在此基础上进行实证研究,以揭示PyPI生态中恶意代码的特性。

基于以上动机,作者围绕PyPI生态恶意代码展开了研究,并回答以下四个关键的研究问题:

1)代码属性: PyPI生态中恶意代码的主要属性和来源是什么?它们与其他平台相比如何?

2)攻击策略: 攻击者如何结合不同的攻击策略和恶意行为将代码注入到PyPI生态中的开源包?这些策略是如何在不同的平台和目标中演化和适应的?

3)反检测技术: 目前的检测工具在识别恶意包方面的有效性如何?恶意代码采用了哪些反检测技术来逃避这些检测工具,以及这些规避技术对其在野的分布产生了何种影响?

4)影响和渗透: 在PyPI生态系统中,恶意软件包对终端用户的影响如何随时间演变?哪些操作系统遭受了影响,以及恶意软件包是如何渗透到用户系统中的?

Read more »

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 »