By:Lisa@慢雾AML团队
随着DeFi、NFT、跨链桥等项目的火热发展,黑客攻击事件也层出不穷。有趣的是,据慢雾统计,80%的黑客在洗币过程中都使用了混币平台Tornado.Cash,本文以KuCoin被盗事件为例,试图从追踪分析过程中找到一丝揭开Tornado.Cash匿名性的可能。
事件概述
据KuCoin官网公告,北京时间2020年9月26日凌晨,KuCoin交易所的热钱包地址出现大量异常的代币提现,涉及BTC、ETH等主流币以及LINK、OCEN等多种代币,牵动了无数用户的心。
图1
据慢雾AML团队统计,本次事件被盗资金超2.7亿美元,具体如下图:
慢雾区“被黑档案库”新增Base分类:金色财经报道,Base链上项目发生多起被黑客攻击事件(包括 Rug pull),慢雾区“被黑档案库(SlowMist Hacked)”新增Base分类。[2023/9/7 13:24:38]
图2
值得注意的是,我们全面追踪后发现黑客在这次攻击事件中大量使用了Tornado.Cash来清洗ETH。在这篇文章中,我们将着重说明黑客如何将大量ETH转入到Tornado.Cash,并对Tornado.Cash的转出进行分析,以分解出被盗资金可能流向的地址。
Tornado.Cash是什么?
Tornado.Cash是一种完全去中心化的非托管协议,通过打破源地址和目标地址之间的链上链接来提高交易隐私。为了保护隐私,Tornado.Cash使用一个智能合约,接受来自一个地址的ETH和其他代币存款,并允许他们提款到不同的地址,即以隐藏发送地址的方式将ETH和其他代币发送到任何地址。这些智能合约充当混合所有存入资产的池,当你将资金放入池中时,就会生成私人凭据,证明你已执行了存款操作。而后,此私人凭据作为你提款时的私钥,合约将ETH或其他代币转移给指定的接收地址,同一用户可以使用不同的提款地址。
慢雾:警惕针对 Blur NFT 市场的批量挂单签名“零元购”钓鱼风险:金色财经报道,近期,慢雾生态安全合作伙伴 Scam Sniffer 演示了一个针对 Blur NFT 市场批量挂单签名的“零元购”钓鱼攻击测试,通过一个如图这样的“Root 签名”即可以极低成本(特指“零元购”)钓走目标用户在 Blur 平台授权的所有 NFT,Blur 平台的这个“Root 签名”格式类似“盲签”,用户无法识别这种签名的影响。慢雾安全团队验证了该攻击的可行性及危害性。特此提醒 Blur 平台的所有用户警惕,当发现来非 Blur 官方域名(blur.io)的“Root 签名”,一定要拒绝,避免潜在的资产损失。[2023/3/7 12:46:39]
如何转入?
攻击得手后,黑客开始大范围地将资金分批转移到各大交易所,但还没来得及变现就被多家交易所冻结了。在经历了白忙一场的后,黑客将目光转向了DeFi。
据慢雾AML旗下MistTrack反追踪系统显示,黑客(0xeb31...c23)先将ERC20代币分散到不同的地址,接着使用Uniswap、1inch和Kyber将多数ERC20代币换成了ETH。
慢雾:BSC项目Value DeFi vSwap 模块被黑简析:据慢雾区情报,币安智能链项目 Value DeFi 的 vSwap 模块被黑,慢雾安全团队第一时间介入分析,并将结果以简讯的形式分享,供大家参考:
1. 攻击者首先使用 0.05 枚 WBNB 通过 vSwap 合约兑换出 vBSWAP 代币;
2. 攻击者在兑换的同时也进行闪电贷操作,因此 vSwap 合约会将兑换的 vBSWAP 代币与闪电贷借出的 WBNB 转给攻击者;
3. 而在完成整个兑换流程并更新池子中代币数量前,会根据池子的 tokenWeight0 参数是否为 50 来选择不同的算法来检查池子中的代币数量是否符合预期;
4. 由于 vSwap 合约的 tokenWeight0 参数设置为 70,因此将会采用第二种算法对池子中的代币数量进行检查;
5. 而漏洞的关键点就在于采用第二种算法进行检查时,可以通过特殊构造的数据来使检查通过;
6. 第二种算法是通过调用 formula 合约的 ensureConstantValue 函数并传入池子中缓存的代币数量与实时的代币数量进行检查的;
7. 在通过对此算法进行具体分析调试后我们可以发现,在使用 WBNB 兑换最小单位(即 0.000000000000000001) vBSWAP 时,池子中缓存的 WBNB 值与实时的值之间允许有一个巨大的波动范围,在此范围内此算法检查都将通过;
8. 因此攻击者可以转入 WBNB 进行最小单位的 vBSWAP 代币兑换的同时,将池子中的大量 WBNB 代币通过闪电贷的方式借出,由于算法问题,在不归还闪电贷的情况下仍可以通过 vSwap 的检查;
9. 攻击者只需要在所有的 vSwap 池子中,不断的重复此过程,即可将池子中的流动性盗走完成获利。详情见原文链接。[2021/5/8 21:37:37]
声音 | 慢雾余弦:研究加密货币是出于技术热爱:区块链安全公司慢雾创始人余弦发微博称,研究加密货币是出于技术热爱,这些年其实研究了不少主流币种还有些小币种,多少都发现了些问题,其中有不少是安全问题。后来联合创建了慢雾科技 ,致力于做好区块链生态的安全。我提 MimbleWimble 的隐私与安全问题,不代表我不喜欢 Grin 和 BEAM,反而我在持续持有,就好像我很早就研究门罗币、Zcash 的安全问题,我也在持续持有它们。有漏洞根本不是什么大问题,不改进不进化才是大问题。我尽量客观做好安全技术研究,输出的观点千万不要过度解读,尤其不要解读出“做多做空”,投资加密货币的讨论,我一概不参与、不站台、不背书。[2019/3/24]
图3
大部分ERC20代币兑换成ETH后,被整合到了以下主要地址:
声音 | 慢雾安全团队:区块链生态系统自愈能力其实很强:据火讯财经报道,慢雾安全团队在回应于佳宁关于区块链生态安全问题最严重的情况时表示:“区块链生态安全发生危险最严重的就是团队资金破产及信誉破产,但是,有时候安全这东西也没那么夸张,一个生态之所以是生态,就具备生态的一个属性:自愈能力其实很强。”[2018/7/3]
表1
在对ETH和ERC20代币进行完整追踪后,我们梳理出了资金是如何在黑客地址间移动,并分解出了资金是以怎样的方式进入Tornado.Cash。
图4
黑客将资金按时间先后顺序转入Tornado.Cash的详情如下:
表2
转到了哪?
猜想
1.巨额的ETH进入Tornado.Cash,会集中表现出一些可追踪的特征。2.以黑客急于变现的行为分析,猜想黑客将资金存入Tornado.Cash后会随即提款,或下次存入时提款。3.分析攻击者使用洗币平台的方式和行为,可以获得资金的转移地址。
可能的链上行为
1.资金从Tornado.Cash转出的时间范围与黑客将资金转入Tornado.Cash的时间范围近似。2.一定时间段内,从Tornado.Cash转出的资金会持续转出到相同地址。
验证
以黑客地址(0x34a...c6b)为例:
如表2结果所述,黑客在2020-10-2316:06:28~2020-10-2610:32:24(UTC)间,以每次100ETH,存115次的方式将11,500ETH存入Tornado.Cash。为了方便说明,我们只截取了该地址在2020-10-243:00:07~6:28:33(UTC)间的存款记录,如下图:
图5
接着,我们查看_Tornado.Cash:100ETH_合约的交易记录,找到地址(0x34a...c6b)在同一时间段的存款记录,下图红框地址(0x82e...398)在此时间段内大量提款的异常行为引起了我们的注意。
图6
查看该地址(0x82e...398)在此时间段的交易哈希,发现该地址并没有将ETH提款给自己,而是作为一个合约调用者,将ETH都提款到了地址(0xa4a...22f)。
图7
图8
同样的方式,得出黑客地址(0x34a...c6b)经由Tornado.Cash提款分散到了其他地址,具体如下:
表3
经过核对,发现从Tornado.Cash提款到表3中六个地址的数额竟与黑客存款数额11,500ETH一致,这似乎验证了我们的猜想。对其他地址的分析方法同理。
接着,我们继续对这六个地址进行追踪分析。据MistTrack反追踪系统展示,黑客将部分资金以50~53ETH不等转向了ChangeNOW、CoinSwitch、Binance等交易平台,另一部分资金进入第二层后也被黑客转入了上述交易平台,试图变现。
图9
总结
本文主要说明了黑客是如何试图使用Tornado.Cash来清洗盗窃的ETH,分析结果不由得让我们思考:Tornado.Cash真的完全匿名吗?一方面,既然能分析出部分提款地址,说明不存在绝对的匿名;另一方面,匿名性是具备的,或许只是Tornado.Cash不适合在短时间内混合如此大规模的资金而已。
截止目前,KuCoin官方表示已联合交易所、项目方、执法和安全机构追回约2.4亿美元资金。从各种攻击事件看来,DeFi或许已成为黑客转移资金的通道,而今监管已至,合规化的脚步愈发逼近,有合规需求的项目方,可以考虑接入慢雾AML系统(aml.slowmist.com),即使黑客使用了DeFi,也无处遁形。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。