10月27日,成立于2020年的TeamFinance在官方Twitter发声,该协议管理资金在由Uniswapv2迁移至v3的过程中遭到黑客攻击,损失达1450万美元。
在事件发生后的第一时间,欧科云链链上卫士团队凭借超200TB的链上数据量储备,快速对黑客地址进行数据追踪、手法解析,并及时通过官方渠道反馈TeamFinance分析结果,避免链上损失态势进一步扩大。
TeamFinance安全事件复盘
据悉,此次攻击最早发生于2022年10月27日07:22:35,黑客通过创建攻击合约并创建一个攻击token,随后通过执行攻击合约进行lockToken调用,并于08:29:23执行合约并发起攻击交易。
CryptoUK任命Ioana Surpateanu为非执行董事:金色财经报道,英国加密行业协会CryptoUK宣布任命Ioana Surpateanu为其新的非执行董事。Surpateanu此前曾参与欧盟预算谈判和欧洲战略投资基金的启动,该基金是第一个旨在促进数字基础设施和创新投资的欧盟级倡议。接下来转到花旗集团,担任欧洲政府事务联合主管,专门负责在欧盟层面的监管和决策环境中以及在花旗的各种业务线中推广加密货币。[2023/1/12 11:08:21]
据链上卫士安全团队分析,此次受到攻击的项目方UniswapV2池子有CAW、TSUKA、KNDX、FEG。
依托于区块链链上数据可溯源、不可篡改的特性,链上卫士团队将链上追踪结果以图表的方式展现,通过黑客资金流向图,用户可清晰地了解黑客盗取资金后的动态。
安全团队:Team Finance资金受损或因合约实施不严谨所致:金色财经报道,据欧科云链监测,Team Finance安全事件中除攻击中的合约漏洞外,Uniswap V3的迁移合约实施不严谨或是造成损失的主因之一。
此前报道,Team Finance称1450万美元Token被盗,协议暂时停用。[2022/10/28 11:53:10]
TeamFinance黑客手法复盘
攻击交易整体流程:
Game Space加入Polygon向Steam用户空投NFT,并支持NFT资产充提:8月2日消息,GameFi as a Service平台Game Space加入Polygon宣布面向十亿Steam玩家开启NFT空投活动,并添加Polygon链NFT资产充提功能。
这意味着Polygon将成为继以太坊、BNB Chain之后,Game Space支持的第三个区块链网络,游戏厂商可以通过Game Space的SDK,快速有效地在Polygon 上构建GameFi应用程序和部署NFT智能合约。[2022/8/2 2:53:37]
#Step1:
攻击者通过TeamFinance的Proxy合约输入攻击参数:
准备盗取资金的对象:即需要迁移的币对FEG-WETH
而取回的币对却是黑客创建的无价值的token0:0x2d4abfdcd1385951df4317f9f3463fb11b9a31df和有价值的token1:WETH
Shark Team:Liquid热钱包遭攻击 已暂停充提服务:日本加密货币交易所Liquid发推称,热钱包遭到攻击,正在将资产转移到冷钱包中,并已暂停存取款服务。攻击者地址为:BTC:1Fx1bhbCwp5LU2gHxfRNiSHi1QSHwZLf7qETH:0x5578840aae68682a9779623fa9e8714802b59946TRX:TSpcue3bDfZNTP1CutrRrDxRPeEvWhuXbpXRP:rfapBqj7rUkGju7oHTwBwhEyXgwkEM4yby区块链安全团队SharkTeam正在对事件进行进一步分析。[2021/8/19 22:23:51]
两者的不一致,是导致该合约被攻击的根本原因!
在这一步中,黑客首先通过lockToken锁仓攻击token,lockedToken变量会记录锁仓详细信息,其中关键字段为withdrawAddress,该字段存在可以满足后续migrate的权限判断。
#Step2:
由于上述LP和输入参数的token不匹配,且noLiquidity参数为true,所以会在UniswapV3中创建一个token0和WETH的流动性池。
#Step3:
UniswapV3调用v3Migrator.migrate方法,迁移FEG-WETH流动性对。
在这一步中,UniswapV3Migrator合约在接收到TeamFinance中传入的参数,会迁移UniswapV2的LP,燃烧LP,获取底层资产$FEG和$WETH,根据转换参数只有1%进入V3pool,其余99%退还给发送合约,TeamFinance将返回到token发送给攻击合约。
Step3步骤拆解:
黑客调用TeamFinance得合约进行LP迁移,利用Step1中准备好的withdrawAddress和msgSender吻合,通过权限检查。
由于TeamFinance的迁移逻辑没有检验交易id与migrateparams的相关关系,黑客通过上面校验后,真正迁移的是黑客输入的params参数。
该参数指定的migrate为与黑客锁仓token无任何关系的FEG-WETH交易对,且迁移数量为TeamFinance持有的全部LP,但参数指定只migrate1%。
#Step4:
此外,相同手法对其它3个流动性池进行了攻击:
TeamFinance事件总结
截至发稿前,黑客已返还涉事的四种Token以及$ETH和USDC到相关项目方,共计约1340万美元。
此次攻击事件,漏洞的本质原因是对输入参数的校验逻辑有问题。黑客通过锁仓毫无价值的token,获取了调用migrate接口的权限。进一步调用UniswapV3的migrate的参数,完全由黑客输入,导致可以从其合约内迁移其他LP资产,结合UniswapV3的migrate处理是首先燃烧所有LP资产,再按照输入的percentage进行迁移,并返还剩余资产,使得黑客可以通过只迁移1%资产,从而窃取剩余99%的资产。
总而言之链上安全无小事,欧科云链再次提醒:重要函数的参数校验要仔细。建议在项目上线前,选择类似链上卫士的专业安全审计团队进行全方位审计筛查,最大化规避项目上线后的安全风险。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。