arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2103.05769cs.CRcs.SE
收藏

使用轻量级权限系统在npm中包含恶意软件包更新

Containing Malicious Package Updates in npm with a Lightweight Permission System

Gabriel Ferreira, Limin Jia, Joshua Sunshine, Christian Kästner

摘要:

在快速发展的软件生态系统中,大量的第三方软件包(如Node.js/npm)使攻击者能够通过将恶意更新推送到其软件包依赖关系中来危害应用程序。通过研究npm存储库,我们发现Node.js应用程序中使用的npm存储库中的许多包只执行简单的计算,不需要访问文件系统或网络API。这提供了对每个包强制执行最小特权设计的机会,从而保护应用程序和包依赖项免受恶意更新的影响。我们提出了一个轻量级的权限系统,通过在运行时强制执行包权限来保护Node.js应用程序。我们讨论了解决方案的设计空间,并表明我们的系统使得大量的软件包更难被利用,几乎是免费的。

英文摘要:

The large amount of third-party packages available in fast-moving software ecosystems, such as Node.js/npm, enables attackers to compromise applications by pushing malicious updates to their package dependencies. Studying the npm repository, we observed that many packages in the npm repository that are used in Node.js applications perform only simple computations and do not need access to filesystem or network APIs. This offers the opportunity to enforce least-privilege design per package, protecting applications and package dependencies from malicious updates. We propose a lightweight permission system that protects Node.js applications by enforcing package permissions at runtime. We discuss the design space of solutions and show that our system makes a large number of packages much harder to be exploited, almost for free.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