一名罗马尼亚威逼研究员 Alex Birsan 在一份报告中具体阐明了他是如何侵入世界上一些大公司的 IT 零碎的。他胜利地入侵了苹果、微软、特斯拉、贝宝、Netflix 和其余 30 多家公司。
Alex Birsan 当时告诉了这些公司,他将测试他们零碎的安全性,但没有当时向他们提供细节。
破绽攻打成功率惊人
Alex Birsan 通过启动一个绝对简略的攻打模式实现了这些工作: 他用公共代码包定期地替换由服务器激活的公有代码包。当搜寻代码包时,公司应用的自动化零碎会进入公共存储库。如果执行某个特定性能须要 Javascript、Ruby 或 Python 模块,公司服务器将主动将一个公共模块替换为本人的外部模块,如果它检测到一个名称雷同的包,它认为这是一个更新的版本。
Birsan 说,他的破绽裸露了“主动构建或装置工具中的破绽或设计缺点,这些破绽或缺点可能导致将公共依赖项误认为是名称完全相同的外部依赖项。”
Birsan 利用了这个破绽,将代码注入到存储在 GitHub 等公共存储库中的包中。他把这种刻意的名称反复和随后的文件替换称为“依赖性混同”。
他首先必须确定代码文件应用的公司名称,这样他就能够创立同名的伪造文件,但他发现这项工作绝对容易。例如,Shopify 主动装置了一个来自 Birsan 的伪造文件,他猜对了这个文件是“Shopify-cloud”。
Birsan 对本人的战绩做了评估,他说:“成功率几乎令人吃惊,咱们可能主动扫描指标公司的数百万个域名,并提取出数百个尚未在 npm 注册中被认领的 javascript 包名称。”
研究员靠入侵测试赚了 13 万美元
这种由歹意参与者植入的信息可能会对整个公司的网络造成严重破坏,扰乱公司经营,窃取数据或希图敲诈钱财。
Birsan 的代码并没有歹意,他只检索了每台受代码影响的计算机的根本信息,包含用户名、主机名和每个惟一装置的以后门路。当指标公司激活 Birsan 代码时,程序就会告诉他。
除了内部 IP,这些数据足以帮忙平安团队依据这份报告辨认可能存在破绽的零碎,同时防止 Birsan 的测试被误认为是理论攻打。
作为回报,Birsan 收到了这些公司领取给发现破绽的钻研人员的“破绽赏金”,他收到的赏金总额超过了 13 万美元。
此外,Birsan 的一位共事 Justin Gardner 查看了一个外部 JavaScript 包管理文件,他想晓得如果将一个名字雷同的文件放在一个公共存储库中会产生什么。他们很快发现,无论哪个文件有最近的版本号,都会被公司的服务器点击。
Birsan 示意大多数受影响的公司可能在收到入侵告诉后迅速修补他们的零碎。但他认为对开源平台依赖性的混同依然是一个问题。