发生了什么
天启三百九十九年(西历2025年) 2 月 21 日晚上十点左右(中国时间),王恭厂,啊不是,ByBit 的钱包发生了一次惊天动地的大爆炸 [1],巨响传播数十里,让整个以太坊昏天黑地,14.6亿美元的资产飞向了太阳。
具体来说,他们的“冷”钱包合约被一笔绕过了审查人员的眼睛的多签升级了,允许攻击者任意操作其中的资产。[2]
调查
寻找战犯
一开始,大家认为是 Bybit 操作人员的设备被黑了,因为 Bybit 的人员在多签操作的时候看到的内容是完全正常的转账交易,但是随着调查的深入,大家发现一个更严重的问题:Safe 的前端确实出现了问题,但是被黑的不是 Bybit 的设备,而是 Safe 的服务器。毕竟大家认为,作为加密货币的基础设施和专业人士,Gnosis Safe 的安全性是有保障的,对吗?
很可惜,不对。在 Safe 这篇初步报告发出后,大家发现一个开发者的设备竟然能直接更改前端而不需要经过任何审批流程,而 Safe 自己给出的初步报告[3] 对于受攻击范围却含糊其词。
光之国的太阳
Mandiant[4] 的研究发现,开发人员可能被黑的原因是受到了社交工程攻击(和他不大好使的脑子)的影响,以特权模式运行了一个未知的容器,从而提权到了开发者的设备上,然后进一步通过木马或其他方式拿到了该工程师的凭据,之后通过凭据向 Safe 的服务器安装了恶意代码。
这个恶意代码只在地址是 Bybit 的多签合约的时候才会生效,这样就可以绕过其他项目审查人员的眼睛,避免被发现。
奶酪片
只有所有的奶酪片上的洞连在一起,老鼠才能吃到奶酪。
实际上,仅仅只有 Safe 被攻击并不能为将军购买新的人民的迈巴赫,攻击者显然还了解 Bybit 内部的流程(和他们采用 Ledger 直接连接到页面,而不是通过钱包的方式),如果 Bybit 通过浏览器钱包连接前端,他们实际上有机会发现签署的内容并不是他们要进行的转账。
结论
- 金融科技也是金融,至少银行知道把上线生产环境的权限放到一个不会被外部攻击的隔离环境中进行操作。单独买几台电脑可比 14.6 亿美元便宜多了。
- 如果你不知道你在签什么东西,那你签的很可能是你妈妈的火化证明,不仅是合同,还有密码学签名。
- Docker 并不是虚拟机。