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.


翻译:软件包管理员已成为现代软件开发过程的一个重要部分。 他们允许开发者重新使用第三方代码,共享自己的代码,最小化代码,并简化构建过程。 但是,最近的报告显示,软件包管理员被攻击者滥用于传播恶意软件,给开发者和最终用户带来巨大的安全风险。例如,Eslint-scope(一个每周下载数百万次的软件包)在Npm被破坏,以窃取开发者的证明书。为了了解安全漏洞和导致最近供应链袭击的错误信任,我们提出了一个比较框架,以便从质量上评估被解释语言的软件包管理员的功能和安全特征。根据定性评估,我们运用众所周知的方案分析技术,如元数据、静态和动态分析来研究登记册滥用问题。我们的初步工作发现,我们向登记册报告的339个新的恶意软件包(一个每周下载数百万次的Npm)被破坏。软件管理员确认了339个软件包的278(82%),其中3个有10万次以上的下载。我们为这些软件包发布了正式的CVE编号,以帮助加快从受感染的受害人中移除这些软件的参考。我们概述了如何调整程序分析工具的难度,以便将程序分析工具转换成一条管道,并释放成一条线路。我们如何确保软件的版本。

0
下载
关闭预览

相关内容

Processing 是一门开源编程语言和与之配套的集成开发环境(IDE)的名称。Processing 在电子艺术和视觉设计社区被用来教授编程基础,并运用于大量的新媒体和互动艺术作品中。
专知会员服务
38+阅读 · 2020年9月6日
【新书】Java企业微服务,Enterprise Java Microservices,272页pdf
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
37+阅读 · 2019年10月9日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
98+阅读 · 2019年10月9日
MIT新书《强化学习与最优控制》
专知会员服务
270+阅读 · 2019年10月9日
AI可解释性文献列表
专知
42+阅读 · 2019年10月7日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
LibRec 精选:推荐系统9个必备数据集
LibRec智能推荐
6+阅读 · 2018年3月7日
计算机类 | 国际会议信息7条
Call4Papers
3+阅读 · 2017年11月17日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年1月18日
Directions for Explainable Knowledge-Enabled Systems
Arxiv
26+阅读 · 2020年3月17日
Revealing the Dark Secrets of BERT
Arxiv
4+阅读 · 2019年9月11日
Arxiv
6+阅读 · 2018年1月29日
VIP会员
相关资讯
AI可解释性文献列表
专知
42+阅读 · 2019年10月7日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
LibRec 精选:推荐系统9个必备数据集
LibRec智能推荐
6+阅读 · 2018年3月7日
计算机类 | 国际会议信息7条
Call4Papers
3+阅读 · 2017年11月17日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员