精妙的Bypass!黑客获利超700万美元,Op链上Exactly Protocol遭黑客攻击事件分析

Beosin
Beosin 机构得得号

Aug 21, 2023 Beosin是总部位于新加坡的全球知名区块链安全公司,为区块链生态提供代码安全审计,安全风险监控、预警与阻断,虚拟资产被盗追回,KYT/AML等“一站式”安全产品+服务,已为全球2000多个区块链企业服务,保护客户资产5000多亿美元。

摘要: 2023年8月18日,据Beosin-Eagle Eye态势感知平台消息,Optimism链的DeFi借贷协议Exactly Protocol遭受黑客攻击,黑客获利超700万美元。

攻击发生之后,Exactly Protocol在社交媒体上表示,正在尝试与攻击者沟通,以归还被盗资产,已向警方提交报告。
三天之后的8月21日,Exactly Protocol发文表示协议现已解除,用户可以执行所有操作,也没有发生任何清算。为了明确起见,黑客攻击只影响到使用外围合约(DebtManager)的用户。没有使用该合约的用户没有任何损失,协议仍在正常运行。 
Beosin安全团队第一时间对本次事件进行了分析,结果如下。

事件相关信息


●攻击交易0x3d6367de5c191204b44b8a5cf975f257472087a9aadc59b5d744ffdef33a520e0x1526acfb7062090bd5fed1b3821d1691c87f6c4fb294f56b5b921f0edf0cfad60xe8999fb57684856d637504f1f0082b69a3f7b34dd4e7597bea376c9466813585●攻击者地址0x3747dbbcb5c07786a4c59883e473a2e38f571af9●攻击合约0x6dd61c69415c8ecab3fefd80d079435ead1a5b4d0x995a24c99ea2fd6c87421d516216d9bdc7fa72b4●被攻击合约0x16748cb753a68329ca2117a7647aa590317ebf41

 

漏洞分析


漏洞合约中的多个Market地址参数可被操控。攻击者通过传入恶意的Market合约地址,成功绕过permit检查,执行了恶意的deposit函数,窃取了用户的抵押品USDC并清算用户资产,最终实现了攻击者的盈利目的。

 

攻击流程


我们以0x3d6367…这笔交易为例
攻击准备阶段:
1.攻击者创建了多个恶意Market合约 

攻击阶段
1.攻击者调用漏洞合约的leverage函数(杠杠函数)传入伪造的market合约地址,由于market地址未校验合法性,permit检查被绕过并将_msgSender更改为受害者地址,这里为步骤3窃取受害者资产做了准备。 

2.leverage函数会继续调用恶意market合约中的deposit函数,进而执行攻击者的恶意代码 

3.deposit函数中的恶意代码会先创建一个V3 恶意token/USDC的池子,然后再重入进漏洞合约的crossDeleverage函数。由于marketIn和marketOut同样可控,导致crossDeleverage函数计算的V3池子最终为攻击者创建的V3池子。 

4.此时由于_msgSender已经修改为了受害者,crossDeleverage函数进一步调用攻击者创建的V3池子的swap函数用作闪电贷,并在回调函数uniswapV3callback中将受害者的资金转入至V3池子中。 

5.攻击者移除流动性将受害者资金从V3池子中窃取出来。 

6.由于受害者抵押资金被转走,满足清算条件,攻击者进一步清算了受害者的头寸而获得了更多的收益。 

资金追踪

截止发文时,被盗资金已通过Optimism bridge和Across Protoco跨链至以太坊。

总结

针对本次事件,Beosin安全团队建议:
建议用作凭证代币的合约地址需要填加白名单功能,以免被恶意操控。目前,Beosin已对Optimism链上多个项目诸如DIPX等进行过安全审计,因此Beosin建议项目上线前,选择专业的安全审计公司进行全面的安全审计,规避安全风险。

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 Beosin 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信