原文:《正处于“刮骨疗”自救的SushiSwap,今日又是如何被黑客攻击的?》
在严峻的财务压力下,黑客又来一击,那在黑客的打击下,SushiSwap能否走出自救的道路?
2023年4月9日,据BeosinEagleEye态势感知平台消息,SushiswapRouteProcessor2合约遭受攻击,部分对合约授权过的用户资金被黑客转移,涉及金额约1800ETH,约334万美元。
据了解,SushiSwap流动性挖矿项目,克隆自Uniswap,最大的不同是其发行了SUSHI代币,团队希望用SUSHI通证经济模型,优化Uniswap。但Uniswap创始人HaydenAdams表示,Sushi只是任何有能力的开发人员通过一天的努力创造出来的东西,试图利用炒作和Uniswap创造的价值来获利。
其实在本次攻击之前,这个项目还有另外的“坎坷”,去年12月6日,上任仅两个月的Sushi新任“主厨”JaredGrey于治理论坛发起了一项新提案。在该提案中,Jared首次向外界披露了Sushi当前严峻的财务状况,并提出了一个暂时性的自救方案。
调查:50%的人将加密货币存放在CEX上而不是钱包中:金色财经报道,金融科技公司Broadridge周二发布的一项研究显示,加拿大、英国和美国超过65%的受访者表示,他们持有的加密货币是一项“长期投资”。与许多传统股票投资者采用的买入并持有方法一致,受访者更关注“财务、风险和安全以及有关管理团队的信息”,而不是代币经济和网络活动等原生加密货币指标。加密货币项目的白皮书是参与者中访问最少的信息来源,仅超过20%。加密货币网站是近40%的人收集有关加密货币项目信息的首选来源,甚至社交媒体(即加密货币Twitter)也更受青睐(约26%)。尽管去中心化的需求是加密Twitter上的一个主导话题,但调查结果显示,略多于50%的人在CEX上持有加密货币,而不是在用户控制的钱包中。[2023/7/12 10:49:31]
正是在这样的压力下,黑客又来一击,那在黑客的打击下,SushiSwap能否走出自救的道路?
近期推特上提及BTC的推文数量达到币价突破60000美元以来的最高水平:金色财经报道,根据intotheblock的大数据统计,近期推特上提及BTC的推文数量爆发式增长,热度达到2021年10月币价突破60000美元以来的最高水平。[2023/3/27 13:28:45]
事件相关信息
我们以其中一笔攻击交易进行事件分析。
攻击交易
0xea3480f1f1d1f0b32283f8f282ce16403fe22ede35c0b71a732193e56c5c45e8
攻击者地址
0x719cdb61e217de6754ee8fc958f2866d61d565cf
攻击合约
0x000000C0524F353223D94fb76efab586a2Ff8664
被攻击合约
0x044b75f554b886a065b9567891e45c79542d7357
被攻击用户
币安AI驱动的NFT生成器Bicasso已完成首个试点,发布后2.5个小时达到铸造上限:3月2日消息,币安创始人赵长鹏昨日晚间在推特上表示,Bicasso的第一个试点已完成,在2.5小时内铸造了1万枚NFT(达到铸造上限)。
官方数据显示,Bicasso AI试点藏品目前唯一持有者有9907人。这些图像是试点的一部分,因此不可转售。据币安官方推特,错过1万枚NFT配额的用户仍然可以注册完整版的候补名单。
此前昨日消息,币安推出可将创意转化为NFT的AI产品Bicasso。[2023/3/2 12:38:18]
0x31d3243CfB54B34Fc9C73e1CB1137124bD6B13E1
攻击流程
1.攻击者地址(0x1876…CDd1)约31天前部署了攻击合约。
美国众议院金融服务委员会主席:FTX现任CEO将在听证会上作证:12月9日消息,美国众议院金融服务委员会主席表示,“在FTX听证会上可能会增加更多证人,FTX现任首席执行官John J Ray III将在听证会上作证”。[2022/12/9 21:32:58]
2.攻击者发起攻击交易,首先攻击者调用了processRoute函数,进行兑换,该函数可以由调用者指定使用哪种路由,这里攻击者选择的是processMyERC20。
西班牙央行开始征集批发CBDC项目的提案:金色财经报道,西班牙央行计划启动批发中央银行数字货币 (CBDC) 项目,并于周一开始征集金融机构和技术解决方案提供商的提案。该银行在一份官方声明中表示,该计划旨在模拟批发 CBDC 的资金流动操作,并补充说,它还试图试验批发 CBDC 与金融资产结算的整合,并分析可能的优缺点它的介绍。该银行表示,有兴趣的各方必须在 2023 年 1 月 31 日之前提交各自的申请。它补充说,批发 CBDC 的计划与欧盟在零售 CBDC(也称为数字欧元)上所做的研究工作无关。[2022/12/8 21:29:26]
3.之后正常执行到swap函数逻辑中,执行的功能是swapUniV3。
4.在这里可以看到,pool的值是由stream解析而来,而stream参数是用户所能控制的,这是漏洞的关键原因,这里lastCalledPool的值当然也是被一并操控的,接着就进入到攻击者指定的恶意pool地址的swap函数中去进行相关处理了。
5.Swap完成之后,由于此时lastCalledPool的值已经被攻击者设置成为了恶意pool的地址,所以恶意合约调用uniswapV3SwapCallback函数时校验能够通过,并且该函数验证之后就重置了lastCalledPool的值为0x1,导致swapUniV3函数中最后的判断也是可有可无的,最后可以成功转走指定的from地址的资金,这里为100个WETH。
漏洞分析
本次事件攻击者主要利用了合约访问控制不足的问题,未对重要参数和调用者进行有效的限制,导致攻击者可传入恶意的地址参数绕过限制,产生意外的危害。
总结
针对本次事件,Beosin安全团队建议:
1.在合约开发时,调用外部合约时应视业务情况限制用户控制的参数,避免由用户传入恶意地址参数造成风险。
2.用户在与合约交互时应注意最小化授权,即仅授权单笔交易中实际需要的数量,避免合约出现安全问题导致账户内资金损失。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。