npm 新型定时攻击或导致软件供应链安全风险
原标题:
New npm timing attack could lead to supply chain attacks
原文链接:
据 Beepingcomputer 消息,安全研究人员发现了一种npm定时攻击,它会泄露私有软件包的名称,因此攻击者可以基于此公开发布恶意克隆软件包,以欺骗开发者使用它们。
该攻击的原理是利用在开发者搜索私有软件包时与库中的软件包相匹配时返回“404 Not Found”错误的微小时间差。虽然响应时间的差异只有几百毫秒,但这足以确定一个私有软件包是否存在,进而对包进行冒充。
企业为内部项目和某些软件产品创建私有软件包,以最大限度地减少其开发团队陷入错别字攻击的风险,并保密代码和功能。
企业让私有软件包一直处于私密状态是非常重要的,否则攻击者可以创建克隆或用有错别字的软件包以迷惑企业员工下载并在软件项目中使用它。如果开发者和内部软件测试人员没有发现这一纰漏,产品直达终端用户从而造成供应链的安全风险。
在一份由Aqua威胁研究团队出品的报告中指出,攻击者越来越关注软件供应链攻击,2021年针对软件供应链的攻击活动数量比往年翻了3倍。
定时攻击详情
npm包含了一个 registry API,它允许用户下载已存在的软件包,并检查包是否存在以及在特定范围内接收所有包的信息。当使用npm镜像仓库来下载不存在或者已经设为私密的软件包时,网站会返回一个 404 HTTP 的错误代码,这意味着无法找到软件包。

在npm中对一个API请求响应 404 Not Found
Aqua通过使用该API检查他们在npm上创建的私有软件包是否存在,并比较 404 HTTP 错误与API检查不存在的包的响应时间,从而发现了npm定时攻击。
研究人员通过检查5次某个软件包名称是否存在来进行测试。他们发现,npm响应请求所需的平均时间存在差异,这使他们能够分辨出一个软件包是私有的还是不存在的。具体而言,当私有软件包存在时其平均响应时间是648毫秒,而当其不存在时响应时间下降为101毫秒。

