雪上加霜 处于“自救期”的SushiSwap是如何被黑客攻击的?_SWAP:GSWAP

原文:《正处于“刮骨疗”自救的SushiSwap,今日又是如何被黑客攻击的?》

在严峻的财务压力下,黑客又来一击,那在黑客的打击下,SushiSwap能否走出自救的道路?

2023年4月9日,据BeosinEagleEye态势感知平台消息,SushiswapRouteProcessor2合约遭受攻击,部分对合约授权过的用户资金被黑客转移,涉及金额约1800ETH,约334万美元。

据了解,SushiSwap流动性挖矿项目,克隆自Uniswap,最大的不同是其发行了SUSHI代币,团队希望用SUSHI通证经济模型,优化Uniswap。但Uniswap创始人HaydenAdams表示,Sushi只是任何有能力的开发人员通过一天的努力创造出来的东西,试图利用炒作和Uniswap创造的价值来获利。

金色虎年开新礼 路虎抽奖倒计时30分钟:1月30日20:00,由金色财经推出的虎年开新礼,将迎来最后一轮环节终极大礼路虎车一辆,将在幸运号码池中抽取1个号码,快速报名参加请点击原文链接。[2022/1/30 9:23:27]

其实在本次攻击之前,这个项目还有另外的“坎坷”,去年12月6日,上任仅两个月的Sushi新任“主厨”JaredGrey于治理论坛发起了一项新提案。在该提案中,Jared首次向外界披露了Sushi当前严峻的财务状况,并提出了一个暂时性的自救方案。

正是在这样的压力下,黑客又来一击,那在黑客的打击下,SushiSwap能否走出自救的道路?

金色午报 | 3月18日午间重要动态一览:7:00-12:00关键词:英伟达、Steem、Poloniex、腾讯云、PlusToken

1. 美国法官驳回投资者针对英伟达的加密相关诉讼。

2. 为完全分离Tron基金会,Steem社区计划周五进行硬分叉。

3. Poloniex团队对因CLAM清算而亏损的客户进行补偿。

4. 东方驿站推出基于区块链等技术的挂车联盟链应用。

5. 比特币哈希率本月回撤40%,跌破100 EHash/s。

6. 人民数字捐赠溯源平台上线。

7. 腾讯云发布供应链金融智慧服务平台。

8. PlusToken仍有6万余枚BTC未被成功转移,或将影响加密市场。

9. BTC现报5411美元,近24小时上涨1.2%,市值为987.45亿美元。[2020/3/18]

事件相关信息

我们以其中一笔攻击交易进行事件分析。

金色财经独家分析 认清文字游戏和强尬热点:近日的一些事件反映了很多文字游戏和强尬热点的现象。昨日关于“银行家反比特币”的事件被热议为雇佣群演的营销活动,dx.exchange也被解读为一场“powered by nasdaq”的文字游戏。金色财经分析,目前区块链行业蹭热点,似是而非等表述着实让某些营销方和团队受到了广泛的关注,但公众甚至币圈的参与者应该理性看待知名机构和主流群体的参与和互动,也应该警惕“过分解读”。“大事发生”的情况是可能的,比特币、区块链的更广泛认可,根本上还是依赖于整个行业的务实发展。[2018/5/15]

攻击交易

0xea3480f1f1d1f0b32283f8f282ce16403fe22ede35c0b71a732193e56c5c45e8

攻击者地址

0x719cdb61e217de6754ee8fc958f2866d61d565cf

金色财经现场报道 腾讯金融科技高级研发总监:区块链在支付领域面对三大挑战:金色财经现场报道,在2018大数据产业峰会上,腾讯金融科技高级研发总监李茂才表示,目前区块链应用在支付系统方面有着三大挑战,第一位CAP三角,其性能高可用性、数据一致性、分区容忍度方面存在挑战;第二挑战位隐私保护,如何在区块链中保护用户的隐私是一大挑战;第三个挑战为海量存储,每个节点发生数据增长,其他所有节点都要全部存储。[2018/4/19]

攻击合约

0x000000C0524F353223D94fb76efab586a2Ff8664

被攻击合约

0x044b75f554b886a065b9567891e45c79542d7357

被攻击用户

0x31d3243CfB54B34Fc9C73e1CB1137124bD6B13E1

攻击流程

1.攻击者地址(0x1876…CDd1)约31天前部署了攻击合约。

2.攻击者发起攻击交易,首先攻击者调用了processRoute函数,进行兑换,该函数可以由调用者指定使用哪种路由,这里攻击者选择的是processMyERC20。

3.之后正常执行到swap函数逻辑中,执行的功能是swapUniV3。

4.在这里可以看到,pool的值是由stream解析而来,而stream参数是用户所能控制的,这是漏洞的关键原因,这里lastCalledPool的值当然也是被一并操控的,接着就进入到攻击者指定的恶意pool地址的swap函数中去进行相关处理了。

5.Swap完成之后,由于此时lastCalledPool的值已经被攻击者设置成为了恶意pool的地址,所以恶意合约调用uniswapV3SwapCallback函数时校验能够通过,并且该函数验证之后就重置了lastCalledPool的值为0x1,导致swapUniV3函数中最后的判断也是可有可无的,最后可以成功转走指定的from地址的资金,这里为100个WETH。

漏洞分析

本次事件攻击者主要利用了合约访问控制不足的问题,未对重要参数和调用者进行有效的限制,导致攻击者可传入恶意的地址参数绕过限制,产生意外的危害。

总结

针对本次事件,Beosin安全团队建议:

1.在合约开发时,调用外部合约时应视业务情况限制用户控制的参数,避免由用户传入恶意地址参数造成风险。

2.用户在与合约交互时应注意最小化授权,即仅授权单笔交易中实际需要的数量,避免合约出现安全问题导致账户内资金损失。

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

金宝趣谈

[0:15ms0-7:885ms