close
正在加载
薅交易所羊毛 FTX遭Gas窃取攻击铸造大量XEN事件分析
互联网 · 2022-10-13 18:57:14
币界网报道:

2022年10月13日,据据Beosin EagleEye Web3安全预警与监控平台的舆情消息,FTX交易所遭到gas窃取攻击,黑客利用FTX支付的gas费用铸造了大量XEN TOKEN。

邀请Beosin安全团队第一时间对事件进行了分析,结果如下:

1、事件相关信息

其中一部分攻击交易:

0xc96b84cd834655290aa4bae7de80a3c117cc19d414f5bcf2fb85b8c5544300890x8eb73bd5c08318a4cfd233940c3a58744830cda999e59ecbc56f094618a91d690x6bada8e084f8d3b62311f0b6eda10f2690e7542dab75a0de436a640036bccf94

其中一个攻击者地址0x1d371CF00038421d6e57CFc31EEff7A09d4B8760其中一个攻击合约0xCba9b1Fd69626932c704DAc4CB58c29244A47FD3被攻击地址0xC098B2a3Aa256D2140208C3de6543aAEf5cd3A94(FTX热钱包地址)

2、攻击流程

以其中一笔攻击交易为例(0x8eb73bd5c08318a4cfd233940c3a58744830cda999e59ecbc56f094618a91d69)
第一步,攻击者先在链上部署攻击合约(0xCba9b1Fd69626932c704DAc4CB58c29244A47FD3)
第二步,FTX热钱包地址会向攻击合约地址转入小额的资金,利用攻击合约(0xCba9...7FD3)进行批量创建子合约。由于整个攻击中创建了大量合约,并且每次执行完子合约之后,子合约都会自毁,所以以下图为例部分展示。

xs6PMVCd1QW2sTyLRLh7TJ3vqPEWOiW4FJaCl73k.png

V268DNQ4qOZ44zD6ks26uuIf8ZEcPjFWiDoy7Vl9.png 第三步,接下来子合约fallback()函数去向Xen合约发起铸币请求,如下函数,claimRank()函数传入一个时间期限(最小1天)进行铸币,铸币条件是只用支付调用gas费,并无其他成本,并且claimMintRewardAndShare()函数为提取函数,该函数只判断是否达到时间期限(本次黑客设置的时间期限为最小值1天),便可无条件提取到任何非零地址。但在此次调用过程中,交易发起者为FTX热钱包地址,所以整个调用过程的gas都是由FTX热钱包地址所支付,而Xen铸币地址为攻击者地址。

HmiRpdj39BO78rAX7x4PQpTGCj7ElNMyTD7aJVTW.png

AP8oNNr22zyczh2c7z6QotAY37NxOJL5MucUY6it.pnggwFFmTeLfJz1LpbFzrRaDrXxGkgTDS7Eu1jrq8QG.png

bEbKbEI1BwMf7JO9ouVLY2CAzc6wGTv6rLRILXwH.png

 

前三个步骤,重复多次,并且每次重复过程中都会将已到期的代币提取出来,并且同时发起新的铸币请求,黑客达成他的目标。

3、漏洞分析

本次攻击主要利用了FTX项目没有对接收方为合约地址进行任何限制,也没有对ETH的gas Limit进行限制,导致攻击可以利用合约来铸造XEN代币进行获利。
截止发文时,Beosin安全团队通过Beosin Trace对被盗资金进行追踪分析,FTX交易所损失81ETH,黑客通过DODO,Uniswap将XEN Token换成ETH转移。
4PDqXUOXODQcyfKoPTVwi9OtE8DD6HNBKkjcmEBl.png

Beosin Trace资金追踪图

4、事件总结

针对本次事件,Beosin安全团队建议:
1.对钱包接收为合约的地址进行限制。2.对业务中存在gas风险的业务对gas limit进行足够小的限制。

s_logo
App内打开