北京时间2022年3月9日21:50,CertiK安全专家团队检测到Fantasm Finance抵押池被恶意利用。
攻击者铸造了大量的XFTM代币,并将其交易为ETH,总损失约为1000ETH(价值约270万美元)。
2021年攻击全景详见【2021年度DeFi行业安全报告】,欢迎点击文章底部“阅读原文”获取安全报告下载链接。
下文CertiK安全团队将从合约地址及攻击操作等方面为大家进行详细的解读并分析。
交易哈希
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。
写在最后
本次事件主要是由合约公式计算错误引起的。
只需通过适当的同行评审、单元测试和安全审计,这一类型的风险往往极易避免。
在加密世界里大家一提到漏洞,往往会认为必然是很复杂的,其实并非总是如此。有时一个小小的计算错误,就可以导致数百上千万美元的资产一朝蒸发。
本次事件的预警已于第一时间在CertiK项目预警推特【https://twitter.com/CertiKAlert】进行了播报。
除此之外,CertiK官网https://www.certik.com/也已添加社群预警功能。大家可以随时访问查看与漏洞、黑客袭击以及Rug Pull相关的各种社群预警信息。
近期攻击事件高发,加密项目方及用户们应提高相关警惕并及时对合约代码进行完善和审计。
除此之外,技术团队应及时关注已发生的安全事件,并且检查自己的项目中是否存在类似问题。
作为区块链安全领域的领军者,CertiK致力于提高加密货币及DeFi的安全和透明等级。迄今为止,CertiK已获得了2500家企业客户的认可,保护了超过3110亿美元的数字资产免受损失。
欢迎点击CertiK公众号底部对话框,留言免费获取咨询及报价!
参考链接:
1.https://blocksecteam.medium.com/the-analysis-of-the-array-finance-security-incident-bcab555326c1
2. https://peckshield.medium.com/xwin-finance-incident-root-cause-analysis-71d0820e6bc1
3. https://peckshield.medium.com/pancakebunny-incident-root-cause-analysis-7099f413cc9b
4. https://www.certik.io/blog/technology/copycat-attack-balancer-why-defi-needs-change#home
5. https://www.certik.org/blog/uranium-finance-exploit-technical-analysis
6. https://www.certik.io/blog/technology/little-pains-great-gains-balancer-defi-contract-was-drained#home
7. https://www.certik.io/blog/technology/yam-finance-smart-contract-bug-analysis-future-prevention#home