Skip to main content
QUICK REVIEW

[论文解读] Towards Measuring Supply Chain Attacks on Package Managers for Interpreted Languages

Ruian Duan, Omar Alrawi|arXiv (Cornell University)|Feb 4, 2020
Advanced Malware Detection Techniques参考文献 32被引用 12
一句话总结

本文提出了一种比较框架与分析流程 MalOSS,通过元数据、静态分析和动态分析,检测解释型语言包管理器(PyPI、Npm、RubyGems)中的供应链攻击。该研究识别出339个恶意包,其中278个(82%)已被移除,三个获得CVE编号,为注册表维护者提供了可操作的安全改进建议。

ABSTRACT

Package managers have become a vital part of the modern software development process. They allow developers to reuse third-party code, share their own code, minimize their codebase, and simplify the build process. However, recent reports showed that package managers have been abused by attackers to distribute malware, posing significant security risks to developers and end-users. For example, eslint-scope, a package with millions of weekly downloads in Npm, was compromised to steal credentials from developers. To understand the security gaps and the misplaced trust that make recent supply chain attacks possible, we propose a comparative framework to qualitatively assess the functional and security features of package managers for interpreted languages. Based on qualitative assessment, we apply well-known program analysis techniques such as metadata, static, and dynamic analysis to study registry abuse. Our initial efforts found 339 new malicious packages that we reported to the registries for removal. The package manager maintainers confirmed 278 (82%) from the 339 reported packages where three of them had more than 100,000 downloads. For these packages we were issued official CVE numbers to help expedite the removal of these packages from infected victims. We outline the challenges of tailoring program analysis tools to interpreted languages and release our pipeline as a reference point for the community to build on and help in securing the software supply chain.

研究动机与目标

  • 系统性地分析并比较解释型语言包管理器的安全性与功能性特征。
  • 识别近期在 PyPI、Npm 和 RubyGems 等注册表中发生的供应链破坏事件的根本原因与攻击向量。
  • 开发一种可重用、可扩展的分析流程,用于大规模检测恶意包。
  • 提出可操作的、基于证据的建议,以提升注册表安全性并加固软件供应链。
  • 发布 MalOSS 流程与恶意软件样本,以支持社区及未来研究。

提出的方法

  • 设计一种比较框架,用于评估包管理器生态系统在功能性、安全性和信任相关特性方面的表现。
  • 实现 MalOSS,一种定制化流程,结合元数据分析、静态代码分析和针对解释型语言的动态执行监控。
  • 将该流程应用于 PyPI、Npm 和 RubyGems 中超过一百万个包,以检测异常行为与恶意活动。
  • 利用被动式DNS数据估算检测到的恶意包在现实世界中的传播情况。
  • 借助威胁情报服务(如 VirusTotal)和人工验证,降低误报率并确认已知攻击。
  • 向注册表维护者报告发现结果,并与CVE权威机构协作处理高风险包。

实验结果

研究问题

  • RQ1解释型语言包管理器在安全性和功能性方面存在哪些关键差异,从而导致供应链攻击面扩大?
  • RQ2PyPI、Npm 和 RubyGems 中的恶意包如何利用信任机制并滥用注册表功能?
  • RQ3现有程序分析技术(静态、动态、元数据)在多大程度上能够检测解释型语言生态系统中的真实世界供应链攻击?
  • RQ4通过被动式DNS数据估算,检测到的恶意包在现实世界中的影响范围与传播速率如何?
  • RQ5可以提出哪些可操作的改进建议,以增强包管理器生态系统的信任机制、检测能力与响应效率?

主要发现

  • MalOSS 流程在 PyPI 中检测到7个恶意包,在 Npm 中检测到41个,在 RubyGems 中检测到291个,总计报告339个包。
  • 在报告的339个包中,278个(82%)在确认后被注册表维护者成功移除。
  • 报告的恶意包中有三个,每个下载量均超过10万次,并被分配了官方CVE标识符。
  • 研究揭示了复杂的攻击模式,包括凭据窃取、远程代码执行以及通过拼写错误包(typosquatting)实施的社会工程攻击。
  • 被动式DNS分析表明,部分恶意包已广泛传播,证实了其在现实世界中的影响。
  • 该框架与流程成功用于识别与验证威胁,证明了在解释型语言生态系统中实现大规模自动化检测的可行性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。