freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

新的npm定时攻击可能导致供应链攻击
中科天齐软件安全中心 2022-10-13 13:51:31 42995
所属地 北京

安全研究人员发现了一种npm计时攻击,该攻击揭示了私有软件包的名称,因此威胁参与者可以公开发布恶意克隆,诱骗开发人员使用它们。

这种攻击依赖于搜索私有包时返回的“404 Not Found”错误与在存储库中搜索不存在的包时返回的时间差。

虽然响应时间差只有几百毫秒,但这足以确定是否存在执行包模拟攻击的私有包。

组织为内部项目和某些软件产品创建私有包,以将开发团队陷入拼写错误攻击的风险降至最低,并将代码和功能保密。

对使用私有包的企业来说,保持私有包的私有是至关重要的。否则,攻击者可以创建克隆或类型化的软件包,黑客可以欺骗企业的员工下载并在软件项目中使用。

如果开发人员和内部软件测试人员没有发现妥协,产品可能会到达最终用户,从而影响供应链安全。

Aqua Security的威胁研究团队在一份报告中表示,攻击者越来越关注供应链攻击,2021年相关活动增长300%。

定时攻击详细信息

npm包含一个注册表API,允许用户下载现有包,检查包的存在,并接收特定范围内所有包的信息。

当使用npm注册表下载一个不存在或设置为private的包时,网站将返回一个404 HTTP错误码,表示无法找到包。

404  在npm上找不到API请求的响应

Aqua Security通过使用这个API检查他们在npm上创建的私有包是否存在,并将404 HTTP错误的响应时间与API检查不存在包的响应时间进行比较,从而发现了npm定时攻击。

研究人员通过五次检查是否存在一个包的名称来执行他们的测试。他们发现npm响应请求所需的平均时间有一个可测量的差异,这使他们能够辨别一个包是私有的还是不存在的。

更具体地说,私有包存在时的平均响应时间为648毫秒,而私有包不存在时的平均响应时间仅为101毫秒

研究人员认为这是由于npm的API的缓存机制和体系结构引入了这种信息泄露的潜力。

黑客可以尝试“盲”字典攻击,或者在目标组织的公共包中查找命名模式和组合,以获得可能的私有包名称。

此外,在线信息包含历史包信息,因此攻击者可以使用它们来确定哪些公共包可能已变为私有。

在后一种情况下,克隆软件包的潜在危害可能非常隐蔽,因为曾经是公共的软件包的旧副本可能仍保留足够的功能,以便在使用它的软件产品中按预期工作。

GitHub 不会修复此问题

Aqua Security在2022年3月8日向GitHub披露了该漏洞,但在3月25日被告知,由于架构限制,该漏洞将无法修复。

GitHub告诉Aqua Security:“由于这些架构上的限制,我们无法阻止定时攻击,因为它们决定了npm上是否存在特定的私有包。”

研究人员说,组织可以通过经常搜索npm来发现可疑的包,这些包用重复或类似的名称欺骗了他们的私有包,从而采取预防措施。

此外,由于npm不允许在公共存储库上上传同名包,组织可以创建公共包,将私有包伪装成占位符。

参读链接:

https://www.bleepingcomputer.com/news/security/new-npm-timing-attack-could-lead-to-supply-chain-attacks/

# 开发安全 # 软件供应链安全
本文为 中科天齐软件安全中心 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
中科天齐软件安全中心 LV.10
北京中科天齐信息技术有限公司
  • 761 文章数
  • 25 关注者
将 AI 和 DevSecOps 相结合:增强开发管道中的安全性
2025-03-25
软件开发安全中安全设计的 7 项原则
2025-02-26
SAST 的工作原理及其重要性
2025-02-24