微软、苹果、特斯拉、PayPal和Uber等35家大型公司的内部系统遭黑客利用“依赖混淆”攻入

DeGao 2025-09-02 15:09:41

一名研究人员在一次新颖软件供应链攻击中成功闯入逾35家大公司内部系统,这些大公司涵盖微软、苹果、PayPal、Shopify、网飞、Yelp、特斯拉、优步等,


攻击过程涵盖将恶意软件上传到涵盖PyPI、npm、RubyGems在内开源代码库,而后恶意软件自动向下游分发,进入到相应公司内部应用软件中,

不像传统蓄意错误拼写攻击依赖社会工程学手段或受害者拼错软件包名称,这种特殊供应链攻击更为复杂,原因在于它根本不须要受害者采纳任何操作,受害者自动收到恶意软件包,

这是由于攻击利用开源生态系统中一种前无古人后无来者设计缺陷,名为依赖混淆〔dependency confusion〕,

由于伦理道德研究就业,这名研究人员获得逾13万美元漏洞赏金,

恶意软件自动向下游分发

去年,保障研究人员Alex Birsan与另一名研究人员Justin Gardner协作时无意中引发一個想法,

Gardner当时与Birsan共享一個清单文件package.json,该清单文件来自PayPal内部运用npm软件包,


PayPal软件包公共、私有〔就内部开发〕依赖项

Birsan注意到一些清单文件软件包并非在公共npm代码库中,而是PayPal私下创建npm软件包,由该公司在内部运用、存储,

这位研究人员看到这一点后就想:要是名称一样软件包除存在于私有NodeJS代码库中外,还存在于公共npm代码库中,哪一個获得优先级?

为检验这一假设,Birsan开始探寻在GitHub代码库或著名公司CDN中清单文件中可以找到,但并非存在于公共开源代码库中私有内部软件包名称,

而后,该研究人员开始在npm、PyPI、RubyGems之类开源代码库上创建运用同样名称假冒项目,

Birsan发布每個软件包都是在他真实帐户下发布,显然附有免责声明,声称“该软件包仅用于保障研究目,不含有任何有用代码,”


附有保障研究声明发布软件包

Birsan很快意识到,倘若应用程序运用依赖项软件包同时存在于公共开源代码库、私有代码库中,公共软件包将获得优先级并被获取,无需开发者员采纳任何操作,

在一些情况下,与PyPI软件包一样,研究人员注意到:任凭坐落何处,较高版本软件包都将获得优先级,

利用这种技术,Birsan只需发布运用与相应公司内部软件包名称相同公共软件包,就可以对微软、苹果、PayPal、Shopify、网飞、特斯拉、Yelp、优步实施成功供应链攻击,

“我感觉,依赖混淆与蓄意错误拼写或品牌劫持大不相同,因它未必须要来自受害者任何一种手动输入,”

Birsan在电子邮件采访中告诉IT保障外媒BleepingComputer:“相反,自动编译或安装工具中漏洞或设计缺陷大概会导致公共依赖项被误感觉是名称百分之百相同内部依赖项,”

经由DNS实行侦察、数据渗漏

这些软件包有preinstall〔预安装〕脚本:一旦编译流程获取软件包,这类脚本就会自动启动脚本,从机器向外泄露身份识别信息,

Birsan晓得他脚本会与公司网络奠定连接,因为这個定夺利用DNS来渗漏数据,防止被检测到,

Birsan在其博文中称:“晓得大多数大概意向都坐落精心呵护公司网络内部深处,所以我感觉DNS渗漏是有效手法,”


DNS用于侦察、数据渗漏

下面显示代码片段来自蓄意错误拼写npm软件包“analytics-paypal”,该软件包现已从npm删除,反而作为Sonatype保障研究人员,我能够从咱们自动恶意软件检测系统中检索到它,

一旦“analytics-paypal”依赖项被获取,该脚本就会自动启动,并含有向dns.alexbirsan-hacks-paypal.com发出DNS请求代码,

从PayPal系统收到回调随后会警告研究人员:发出请求IP属于PayPal,运用者名、受感染系统主目录也属于PayPal,


概念验证〔PoC〕软件包渗漏数据

