据悉,将于2023年9月11日至15日在卢森堡举行的国际软件工程学术会议(ASE 2023, the 38th IEEE/ACM International Conference on Automated Software Engineering)接受了学院方勇教授团队最新的研究成果《An Empirical Study of Malicious Code In PyPI Ecosystem》。该工作由3200威尼斯vip、南洋理工大学合作完成,其中3200威尼斯vip为第一署名单位,2020级硕士研究生郭文博作为第一作者(导师方勇、黄诚),通讯作者为方勇教授。
ASE由IEEE和ACM联合主办,是软件工程领域国际知名的顶级会议之一。ASE针对大型软件系统的自动化分析、设计、实现、测试和维护等方面,给来自学术界和工业界的软件工程研究者和实践者提供了共同讨论的平台,分享相关领域最新研究成果、技术和工具等信息,是中国计算机学会推荐国际学术会议(软件工程、系统软件与程序设计语言)A类会议(CCF A)。本届会议共收到629篇投稿,最终接收134篇,接收率为21.3%。
论文简介:PyPI为开发人员提供了一个方便易用的包管理平台,使他们能够快速实现特定功能,提高工作效率。然而,PyPI生态系统的快速发展也导致了严重的恶意包传播问题。恶意贡献者将恶意软件包伪装成正常包给终端用户带来了重大安全风险。为此,本研究对PyPI生态恶意代码做了大规模的实证研究,以了解其生命周期的特征和现状。首先构建了自动化数据采集框架,并构建了包含4669个恶意包文件的多源恶意代码数据集,这是当前最大的开源可用数据集。
根据恶意行为特征,论文设计了自动化的分类模型,初步将恶意代码分为五类。研究发现,超过 50% 的恶意代码表现出多种恶意行为,其中信息窃取和命令执行尤其普遍。此外,还发现了几种新颖的攻击向量和反检测技术。安装时攻击是将恶意代码嵌入在setup.py文件中,当恶意包被安装时会触发其中的恶意代码。运行时攻击的恶意代码嵌入在“other.py”中,当受害者调用具体的方法时才会触发。
引入时攻击是将恶意代码嵌入在__init__.py文件中,当恶意包被import时才会触发其中的恶意代码。
分析显示,74.81%的恶意包通过源码安装成功进入终端用户项目,从而增加了安全风险。同时,研究发现恶意软件包持续存在于全球PyPI镜像服务器中,其中超过72%的恶意软件包在被发现后仍长期存在于镜像服务器中。
最后,本研究给出了PyPI生态系统中恶意代码的生命周期图,有效反映了恶意代码在不同阶段的特征。并提出了一些建议的缓解措施,以提高Python开源生态系统的安全性。