Cointime

扫码下载App
iOS & Android

SharkTeam:Exactly Protocol攻击事件原理分析

8月18日,Exactly protocol遭遇黑客攻击,攻击者已获利约1204万美元。

SharkTeam对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。

一、 事件分析

攻击者地址:

0x3747dbbcb5c07786a4c59883e473a2e38f571af9

0x417179df13ba3ed138b0a58eaa0c3813430a20e0

0xe4f34a72d7c18b6f666d6ca53fbc3790bc9da042

攻击合约:

0x6dd61c69415c8ecab3fefd80d079435ead1a5b4d

被攻击合约:

0x675d410dcf6f343219aae8d1dde0bfab46f52106

攻击交易:

0x3d6367de5c191204b44b8a5cf975f257472087a9aadc59b5d744ffdef33a520e

0x1526acfb7062090bd5fed1b3821d1691c87f6c4fb294f56b5b921f0edf0cfad6

0xe8999fb57684856d637504f1f0082b69a3f7b34dd4e7597bea376c9466813585

攻击流程:

(1)攻击者(0x417179df)先通过攻击合约(0x6dd61c69)创建了多个恶意市场代币合约和多个uniswapPool合约。

(2)随后调用被攻击合约(0x675d410d)的leverage函数并传入一个恶意市场代币地址。

(3)在leverage函数中通过deposit函数到pool合约中添加USDC和恶意市场代币的流动性并重入到被攻击合约(0x675d410d)的crossDeleverage函数

(4)在crossDeleverage函数中被攻击合约(0x675d410d)会使用USDC到pool合约中兑换恶意市场代币。

(5)函数调用完成后,攻击合约(0x6dd61c69)移除pool中的流动性,随后提出兑换而来的USDC代币获利。

(6) 多次循环上面的操作,每次攻击都会更换被攻击用户地址和恶意市场代币地址。

(7) 然后将获得的USDC发送给攻击者(0xe4f34a72)。

(8)多次执行同样的操作获利

二、漏洞分析

本次攻击利用了DebtManager(0x675d410d)合约中的漏洞,其中的leverage函数未校验传入market参数是否为可信的市场合约,导致在permit函数修饰器中可将状态变量_msgSender修改为攻击者任意的传参地址。

最后在与pool进行兑换时会使用用户的exaUSDC余额来抵消付给pool合约的USDC数量。

三、 安全建议

针对本次攻击事件,我们在开发过程中应遵循以下注意事项:

(1)在涉及到有关外部地址传参和调用的情况下,应严格校验传参地址是否为可信地址。

(2)项目上线前,需要向第三方专业的审计团队进行智能合约审计。

About Us

SharkTeam的愿景是全面保护Web3世界的安全。团队由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约的底层理论,提供包括智能合约审计、链上分析、应急响应等服务。已与区块链生态系统各个领域的关键参与者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE等建立长期合作关系。

官网:https://www.sharkteam.org

Twitter:https://twitter.com/sharkteamorg

Discord:https://discord.gg/jGH9xXCjDZ

Telegram:https://t.me/sharkteamorg

评论

所有评论

推荐阅读

  • 贝莱德 BTC 持仓突破80万枚

    Cointime 报道,4月22日,据 Lookonchain 监测,贝莱德近期持续增持 BTC,持仓达 806,700 枚 BTC(637.3 亿美元),创历史新高。

  • BTC突破79000美元

    Cointime 报道,行情显示,BTC突破79000美元,现报79005.99美元,24小时涨幅达到4.18%,行情波动较大,请做好风险控制。

  • 伊朗尚未决定周五举行谈判

    Cointime 报道,据伊朗塔斯尼姆通讯社:伊朗尚未决定周五举行谈判。

  • 特朗普:最快周五会有与伊朗谈判的“好消息”

    Cointime 报道,4月22日讯,据纽约邮报报道,美国总统特朗普和巴基斯坦方面的人士周三透露,有关美国与伊��进行第二轮谈判的“好消息”可能最快于周五出现。巴基斯坦消息人士称,与伊朗的积极调解努力使未来“36至72小时内”举行更多和平谈判的可能性再度出现。当被问及这一可能的突破时,特朗普通过短信回复道:“有可能!。”此前,特朗普表示他将把该停火协议延长至伊朗领导层能够提出“统一的方案”之时。此后数小时里,巴基斯坦继续通过外交渠道与伊朗进行沟通。一位巴基斯坦人士表示,这一时间安排是基于对相关工作的评估得出的。

  • 消息人士:特朗普愿意再给伊朗3至5天停火时间

    Cointime 报道,美国阿克西奥斯新闻网站22日援引一名美方消息人士的话报道,美国总统特朗普愿意再给伊朗3至5天停火时间,但“这不会是无限期的”。(新华社)

  • ETH跌破2400美元

    Cointime 报道,行情显示,ETH跌破2400美元,现报2399.88美元,24小时涨幅达到3.46%,行情波动较大,请做好风险控制。

  • Robinhood Ventures向OpenAI投资7500万美元

    Cointime 报道,4月22日,据纽约时报:Robinhood Ventures向OpenAI投资7500万美元。

  • 腾讯与阿里巴巴正洽谈以超过200亿美元的估值投资DeepSeek

    Cointime 报道,4月22日,据The Information:腾讯与阿里巴巴正洽谈以超过200亿美元的估值投资DeepSeek。

  • 又有一艘货船遭到伊朗炮击 暂无人员伤亡

    Cointime 报道,4月22日,英国海上贸易行动办公室:已经收到一份关于伊朗以西8海里处发生事件的报告,一艘出港货船的船长报告称遭到射击,目前已在水上停船。船员均安全且人数齐全。暂无船只受损报告。目前已注意到霍尔木兹海峡地区活动频繁,并鼓励船只报告任何可疑活动。(东新社)