Birsan一收到此类回调,并百分之百验证其假冒组件成功渗入到公司网络,就向相应公司报告发现结果,因而领取漏洞赏金,

领到逾13万美元赏金

这名研究人员经由漏洞悬赏计划、预先批准渗透测试协议,共领到逾13万美元赏金,

Birsan警告:“我感觉有必需阐明这一点,就在此研究过程中攻击每一家组织都事先允许接受保障测试,或经由公共漏洞悬赏计划或经由私下协议,请别在未经授权情况下尝试实行这种测试,”

Birsan披露后,微软向他发放其漏洞悬赏计划最高金额:4万美元,并发布有关该保障难题白皮书,

微软将影响其Azure Artifactory产品这個难题标为CVE-2021-24105,

反而微软在电子邮件中告诉Birsan,他们感觉这是软件包管理器中一個设计缺陷,

“虽说咱们将其视作一個严重保障难题,但最后只能经由重新配置安装工具、就业流程,而不是经由更正软件包代码库自身中任何内容来修复该难题,”

“为搞定该难题,微软对Azure Artifacts实行小幅改进,以确保可以作为一种权威变通方法,”

微软发言人在电子邮件中说:“话虽这般,咱们还是感觉该难题根本原因是软件包管理器中一個设计缺陷〔而不是bug〕,只能经由重新配置才干予以搞定,”

Yelp在发给BleepingComputer声明中证实该研究人员报告,在一天之内打上补丁后对他给予奖励,

“经由Yelp漏洞悬赏计划,Alex Birsan协助咱们揪出一個漏洞,咱们立马在一天之内打上补丁,”

Yelp发言人告诉BleepingComputer:“咱们全力于与保障专家协作,密切Follow最新保障技术,并依靠咱们漏洞悬赏计划来奖励技术娴熟保障研究人员协助改善Yelp系统、服务,”

苹果告诉BleepingComputer,Birsan将因负责任地披露该难题而获得苹果保障悬赏计划奖励,

PayPal现已公开披露Birsan在HackerOne上报告内容,提到3万美元赏金,

反而,该研究人员保障研究就业并未得到所有人接受,

Python软件基金会董事Dustin Ingram是谷歌开发倡导者,他经过一番调查后,从PyPI撤下Birsan几個软件包,他说:“我感觉〔这〕個原因大概足以将这些项目从PyPI上撤下,”

Ingram花一個小时撤下这些软件包后着重,将非法软件包上传到PyPI上给自愿维护PyPI人员带来无需需负担,

Ingram进一步说:“最后,倘若您有兴致呵护运用者免受这种攻击,有更非常好方法可以来呵护整個生态系统,而不是呵护推行漏洞悬赏计划仅仅几家组织,”

预计攻击会增加,这是很难搞定棘手难题

Birsan表达,经由这项针对大公司研究,他已经使这些著名科技公司意识到这种攻击,现在它们已经在各自基石架构中实施某种缓解措施,但是这名研究人员感觉还会发现更多受害者,

这种攻击仍有大概重新露面、越来越常见,尤其是在无法轻松搞定依赖混淆难题开源平台上,

这位研究人员在博文中下结论:“具体来说,我感觉找到泄漏内部软件包名称新方法将会揭露更多易受攻击系统,而深入研究要攻击其他编程语言、代码库将为依赖混淆漏洞揭示另外某個攻击面,”

Sonatype已在GitHub上发布一個脚本,Nexus Repository Manager运用者可以运行该脚本,检查自己任何私有依赖项是否以公共npm、RubyGems、PyPI代码库中存在现有软件包命名,供应其他工件〔artifact〕代码库管理器公司大概采用同样实行方法,

BleepingComputer已事先联系本文中提到几家公司,涵盖微软、苹果、PayPal、Shopify、网飞、特斯拉、Yelp、优步,本文附有发稿前做出回应几家公司声明。

参考资料:

1、https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610

2、https://www.bleepingcomputer.com/news/security/researcher-hacks-over-35-tech-firms-in-novel-supply-chain-attack/

很高兴你能耐心的读完我的文章,你一定不想在AI时代错过原创、深挖的消息,请关注DeGao的Twitter,不迷路!

相关资讯