3月22日,穩定幣協議Resolv確認受到攻擊,攻擊者透過鑄造超過8000萬枚$USR(Resolv的穩定幣)獲利約2300萬美元。 Beosin安全團隊對本次事件進行了攻擊流程梳理與資金追蹤分析,並將結果分享如下:
攻擊流程分析
本次事件攻擊者發動了三筆鑄造交易,共鑄造約8000萬枚$USR,其中主要的兩筆交易哈希為:
1. 0xfe37f25efd67d0a4da4afe48509b258df48757b97810b28ce4c649658dc33743
2. 0x41b6b9376d174165cbd54ba576c8f6675ff966f17609a7b80d27d8652db1f18f
檢查攻擊者的交易,是透過completeSwap函數完成鑄造的,該函數的具體實作如原文連結所示。
當用戶存入USDC,SERVICE_ROLE會決定為用戶鑄造多少數目的$USR。此函數校驗了最低鑄造量,卻沒有最高鑄造量限制。由於設定沒有上限,也沒有抵押品比例限制,SERVICE_ROLE可以鑄造任意數量的USR。
由於SERVICE_ROLE為鏈下程式未開源,可能的被攻擊原因為鏈下基礎設施漏洞或私鑰外洩。此外,鏈上的安全檢查缺失(無時間鎖、無多重簽名驗證、無最大鑄造比例限制)使得Resolv協定的安全防線更加薄弱,在SERVICE_ROLE這一單點角色出現問題後無任何緩解/挽救措施。
被盜資金追踪
結合地址標籤和鏈上交易數據,Beosin透過旗下區塊鏈鏈上調查與追蹤平台Beosin Trace進行了詳盡的資金追踪,並將結果分享如下:
駭客地址為0x04A288a7789DD6Ade935361a4fB1Ec5db513caEd,在3月21日
分別收到了25.34、26.85ETH,推測為這次攻擊事件的初始資金來源。根據Beosin情報分析,提供初始資金來源的地址0xda79e97c5ada3fdb196e7c49194ce5352ba48861為交易所Wizard Swap的地址。
駭客地址實施攻擊行為後,透過鏈上協議(如Uniswap)將所鑄造的$USR換成ETH進行保存和轉移,截至文章發佈時,其資金的主要沉澱地址為0x8ed8cf0c1c531c1b20848e78f1cb32fa5b99b81c,
其資金流向如下圖所示:
被竊資金流向分析圖by Beosin Trace
以上地址皆已被Beosin KYT標示為高風險地址,以0x04a288地址為例:
Beosin KYT

