技术深度丨币安被盗的7074.18枚比特币去哪了?
最近一年的时间里,在业务上,我们只选择支持 Binance。我们选择 Binance 作为第一个交易所合作伙伴,因为我们相信 Binance 的追踪记录、安全协议以及对用户的承诺。
因此,当发现 Binance 被黑了7074.18枚比特币时,对我们来说,这真是一个毁灭性的打击。
事情是怎样的?
如果你了解整个事件,可选择跳过这部分。
对于这次“灾难”,Binance 没有对外发表太多言论。虽然他们已经分享了关于盗窃的一些细节,但对于更细微的细节,他们却仍在保持沉默。
根据他们最近(5月10日)更新的博客,他们正在努力保持最高程度的透明度,但担心分享太多的安全细节会让黑客感到不安,并最终削弱他们自己的安全。
尽管如此,我仍旧认为让社区真正了解到底发生了什么是十分有必要的,因此我将在本文中深入探讨。
活动时间表
以下是我们对事件发生时间的了解。
5月7日下午5:15(世界协调时),7074.18枚比特币从 Binance 热钱包中抽出。
5月7日下午7:00(世界协调时),Binance 关闭了非预定维护的存款和取款。 Cz 向用户保证,基金是 SAFU,交易不会中断。
5月7日11时36分(世界协调时),Binance 宣布了一个安全漏洞,并证实黑客能够从 Binance 热钱包中提取7074.18枚比特币。
5月8日下午12时42分(世界协调时),Binance 限制所有现有 API 密钥只允许交易,并宣布所有现有 API 密钥将在 UTC 时间下午1:30删除。
5月8日下午1:30(世界协调时),Binance 删除所有现有 API 密钥。
这次盗窃和之前有何相似之处?
无论是最近、还是过去的攻击都涉及到 Binance 的 API 和网络钓鱼。
黑客通过将自己伪装成值得信赖的实体,然后欺骗用户泄露敏感信息。
一个用来“钓鱼”的假 Binance 登录界面
通常被盗取的信息是用户 API 密钥,这使得攻击者能够以编程的方式与交易所进行交互,就好像他们自己就是用户一样。
在 Binance 上有3个不同级别的 API 权限:
当用户创建一组 API 密钥时,一般情况下,读取和交易权限默认开启,提取权限则被禁用。由于提取权限可能会带来高风险,Binance 要求用户首先设置双重身份验证和 IP 白名单。
在 SYS 和 VIA 攻击期间,攻击者大部分时间都只得到了纯交易访问API密钥。因为攻击者不能从只有交易访问权限的账户中提取资金,所以他们必须首先重新分配资金。
他们是这样做的:
你可以在 Binance 交易历史中找到证明上述方法的证据。在2018年的 API 黑客攻击中,攻击者通过以提高 SYS 和 VIA 的价格的方式,试图转移前面提到的资金。
如下图,在2018年7月3日和2018年3月6日,SYS / BTC 和 VIA / BTC 的价格和成交量分别出现了异常。
这次有什么不同?
这一次,攻击方式有所不同。根据 Binance 的官方声明,黑客能够获得大量的用户 API 密钥、谷歌验证 2FA 码和一些其他敏感信息。
通过 2FA 码,黑客完全可以启用提取权限,同时禁用 IP 白名单。这一次,黑客不需要冒着被人怀疑的风险而提高数字货币价格,进行多次交易,然后将资金转移,这次攻击更容易。
为了证实这一推理,我从 Binance 的 API 中提取了上个月每小时的交易数据。
如果 API 密钥被用来操纵交易,交易量和货币价格将会出现异常峰值。
交易数据比较
我计算了黑客攻击前30天交易量和价格的每小时最大值,还计算了黑客攻击当天的交易量和价格的每小时最大值。
目的是比较两者,看看黑客攻击当天的每小时价格和交易量是否有所上升。
成交量比较
下表按攻击当天每小时最大值(1D_max)和攻击前30天每小时最大值(30D_max)之间的百分比差排序。
交易量
可以看到,LINK/PAX 在黑客攻击当天的每小时交易量出现了大于3倍增长,但这个数字还没有大到能引起怀疑,特别是考虑到事实上,链接 / pax 的价格没有飙升以及。
价格比较
在黑客入侵的当天,在最极端的情况下,我们也只看到价格上涨了34%。
这进一步说明,此次攻击中黑客没有操纵价格。
交易价格
虽然攻击者可能会在周围进行交易而不会引起注意,但我认为这是不可能的。在不影响价格和交易量的前提下,要转移7074.18枚比特币,需要许多账户,或者说,需要很长时间。
如果是这样的话,长时间的交易活动很可能会引起原始账户所有者的怀疑,用户会觉察到自己的资金正慢慢耗尽。一旦有用户向 Binance 投诉,这将会给黑客们带来灾难。
黑客仍在逍遥法外
比特币的价值和可靠性在很大程度上归功于账本的不可变性。但这也意味着,一旦成功提款,基本上就不可能追回被盗资金。
Binance 证实,黑客能够在这一次交易中提取7074.18枚比特币。我使用 Google BigQuery 查询与黑客有关的交易,并绘制出被盗资金的动向图如下。
圆圈代表钱包地址,线条代表被盗资金流向。圆圈和线宽与两地址间发送的比特币数成正比。
币安被盗资金动向图(不包含小于一个比特币的交易)
Transaction Depth=1
币安被盗资金动向图(不包含小于一个比特币的交易)
Transaction Depth=2
币安被盗资金动向图(不包含小于一个比特币的交易)
Transaction Depth=3
币安被盗资金动向图(不包含小于一个比特币的交易)
Transaction Depth=4
被盗比特币能被追回吗?
据我所知,还不存在 Depth>4 的交易。黑客们正“清洗”被盗的比特币,并将其存在一些固定的地址中。
下面是一个更大的可视化图像,标注了单个钱包地址。
币安被盗资金动向图(不包含小于一个比特币的交易)
附带地址
从某种程度上来说,追踪这些比特币的来源是非常不可行的,因为涉及这些被盗比特币的交易数量将呈指数级增长。
目前,有3种常见追踪受污染数字货币的方法。
从长远来看,我认为这些方法都不能奏效。给受污染的货币贴上标签或者加入黑名单,从根本上削弱了比特币的可替代性和抗审查性。我不支持那些试图追回或将被盗比特币列入黑名单的想法。
澄清阴谋论
交易所黑客是阴谋论的温床。虽然我们没有时间在文章中解决所有问题,但我们可以处理一些最尖锐的问题。
是 Binance 把7074.18枚比特币搞砸了,因为他们把这些比特币发到了 Segwit 地址,而这些地址无法将资金转移到任何地方。
从根本上说,这是不正确的。尽管你在 blockchain 网站上看不到 Segwit 交易,但你可以很容易地在下面这个网站找到交易记录。
这是一个为了推广 DEX 的骗局
糟糕的商业行为。Binance 为了什么而不惜损失大量品牌资产?在所有这一切中,他们甚至没有推广他们的 DEX。
不止7074.18枚比特币被盗
我们只有 Binance 的官方数据,目前还没有这方面的证据,但权威人士正在密切关注 Binance 的热钱包。
不存在API密钥被破坏的安全漏洞
这个倒是有可能。有传言说有700个账户的提取权限被泄露了。没有人站出来说他们的账户被黑了。如果用户的密码和 2FA 被破解,Binance 肯定会要求用户重置他们的个人信息。但如果没有 API 密钥被破坏,为什么 Binance 要重置 API 密钥?
攻击者仍然控制着许多 Binance 不知道的帐户
这是可能的。虽然 Binance 重置了 API 密钥,但黑客仍然可以通过盗取个人信息访问一系列账户。
这对中心化交易所意味着什么?
推动 DEX(去中心化交易所)的发展
显然,黑客在提醒人们,中心化交易所是容易犯错的,这是对 DEX 的推动。
2019年初,DEX 的交易量处于历史最低水平。
DEX交易量持续下滑
说到底,人们似乎更偏爱便利、速度和流动性,而非安全性。
为什么中心化交易很吸引人,主要有以下三点原因:
将你的资产分开存到多个交易所
鉴于中心化交易所仍然至关重要,减轻风险的一个方法是将资产分开存到不同的交易所。
这对 Binance 又意味着什么?
Binance 可以在47天内赚回这4000万美元
从宏观角度来看,4000万美元对 Binance 来说并不是一个毁灭性的数字,因为它是世界上最大、最赚钱的交易所之一。
这起价值4000万美元的 Binance 黑客事件,其造成的损失在交易所被盗历史上排名第六。
10大交易所被盗事件
交易机器人是不可避免的
API 密钥和网络钓鱼是过去3次 Binance 黑客攻击的共同主题。警告用户不要让任何第三方服务提供商访问您的个人 API 密钥是完全不现实的。这种单方面声明既惩罚疏忽的交易申请,也惩罚像我们这样缺乏安全意识的人群。
与其谴责第三方交易应用程序、然后对它们视而不见的这种无济于事的行为,Binance 应该通过启动自己的 OAuth 客户端来提供支持。通过这样做,Binance 实际上可以通过加强控制和监督,提高交易安全性,并降低未来 API 事故的风险。
拓展阅读:
https://www.binance.com/en/blog/333497959022997504/Binance-Security-Incident-Update
https://binance.zendesk.com/hc/en-us/articles/360006675312-Incident-Recap-on-Irregular-SYS-Trading
https://www.hodlbot.io/blog/a-thorough-investigation-of-the-binance-hack
https://www.blockchain.com/
https://chain.so/address/BTC/bc1qp6k6tux6g3gr3sxw94g9tx4l0cjtu2pt65r6xp