安全团队:FTX交易所遭到gas窃取攻击事件技术分析
10月13日消息,据Beosin EagleEye Web3安全预警与监控平台的舆情消息,FTX交易所遭到gas窃取攻击,黑客利用FTX支付的gas费用铸造了大量XEN TOKEN。Beosin安全团队第一时间对事件进行了分析,结果如下:
1.以其中一笔攻击交易为例
(0x8eb73bd5c08318a4cfd233940c3a58744830cda999e59ecbc56f094618a91d69),攻击者先在链上部署攻击合约(0xCba9b1Fd69626932c704DAc4CB58c29244A47FD3)
2.FTX热钱包地址会向攻击合约地址转入小额的资金,利用攻击合约(0xCba9…7FD3)进行批量创建子合约。由于整个攻击中创建了大量合约,并且每次执行完子合约之后,子合约都会自毁。
3.接下来子合约fallback()函数去向Xen合约发起铸币请求,如下函数,claimRank()函数传入一个时间期限(最小1天)进行铸币,铸币条件是只用支付调用gas费,并无其他成本,并且claimMintReward()函数为提取函数,该函数只判断是否达到时间期限(本次黑客设置的时间期限为最小值1天),便可无条件提取。但在此次调用过程中,交易发起者为FTX热钱包地址,所以整个调用过程的gas都是由FTX热钱包地址所支付,而Xen铸币地址为攻击者地址。
4. 1-3中的步骤,重复多次,并且每次重复过程中都会将已到期的代币提取出来,并且同时发起新的铸币请求。
截止发文时,通过Beosin Trace追踪发现,FTX交易所损失81ETH,黑客通过DODO,Uniswap将XEN Token换成ETH转移。