开源软件包

新的威胁:开源软件包中的恶意软件

开源生态系统是现代软件开发的基石,促进了创新和协作。然而,正是这种开放性使其容易受到各种网络威胁。 Comparitech 的报告2023年,发现了超过100亿种恶意软件和潜在有害应用程序(PUA),表明恶意软件相关攻击仍然是严重的网络威胁。 

开源软件包中的新恶意软件系列

安装篡改恶意软件

工作方式: 此类恶意软件会篡改开源软件包的安装过程。它会在软件包安装过程中注入恶意代码,然后在每次使用该软件包时执行该代码。

所利用的漏洞: 安装-篡改 恶意软件利用了用户的信任 开源存储库中的位置以及包安装过程中缺乏严格的安全检查。

保护策略: 为了防止安装篡改恶意软件,使用经过验证和签名的软件包、为存储库帐户启用双因素身份验证以及定期对依赖项进行安全审核至关重要。

安装篡改恶意代码示例:npm 包“colors”(2022)

描述:

“colors” 包是一个流行的 npm 库,用于为控制台日志添加颜色效果。它广泛应用于各种 Node.js 应用程序。

运作方式:

2022 年初, “颜色” 包 被恶意修改,在其主文件中包含无限循环脚本。 这一改变是由项目维护者亲自做出的,据称是为了抗议企业在没有足够支持或捐赠的情况下使用开源项目。

影响:

这一修改导致任何使用受损版本的“颜色”的应用程序崩溃,从而导致依赖该软件包运营的众多企业和软件系统大面积中断。

得到教训:

此次事件凸显了基于信任的开源软件包管理模型固有的漏洞。它强调了维护者需要坚持道德 standard并要求用户在其开发环境中对第三方依赖项进行彻底的审查和测试。“colors”案还强调了支持开源维护者的重要性,以防止倦怠和不道德的报复。

首次使用后门

工作方式: 此后门在首次导入和使用开源包时激活。它可以将系统信息发送到远程服务器或下载额外的有效载荷。

所利用的漏洞: 首次使用后门利用首次使用包时执行未经验证的代码,通常会绕过静态分析工具。

保护策略: 审查和监控新导入的包的代码并使用动态分析工具检测异常行为是防御首次使用后门的关键。

首次使用后门的示例:Webmin 后门事件(2019 年)

描述:

Webmin 是用于 Unix 系统管理的流行 Web 界面。2019 年, 发现该软件已被破解 后门 在被发现之前,该信息已在代码中存在了一年多。

运作方式:

该后门通过受感染的构建服务器秘密引入 Webmin GitHub 存储库。只有管理员使用 Webmin 界面更改密码时,恶意代码才会激活。一旦触发,它就会允许以 root 权限执行远程命令。

影响:

该后门随 Webmin 1.882 至 1.921 版本一起发布,可能影响超过 XNUMX 万个网站和服务器。该后门使系统向远程攻击者开放,攻击者可能完全控制服务器,从而导致数据被盗、服务器被劫持以及进一步的网络入侵。

得到教训:

此事件凸显了构建过程受到威胁时可能出现的严重漏洞。它强调了保护构建服务器和定期对软件开发生命周期进行安全审核的重要性。Webmin 案例还表明,即使软件更新来自可靠来源,也需要对其进行彻底审查。

运行时感染蠕虫

工作方式: 该蠕虫潜伏在开源软件包中,并在运行时激活,可能传播到其他软件包和系统。

所利用的漏洞: 运行时感染蠕虫利用开源项目的互联特性,其中一个受损的软件包可能会影响其他软件包。

保护策略: 实施严格的运行时行为监控和异常检测系统可以帮助识别和减轻此类威胁。

运行时感染 P2PInfect 的示例:生锈的点对点自复制蠕虫

描述:

P2P感染 是由 Unit 2 云研究人员发现的一种点对点 (P42P) 蠕虫。

该蠕虫使用 Rust(一种高度可扩展且云友好的编程语言)编写,能够跨平台感染,并以 Redis(一种在云环境中广泛使用的流行开源数据库应用程序)为目标。

如何使用:

初始利用:

  • P2PInfect 利用易受攻击的 Redis 实例中的 Lua 沙盒逃逸漏洞 CVE-2022-0543。
  • 该漏洞允许蠕虫在Lua脚本环境中执行任意代码。

有效负载交付:

  • 一旦获得初始访问权,P2PInfect 就会丢弃初始有效负载,以与更大的网络建立 P2P 通信。
  • 然后,蠕虫会拉取其他恶意二进制文件,包括特定于操作系统的脚本和扫描软件。