5次请求的响应时间
研究人员认为这是由于npm本身的缓存机制及API架构导致了这种信息泄露的可行性。
黑客可以尝试“全盲”字典式攻击,或者在目标组织的公开软件包中总结命名规律,以推导出可能的私有软件包名称。此外,在线信息中可能包含包的历史信息,所以攻击者可以利用它们来确定哪些公开包可能在后来会转为私密。
在后一种情况下,使用克隆包的潜在风险是较为隐蔽的,因为一个曾经公开的包的旧副本可能仍保留足够的功能,并依旧在软件产品中发挥作用。
GitHub 将不会修复这一问题
Aqua 曾于2022年3月向 GitHub 报告这一bug,但在3月25日时被告知由于架构限制将不会修复它。“由于架构所限,我们无法防止由于确定npm中是否存在特定私有软件包而产生的定时攻击”。
研究人员指出企业可以采取预防性措施,如经常在npm中检索可疑软件包,这些包常会以重复或相似的名字来迷惑开发人员。此外,由于npm不允许在公开的仓库中上传同名软件包,企业可以创建与私有包相似或重复名字的公开软件包来阻止恶意包的创建。
总而言之,维护软件供应链安全是一项复杂且极具挑战的工作,需要企业时刻关注软件开发各个阶段的安全。Seal 软件供应链防火墙为用户提供软件开发生命周期全阶段的端到端全局可视化,并且能快速识别和定位安全风险,根据漏洞严重等级评分确定修复优先级。
npm 新型定时攻击或导致软件供应链安全风险的更多相关文章
- Kubernetes 时代的安全软件供应链
点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 汤志敏 阿里云 ...
- SLSA 框架与软件供应链安全防护
随着软件供应链攻击浪潮愈演愈烈,Google 发布了一系列指南来确保软件包的完整性,旨在防止影响软件供应链的未经授权的代码修改.新的 Google SLSA 框架(Supply-chain Level ...
- CSO视角:Sigstore如何保障软件供应链安全?
本文作者 Chris Hughes,Aquia的联合创始人及CISO,拥有近20年的网络安全经验. SolarWinds 和 Log4j 等影响广泛的软件供应链攻击事件引起了业界对软件供应链安全的关注 ...
- Seal 0.4 发布:软件供应链安全洞察更上一层楼!
今天,我们很高兴宣布 Seal 0.4 已正式发布!在上一个版本中,Seal 完成了从单一产品到全链路平台的转变,通过全局视图帮助用户掌握软件开发生命周期各个环节的安全状况. 在 Seal 0.4 中 ...
- CNCF社区首个!KubeEdge达到软件供应链SLSA L3等级
摘要:在v1.13.0版本中,KubeEdge项目已达到 SLSAL3等级(包括二进制和容器镜像构件),成为CNCF社区首个达到SLSA L3等级的项目. 本文分享自华为云社区<CNCF社区首个 ...
- 华为V-ISA信誉安全体系:对付新型DDoS攻击的利器
华为Anti-DDoS解决方案基于华为颇具传统优势的专业软硬件平台开发,在防护机制中,引入先进的检测机制,提供了业内首创的“V-ISA”信誉安全体系,是业界唯一单机可提供超百G DDoS防御能 ...
- 基于 Docker 的现代软件供应链
[编者按]本文作者为 Marc Holmes,主要介绍一项关于现代软件供应链的调查结果.本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 3 月初,为了了解软件供应链的现状以及 D ...
- OpenSSF安全计划:SBOM将驱动软件供应链安全
在 软件成分分析(SCA)一文中,我们简单提到软件物料清单(SBOM)在安全实践中的价值. 本期文章将带你深入了解 "SBOM 无处不在"计划是什么,以及 SBOM 对未来软件供应 ...
- 同时大量连接导致的DDOS攻击,导致收发器宕机,用户大面积超时掉线
前段时间一个客户改成电信网通自动路由后(当然和这个没有关系,但是客户一般没有分析能力,会多想),用户经常大面积掉线,用户才180多个,在线最多也才120多,十分苦恼,原先帮其维护的技术人员,只是远程诊 ...
- MySQL意外关闭, 导致软件崩溃而无法启动的解决办法
在初次搭建XAMPP,Apache和MySQL都可以正常启动,一旦关机重启XAMPP时,发现Apache可以正常启动:而MySQL却不能正常运行,会碰到 Error: MySQL shutdown u ...
随机推荐
- 关于react提问以及解答
1. 请教个工程问题. 团队运用webpack打包前端代码,转译后的文件每次都需要push到代码库远端:从开发角度而言,是不希望这部分代码在代码库的:两个原因:1是不方便代码review,2是代码仓库 ...
- 使用 Appilot 部署 Llama2,会聊天就行!
Walrus 是一款基于平台工程理念的应用管理平台,致力于解决应用交付领域的深切痛点.借助 Walrus 将云原生的能力和最佳实践扩展到非容器化环境,并支持任意应用形态统一编排部署,降低使用基础设施的 ...
- 关于Linux性能监控之CPU篇详解
http://news.chinaunix.net/opensource/2013/0228/2654519.shtml # vmstat 1 procs -----------memory----- ...
- windows文件搜索;文件预览;全文搜索,只需myso就够了
简介 现在提到windows文件搜索,大家可能会想到Everything.Listary.AnyTXT这三款工具,它们各有自己的专长,不能相互替代,需要安装至少两款才能高效的搜索电脑文件.现在向大 ...
- Upload again!
这道题没做出来,是看题解解出来的 先上传一个.htacess文件用来后面解析jpg格式的木马 再上传木马图片 注意:这里的木马比较特殊,需要为以下这样子的写法,我也不知道为啥 <script l ...
- WPF --- 如何以Binding方式隐藏DataGrid列
引言 如题,如何以Binding的方式动态隐藏DataGrid列? 预想方案 像这样: 先在ViewModel创建数据源 People 和控制列隐藏的 IsVisibility,这里直接以 MainW ...
- [ARC122D] XOR Game
Problem Statement There are $2N$ integers written on a blackboard. The $i$-th integer is $A_i$. Alic ...
- 带圆角的虚线边框?CSS 不在话下
今天,我们来看这么一个非常常见的切图场景,我们需要一个带圆角的虚线边框,像是这样: 这个我们使用 CSS 还是可以轻松解决的,代码也很简单,核心代码: div { border-radius: 25p ...
- Java如何连接Mysql数据库
条件:eclipse.MySQL .jdbc驱动 eclipse.MySQL 的安装.下载jdbc连接驱动 eclipse的安装去官网下载并安装 MySQL .jdbc的下载地址请访问:https:/ ...
- Nginx的安装与运行
前言:本文是基于虚拟机上的centOS 7对Nginx的安装,可以使用uname -a查看centOS系统版本,本文用来记录安装nginx的步骤和相关命令,方便日后使用时查看. 去官网https:// ...