USDT:Formation.Fi 闪电贷安全事件分析_FOR

前?

11月21日,知道创宇区块链安全实验室?监测到以太坊上的DeFi协议?Formation.Fi?遭遇黑客攻击,损失近10万美元。实验室第一时间跟踪本次事件并分析。

攻击流程及形成漏洞成因分析

简述攻击流程

首先黑客通过合约0xd02C进行闪电贷借出启动资金200USDT

向合约Vault质押100USDT获得99FormationUSD?

Horizen Labs Ventures (HLV) 与0N1 Force建立战略合作伙伴关系:金色财经报道,据0N1 Force在社交媒体宣布,该NFT项目已与Horizen Labs Ventures (HLV) 建立战略合作伙伴关系,以探索新机会并推动增长,HLV将为其提供代币发布、NFT开发、元宇宙参与、DAO创建和可持续DAO治理等支持。Horizen Labs Ventures (HLV)是Horizen Labs旗下风投机构,后者是主持创建ApeCoin质押系统的区块链基础设施公司,其客户包括Yuga Labs、ApeCoin DAO、The Sandbox、Animoca Brands等。[2023/5/5 14:44:04]

通过Vault合约swapin函数置换100USDT并附带大量fee

Signature数字资产前负责人及团队加入Fortress Trust:金色财经报道,Signature Bank数字资产前负责人Joseph Seibert和他的Signet支付团队的四名成员加入了Fortress Trust,这是一家总部位于内华达州的特许信托公司,专注于加密货币和Web3。

Signature Bank于2023年3月关闭,原因是储户在硅谷银行(SVB)倒闭后提取了大量资金。由Seibert监督的流行的Signet实时支付平台于2019年初推出,随后于2020年与数字资产托管人Fireblocks集成。[2023/4/26 14:26:35]

调用Vault合约函数withdraw销毁99FormationUSD获得漏洞利润99999USDT

意大利交易所Young Platform完成1600万欧元融资:1月4日消息,意大利加密货币交易平台Young Platform今日宣布获得了法国金融市场管理局(Autorité des Marchés Financier)批准许可,可以在该国作为数字资产服务提供商运营。此外,Young Platform还披露已经在大约6个月前完成了一笔1600万欧元的融资,Azimut领投。[2023/1/4 9:52:30]

最后归还闪电贷将获利转到黑客地址

漏洞成因分析

检查源码后发现具体问题主要出在Vault合约函数?swapIn?上,可以看到该函数调用参数?fee?能影响记录着全部代币的变量?totalTokens?的计算,fee越大totalTokens越大。

而在通过函数withdraw实际获取利润时,可以看到实际转账时totalTokens参与了计算,所以当大量的fee被带人totalTokens计算后,会造成withdraw函数的转账超过原本的转账金额。

而造成攻击获利巨大的另个原因是FormationUSD与USDT的小数点数位不同,FormationUSD为18位,USDT为6位。小数点精准数位的差距在实际转账中进一步放大了黑客的收益。

Vault:

TetherToken:

重新梳理攻击过程

第一步:选用USDT作为攻击使用的代币,目的USDT与FormationUSD的小数点精确度不同

第二步:黑客质押100USDT,目的为了后续调用withdraw函数实现套利

第三步:黑客兑换100USDT,目的添加大量的fee提升totalTokens的值

第四步:黑客取回质押的USDT,目的使用提升后totalTokens与利用代币间小数点精确度不同来套取利润

第五步:归还闪电贷,转移套取的利润

总结

本次闪电贷安全事件发生的主要原因在于项目方设计函数?swapIn?时低估了fee对totalTokens的影响,且忽视了不同代币间小数点精确度的影响。

知道创宇区块链安全实验室?再次提醒近期各链上频频爆发攻击事件,合约安全愈发需要得到迫切重视,合约审计、风控措施、应急计划等都有必要切实落实。

来源:金色财经

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-6:547ms