传播:

  • 受感染的 Redis 实例加入 P2P 网络,为未来受感染的 Redis 实例提供对其他有效负载的访问权限。
  • P2PInfect 同时针对 Linux 和 Windows 操作系统,这使得它比其他蠕虫更具可扩展性和效力。

冲击:

Unit 42 的研究人员发现,过去两周内有超过 307,000 个 Redis 系统公开通信,其中 934 个可能容易受到此 P2P 蠕虫变种的攻击。

P2PInfect 是威胁行为者利用此漏洞进行严重攻击的一个例子。

得到教训:

开发人员必须检查并验证他们的软件包、保持依赖项为最新,并谨慎对待软件包名称和来源。

警惕和持续监控对于防止此类供应链攻击至关重要。

依赖链攻击

工作方式: 攻击者破坏依赖链中的一个包,进而影响所有依赖该包的其他包。

所利用的漏洞: 此攻击利用了对包依赖关系的信任以及一个受损包的级联效应。

保护策略: 使用软件组合分析工具来跟踪和管理开源组件及其依赖关系可以防止依赖链攻击。

依赖链攻击示例 npm 包“event-stream”(2018 年):供应链入侵

描述:

2018 年,流行的 npm 包名为 “事件流” 被妥协了.

此次攻击涉及依赖链操纵,影响了毫无戒心的用户。

运作方式:

初始攻击:

  • 攻击者接管了一个较少使用的依赖项“flatmap-stream”。
  • 他们将恶意代码注入“flatmap-stream”。

传播:

  • 受到破坏的“flatmap-stream”是广泛使用的包“event-stream”的依赖项。
  • 许多项目在不知情的情况下安装了被感染的“event-stream”包。

影响:

攻击者获取了毫无戒心的用户的敏感信息。

该事件凸显了通过依赖关系进行供应链攻击的风险。

得到教训:

开发人员必须检查并验证他们的软件包、保持依赖项为最新,并谨慎对待软件包名称和来源。

警惕和持续监控对于防止此类供应链攻击至关重要。

使用 Xygeni 保护您的开源项目

如上所述,开源生态系统是一把双刃剑——在促进创新的同时,也使你的软件面临重大风险,例如 安装篡改 恶意软件、首次使用后门和依赖链攻击。这些威胁的后果非常严重,保护您的软件供应链至关重要。

西吉尼 提供强大的解决方案,旨在保护您的开源项目免受这些不断演变的威胁。我们的工具可确保您的依赖项保持安全,使您的软件保持弹性并使您的开发过程顺利进行。

让设计更智能cis离子与全面的封装分析

鉴于开源软件包的复杂性,做出明智的选择至关重要。Xygeni 的 完整封装分析 使您能够快速评估开源组件的安全性。借助我们的平台,您可以放心地选择安全可靠的软件包,避免不安全的依赖项的风险。通过使智能设计cis离子,您可以构建更强大,更安全的应用程序,经得起时间的考验。

利用实时恶意软件检测主动防御

在威胁入侵您的系统后才做出反应是不够的。这就是 Xygeni 提供的原因 实时恶意软件检测 在零日恶意软件等威胁出现时立即将其捕获。我们的系统会立即拦截恶意代码,防止其进入您的开发环境。通过快速采取行动,您可以确保您的项目从一开始就保持安全。

通过持续监控保护您的供应链

在快节奏的软件开发世界中,变化不断发生。Xygeni 的 持续的供应链监控 密切关注每次更新。我们的主动保护可检测并阻止依赖项中的可疑更改,从而防止受损的软件包进入您的项目。借助 Xygeni,您可以维护安全可靠的供应链,保护您的软件免受潜在威胁。

使用 Xygeni 控制您的安全

如您所见,开源软件中的风险是真实存在的,而且还在不断增长。Xygeni 的安全解决方案为您提供了有效管理这些风险的工具。通过专注于早期检测、全面的软件包分析和持续监控,您可以保护您的软件免受新兴威胁的侵害。不要让您的开源项目处于危险之中——立即使用 Xygeni 增强您的安全策略,并安心地知道您的软件和数据是安全的。

准备好保护你的开源项目了吗? 让 Xygeni 帮助您预防威胁并构建能够应对接下来可能发生的任何威胁的弹性软件。

探索Xygeni 的功能!
观看我们的视频演示
sca-tools-软件-成分分析工具
确定软件风险的优先级、进行补救并加以保护
7-day免费试用
无需信用卡

保护您的软件开发和交付

使用 Xygeni 产品套件