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

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

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

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

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

A股开盘:深证区块链50指数上涨0.39%:金色财经消息,A股开盘,上证指数报3209.16点,开盘上涨0.22%,深证成指报11059.31点,开盘上涨0.3%,深证区块链50指数报3279.55点,开盘上涨0.39%。区块链板块开盘上涨0.08%,数字货币板块开盘上涨0.22%。[2023/7/3 22:14:30]

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

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

美国SEC前官员:币安是一家影子银行,大规模银行挤兑似乎不可避免:3月7日消息,针对币安收到三位美参议员的质疑,前美国证券交易委员会互联网执法官员John Reed Stark在推特上写道:“我的看法是,币安是一家影子银行,在提供限价单/经纪/托管/清算/结算/等服务的同时,铸造自己的假币,没有美国的监管监督或审计;这是FTX重现,一场大规模的银行挤兑似乎不可避免。一旦暂停提款,币安开始崩溃,不仅币安的客户会被切断,客户也可能成为无担保债权人。参见FTX、Celsius、 Blockfi、Voyager,毁灭性的投资者大屠杀。”[2023/3/7 12:46:13]

CoinDesk已允许用户通过阅读文章等互动来赚取DESK代币:12月7日消息,区块链媒体CoinDesk计划将其DESK代币整合到更广泛的读者体验中,目前创建账户后的读者有机会通过阅读文章、观看视频和其他与CoinDesk的互动来赚取DESK代币,领取的DESK奖励会累积在每个读者的CoinDesk余额中,未来可以进行转移。

即日起,读者可以将其代币兑换成来自特色艺术家、社区PFP等的各种NFT作品,也可以使用DESK访问Discord社区中的代币门限频道和Web3功能。DESK代币还可用于参与SnapShot空间中的代币化民意调查和社区提案。(CoinDesk)[2022/12/7 21:27:44]

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

0xea3480f1f1d1f0b32283f8f282ce16403fe22ede35c0b71a732193e56c5c45e8

Patrick Hansen:监管部门很快就会要求中心化的加密货币公司以防止破产的方式将客户资金保存在独立的账户中:金色财经报道,Circle欧盟政策负责人Patrick Hansen在社交媒体上称,用不了多久,监管部门就会要求中心化的加密货币公司以防止破产的方式将客户资金保存在独立的账户中,禁止将其用于公司自己的账户,这将成为全球标准。很快就会随着MiCA来到欧盟。[2022/11/9 7:23:15]

攻击者地址

0x719cdb61e217de6754ee8fc958f2866d61d565cf

攻击合约

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

Beosin

企业专栏

阅读更多

金色财经 善欧巴

Chainlink预言机

金色早8点

白话区块链

Odaily星球日报

Arcane Labs

欧科云链

深潮TechFlow

BTCStudy

MarsBit

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

链链资讯

[0:15ms0-3:290ms