比特安详细解析Fantasm Finance事件:注重细节,才能历久弥新

近日,比特安监管平台检测到Fantasm Finance抵押池被恶意利用黑客使用以太坊隐私交易平台 Tornado.cash 混币 1,007 ETH(价值约270万美元)。

对此,比特安安全团队从合约地址及攻击操作等方面进行详细的解读并分析。

比特安审计中心(简称:比特安)成立于2018年,汇聚了一批由博士与硕士为主的高层次技术研发人才,在安全产品开发、安全攻防技术、安全体系建设、代码审计、系统逆向方面,拥有着非常丰富的经验。

以下就是比特安安全团队分析结果

 

交易哈希

https://ftmscan.com/tx/0x64da8b8043b14fe93f7ab55cc56ccca2d190a59836a3f45dbb4b0a832e329cac

https://ftmscan.com/tx/0xa84d216a1915e154d868e66080c00a665b12dab1dae2862289f5236b70ec2ad9

攻击步骤

①攻击者在地址0x944b58c9b3b49487005cead0ac5d71c857749e3e部署了一个未经验证的合约。

②在第一个tx中,攻击者将Fantom代币(FTM)换成FSM代币,并在合约0x880672ab1d46d987e5d663fc7476cd8df3c9f937中调用mint()函数。

③攻击者调用collect()函数,以此铸造了超出权限更多的XFTM代币。

④攻击者多次重复步骤②和③,造成Fantasm Finance巨额损失。

漏洞分析

在函数calcMint中,合约使用以下公式来计算铸币量:

_xftmOut = (_fantasmIn * _fantasmPrice * COLLATERAL_RATIO_MAX * (PRECISION - mintingFee)) / PRECISION / (COLLATERAL_RATIO_MAX - collateralRatio) / PRICE_PRECISION。

由于小数点错误,导致_xftmOut最终的值远远大于代码的设计初衷。

资金去向

攻击者可因此获取大约1000个ETH,所有的资金均被转移至Etherscan(地址为0x47091e015b294b935babda2d28ad44e3ab07ae8d)并被发送到tornado proxy。

  

天下大事,必做于细

仅仅因为一个小数点错误,就导致数百万美元的资产一朝蒸发这颠覆了人们的潜在认知,因为在加密世界里大家一提到漏洞,往往会下意识认为很复杂,事实证明并非总是如此所以“细节决定成败”这句话并非空穴来风。

毕竟“计算错误”这一类型的风险只需通过适当的同行评审、单元测试和安全审计,极易避免所以小编希望加密项目方及用户们应提高相关警惕并及时对合约代码进行完善和审计。

区块链安全,由我来守护

区块链并非黑客可以肆意横行的乐园,总是会有那么些人,因为热爱因为责任,前仆后继的投入到区块链安全建设之中。而现在,您的安全,由比特安审计中心来守护。

比特安致力于区块链安全生态建设,是全国领先的区块链安全服务平台,为区块链企业提供安全审计、资产追溯与AML反洗钱、隐私保护、威胁情报、安全防护、安全咨询等全方位的安全服务与支持。截止至今,我们检测中心已为40多个企业和70多个项目进行了安全评估,得到了企业,项目和政府领导的高度认可。

猜你喜欢

转载自blog.csdn.net/lmk714899/article/details/123728229
今日推荐