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

fffmCQ.jpg

建议用作凭证代币的合约地址需要填加白名单功能,以免被恶意操控。

封面:Photo by Compare Fibre on Unsplash

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 合约 

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

攻击阶段

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

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

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

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

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

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

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

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

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

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

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

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

资金追踪

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

总结

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

声明:该文观点仅代表作者本人,与炒币网无关。炒币网系信息发布平台,仅提供信息存储空间服务。对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,并不对文章观点负责。 提示:投资有风险,入市须谨慎。本资讯仅供参阅,不作为投资理财建议。

发表评论

登录后才能评论