Recently, the number of malicious open-source packages in package repositories has been increasing dramatically. While major security scanners focus on identifying known Common Vulnerabilities and Exposures (CVEs) in open-source packages, there are very few studies on detecting malicious packages. Malicious open-source package detection typically requires static, dynamic analysis, or both. Dynamic analysis is more effective as it can expose a package's behaviors at runtime. However, current dynamic analysis tools (e.g., ossf's package-analysis) lack an automatic method to differentiate malicious packages from benign packages. In this paper, we propose an approach to extract the features from dynamic analysis (e.g., executed commands) and leverage machine learning techniques to automatically classify packages as benign or malicious. Our evaluation of nearly 2000 packages on npm shows that the machine learning classifier achieves an AUC of 0.91 with a false positive rate of nearly 0%.


翻译:近年来,软件包仓库中的恶意开源软件包数量急剧增加。虽然主流安全扫描器主要关注识别开源软件包中已知的通用漏洞与暴露(CVE),但针对恶意软件包检测的研究却非常有限。恶意开源软件包的检测通常需要静态分析、动态分析或两者结合。动态分析更为有效,因为它能在运行时揭示软件包的行为。然而,当前的动态分析工具(例如ossf的package-analysis)缺乏自动区分恶意软件包与良性软件包的方法。本文提出一种方法,从动态分析(例如执行的命令)中提取特征,并利用机器学习技术自动将软件包分类为良性或恶意。我们在npm上对近2000个软件包的评估表明,机器学习分类器的AUC达到0.91,误报率接近0%。

0
下载
关闭预览

相关内容

软件(中国大陆及香港用语,台湾作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件就是程序加文档的集合体。
《使用静态污点分析检测恶意代码》CMU最新30页slides
专知会员服务
21+阅读 · 2023年10月11日
Python图像处理,366页pdf,Image Operators Image Processing in Python
国家自然科学基金
17+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
VIP会员
相关基金
国家自然科学基金
17+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
Top
微信扫码咨询专知VIP会员