损失超2600万美元,Truebit Protocol安全事件分析及被盗资金流向追踪
作者:Beosin
1月9日凌晨,Truebit Protocol于5年前部署的未开源合约遭受攻击,损失8,535.36 ETH(价值约2640万美元)。Beosin安全团队对本次安全事件进行了漏洞与资金追踪分析,并将结果分享如下:

攻击手法分析
本次事件我们以最主要的一笔攻击交易作为分析,交易哈希为: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
1. 攻击者调用getPurchasePrice()获取价格

2. 随后调用存在缺陷的函数0xa0296215(),并将msg.value值设置得极小

由于合约未开源,通过反编译的代码推测该函数是存在算术逻辑漏洞,如整数截断出现问题,导致攻击者成功铸造了大量TRU代币。
3. 攻击者通过burn函数将铸造的代币“卖回”给合约,从合约储备中提取了大量 ETH。

此过程再重复4次,每次msg.value值增加,直至将合约中的ETH几乎全部提取。
被盗资金追踪
根据链上交易数据,Beosin通过旗下区块链链上调查与追踪平台BeosinTrace进行了详尽的资金追踪,并将结果分享如下:
目前,被盗的8,535.36 ETH经过转移,绝大部分分别存放在了0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60和0x273589ca3713e7becf42069f9fb3f0c164ce850a。
其中地址0xd12f持有4,267.09 ETH,地址0x2735持有4,001 ETH。攻击者发起攻击的地址(0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50)还存有267.71 ETH,三个地址暂未有更进一步的资金转移。

以上地址均已被Beosin KYT标记为高风险地址,以攻击者地址为例:

结语
本次被盗资金涉及5年前未开源的智能合约,对于此类合约,项目方应对合约进行升级,引入紧急暂停、参数限制以及新版本的Solidity安全特性。此外,安全审计依然是合约必不可少的环节。通过安全审计,Web3企业可以尽可能全面地检测智能合约代码,发现并修复潜在漏洞,提高合约安全性。
免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。
你也可能喜欢
驳以太坊「抛弃」 ETH 论:不用 ETH 就能支付 Gas ,到底意味着什么?

三币卡位:BTC箱体、ETH通道、SOL百元关,周末怎么排点位

华尔街再添Lululemon(LULU.US)空头!股价较峰值暴跌81%后 BMO预警苦日子还在后头
BMO Capital Markets认为,Lululemon的扭亏转型不会是速战速决或轻而易举之事。这家运动服装公司正在将市场份额拱手让给竞争对手,销售下滑也在不断加深。

黄金价格反弹,但美联储加息预期仍是上行阻力

