DySec:基于机器学习的 PyPI 生态系统中恶意软件包动态分析检测
密码学与安全
2025-03-04 v1 软件工程
摘要
恶意 Python 软件包通过利用对 Python 包索引(PyPI)等开源仓库的信任,使软件供应链面临漏洞。缺乏实时行为监控使得元数据检查和静态代码分析无法应对高级攻击策略,如拼写劫持、隐蔽远程访问激活和动态载荷生成。为应对这些挑战,我们提出了 DySec,一个基于机器学习的 PyPI 动态分析框架,利用 eBPF 内核级和用户级探针在软件包安装过程中监控行为。通过捕获 36 个实时特征——包括系统调用、网络流量、资源使用、目录访问和安装模式——DySec 检测拼写劫持、隐蔽远程访问激活、动态载荷生成和多阶段攻击恶意软件等威胁。我们开发了一个包含 14,271 个 Python 软件包的综合数据集,其中包括 7,127 个恶意样本轨迹,通过在受控隔离环境中执行获得。实验结果表明,DySec 达到 95.99% 的检测准确率,延迟低于 0.5 秒,与静态分析相比将假阴性率降低 78.65%,与元数据分析相比降低 82.24%。在评估期间,DySec 标记了 11 个 PyPI 归类为良性的软件包。人工分析(包括安装行为检查)确认其中 6 个为恶意。这些发现已报告给 PyPI 维护者,导致 4 个软件包被移除。DySec 通过独特地检测安装时恶意行为,弥合了传统被动方法与主动、可扩展的威胁缓解之间的差距。
引用
@article{arxiv.2503.00324,
title = {DySec: A Machine Learning-based Dynamic Analysis for Detecting Malicious Packages in PyPI Ecosystem},
author = {Sk Tanzir Mehedi and Chadni Islam and Gowri Ramachandran and Raja Jurdak},
journal= {arXiv preprint arXiv:2503.00324},
year = {2025}
}