自复制蠕虫袭击180余个软件包:NPM供应链安全危机

安全研究人员发现名为Shai-Hulud的自复制蠕虫感染了NPM软件库中187个代码包,能够窃取开发者凭证并自动传播。该恶意软件利用被盗认证令牌修改热门软件包,已在CrowdStrike等多个知名软件包中短暂出现,凸显软件供应链安全脆弱性。

自复制蠕虫袭击180余个软件包

专家警告,JavaScript代码库NPM中至少187个代码包感染了一种自复制蠕虫,该蠕虫会窃取开发者凭证并将这些秘密发布在GitHub上。这款恶意软件曾短暂感染安全供应商CrowdStrike的多个代码包,且每次安装受感染软件包时都会窃取并发布更多凭证。

这款新型恶意软件被命名为"Shai-Hulud"——名称源自弗兰克·赫伯特的《沙丘》小说系列中的巨型沙虫——因为它会在新的公共GitHub存储库中发布所有被盗凭证,该存储库包含"Shai-Hulud"名称。

比利时安全公司Aikido的研究员Charlie Eriksen表示:“当开发者安装受感染软件包时,恶意软件会在环境中查找npm令牌。如果找到,它将修改该npm令牌有权访问的20个最热门软件包,将自身复制到软件包中,并发布新版本。”

这场不断发展的风暴中心是NPM(Node Package Manager的缩写)上提供的代码库,该平台作为JavaScript开发的中心枢纽,为广泛使用的JavaScript组件提供最新更新。

Shai-Hulud蠕虫出现前几天,未知攻击者发起了一场广泛的网络钓鱼活动,该活动冒充NPM并要求开发者"更新"其多因素身份验证登录选项。该攻击导致恶意软件被插入至少两个NPM代码包中,但疫情很快得到控制,且主要专注于窃取加密货币支付。

8月下旬,另一起NPM开发者遭入侵事件导致恶意软件被添加到"nx"中,这是一个开源代码开发工具包,每周下载量高达600万次。在nx入侵事件中,攻击者引入了代码,该代码会扫描用户设备,从GitHub和NPM等程序员目的地以及SSH和API密钥中获取身份验证令牌。但是,恶意的nx代码没有将这些被盗凭证发送到攻击者控制的中央服务器,而是在受害者的GitHub账户中创建了一个新的公共存储库,并在那里发布被盗数据,供全世界查看和下载。

上个月对nx的攻击不像蠕虫那样自我传播,但这款Shai-Hulud恶意软件确实可以自我传播,并捆绑了侦察工具以协助其传播。即,它使用开源工具TruffleHog搜索开发者机器上暴露的凭证和访问令牌。然后它尝试创建新的GitHub操作并发布任何被盗秘密。

Aikido的Eriksen告诉KrebsOnSecurity:“一旦第一个人被感染,就无法阻止它。“他表示,该蠕虫入侵的第一个NPM软件包似乎是在9月14日世界标准时间17:58左右被修改的。

专注于安全的代码开发平台socket.dev报告称,Shai-Halud攻击曾短暂入侵CrowdStrike管理的至少25个NPM代码包。Socket.dev表示,受影响的软件包已被NPM注册表快速移除。

在与KrebsOnSecurity分享的书面声明中,CrowdStrike表示,在检测到公共NPM注册表中的几个恶意软件包后,公司迅速移除了它们,并在公共注册表中轮换了其密钥。

声明中写道:“这些软件包未在Falcon传感器中使用,平台未受影响,客户仍受保护,“声明指的是该公司广泛使用的端点威胁检测服务。“我们正在与NPM合作并进行彻底调查。”

StepSecurity对此次攻击的分析发现,对于云特定操作,恶意软件会枚举AWS、Azure和Google Cloud Platform秘密。它还发现整个攻击设计假设受害者在Linux或macOS环境中工作,并且故意跳过Windows系统。

StepSecurity表示,Shai-Hulud通过使用被盗的NPM身份验证令牌传播,将其代码添加到受害者账户中的前20个软件包。

StepSecurity的Ashish Kurmi写道:“这产生了连锁效应,受感染的软件包导致维护者凭证泄露,进而感染该用户维护的所有其他软件包。”

Eriksen表示,Shai-Hulud仍在传播,尽管其传播速度最近几小时似乎已经减弱。

Eriksen说:“我仍然不时看到软件包版本弹出,但在过去约6小时内没有新的软件包被入侵。但随着东海岸开始工作,情况可能会发生变化。我几乎将此次攻击视为一个’活物’,就像病毒一样。因为它可以休眠一段时间,如果只是一个人突然意外感染,他们可能会重新开始传播。特别是如果存在超级传播者攻击。”

Eriksen表示,目前,攻击者用于泄露收集数据的网址似乎因速率限制而被禁用。

Nicholas Weaver是加利福尼亚州伯克利非营利组织国际计算机科学研究所的研究员。Weaver称Shai-Hulud蠕虫为"进行供应链攻击的供应链攻击”。Weaver表示,NPM(及所有其他类似软件包存储库)需要立即切换到一种发布模式,该模式要求使用防网络钓鱼的双因素认证方法对每个发布请求进行明确的人工同意。

Weaver说:“任何不足都意味着此类攻击将继续并变得更加普遍,但切换到双因素认证方法将在这些攻击传播之前有效遏制它们。允许纯自动化流程更新已发布的软件包现在被证明是灾难的根源。”

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计