猖獗黑客「薅」交易所羊毛?FTX 交易所遭到 Gas 窃取攻击事件分析

fffmCQ.jpg

FTX 遭受 Gas 窃取攻击,有黑客零成本铸造 XEN 代币 1.7 万次。

撰文:Beosin

2022 年 10 月 13 日,Beosin EagleEye -Web3 安全预警与监控平台的舆情消息,FTX 交易所遭到 gas 窃取攻击,黑客利用 FTX 支付的 gas 费用铸造了大量 XEN TOKEN。Beosin 安全团队第一时间对事件进行了分析,结果如下:

猖獗黑客「薅」交易所羊毛?FTX 交易所遭到 Gas 窃取攻击事件分析

1 事件相关信息

其中一部分攻击交易:

0xc96b84cd834655290aa4bae7de80a3c117cc19d414f5bcf2fb85b8c554430089

0x8eb73bd5c08318a4cfd233940c3a58744830cda999e59ecbc56f094618a91d69

0x6bada8e084f8d3b62311f0b6eda10f2690e7542dab75a0de436a640036bccf94

其中一个攻击者地址

0x1d371CF00038421d6e57CFc31EEff7A09d4B8760

其中一个攻击合约

0xCba9b1Fd69626932c704DAc4CB58c29244A47FD3

被攻击地址

0xC098B2a3Aa256D2140208C3de6543aAEf5cd3A94(FTX 热钱包地址 )

2 攻击流程

以其中一笔攻击交易为例

(0x8eb73bd5c08318a4cfd233940c3a58744830cda999e59ecbc56f094618a91d69)

第一步,攻击者先在链上部署攻击合约

(0xCba9b1Fd69626932c704DAc4CB58c29244A47FD3)

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

 

猖獗黑客「薅」交易所羊毛?FTX 交易所遭到 Gas 窃取攻击事件分析

猖獗黑客「薅」交易所羊毛?FTX 交易所遭到 Gas 窃取攻击事件分析

 

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

猖獗黑客「薅」交易所羊毛?FTX 交易所遭到 Gas 窃取攻击事件分析

猖獗黑客「薅」交易所羊毛?FTX 交易所遭到 Gas 窃取攻击事件分析

猖獗黑客「薅」交易所羊毛?FTX 交易所遭到 Gas 窃取攻击事件分析

猖獗黑客「薅」交易所羊毛?FTX 交易所遭到 Gas 窃取攻击事件分析

猖獗黑客「薅」交易所羊毛?FTX 交易所遭到 Gas 窃取攻击事件分析

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

3 漏洞分析

本次攻击主要利用了 FTX 项目没有对接收方为合约地址进行任何限制,也没有对 ETH 的 gas Limit 进行限制,导致攻击可以利用合约来铸造 XEN 代币进行获利。

截止发文时,Beosin 安全团队通过 Beosin Trace 对被盗资金进行追踪分析,黑客通过 DODO,Uniswap 将 XEN Token 换成 ETH,并充值到币安和 FTX 交易所。

猖獗黑客「薅」交易所羊毛?FTX 交易所遭到 Gas 窃取攻击事件分析Beosin Trace 资金追踪图

4 事件总结

针对本次事件,Beosin 安全团队建议:

  1. 对钱包接收为合约的地址进行限制。
  2. 对业务中存在 gas 风险的业务对 gas limit 进行足够小的限制。
声明:该文观点仅代表作者本人,与炒币网无关。炒币网系信息发布平台,仅提供信息存储空间服务。对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,并不对文章观点负责。 提示:投资有风险,入市须谨慎。本资讯仅供参阅,不作为投资理财建议。

发表评论

登录后才能评论