2021年5月8日,據鏈聞消息,以太坊收益聚合協議RariCapital因集成了AlphaFinance產生了漏洞,損失近1500萬美元。事后,RariCapital官方發布了事故分析報告,分析了此次事故的主要原因。慢霧安全團隊在官方分析的基礎上,結合慢霧安全團隊對此次事件的深入分析,進一步解讀本次安全事故的原因。
攻擊細節分析
本次攻擊發生在RariCapital的RariManger合約中,整個過程下來就是攻擊者首先通過閃電貸從dYdX中借出巨量資金,然后不停的重復調用RariManger合約中的deposit和withdraw函數,完成獲利。如下圖:
LooksRare:將推出Moonshot項目,并將定期回購LOOKS:5月27日消息,NFT 市場 LooksRare 發文稱,將在 4 至 6 周內推出 Moonshot 項目,它將為 LooksRare 協議產生費用,并將用其中一大部分費用從市場上定期回購 LOOKS 代幣。目前,LooksRare 已從前 5 次 Raffles 中回購超過 55 萬枚 LOOKS(超過 4.5 萬美元),回購的代幣將存入 LooksRare 財庫。[2023/5/27 9:45:16]
那么用戶是如何通過deposit和withdraw這兩個操作獲利的呢?我們需要分析對應的函數:
NFT交易市場LooksRare推特賬戶顯示“已停用”:1月10日消息,據推特界面顯示,NFT交易市場LooksRare推特賬戶顯示“已停用”,目前尚不清楚被封禁原因。
此前Solana生態項目DeGods、y00ts、Solana生態錢包Phantom推特賬戶也被封禁,后又恢復正常使用。[2023/1/10 11:03:52]
以上是deposit函數的部分邏輯,首先deposit函數本身會調用內部的_depositTo函數,然后會再次調用getFundBalance函數來獲取合約的余額。getFundBalance函數最終是會調用到RariController合約的getBalance函數去獲取余額。最后是通過RariController合約中的AlphaPoolController庫的getBalance函數獲取余額。如下圖:
NFT市場Rarible聘請前Web3營銷公司Serotonin客戶主管任公關經理:金色財經消息,NFT市場Rarible已聘請前Web3營銷公司Serotonin客戶主管Jessica Graber任公關經理,將負責媒體關系和宣傳,以提高平臺的媒體影響力和品牌知名度,并支持產品和合作伙伴相關工作。Serotonin團隊由ConsenSys、Chainlink、Bridgewater Associates和General Assembly的前高管組成。(NFTGators)[2022/8/18 12:33:02]
流程上略微復雜,用圖來展示大概就是下面這樣:
BKEX Global將于今日20:30上線RARI:據BKEX Global公告,BKEX Global將于2020年7月18日20:30(UTC+8)全球首發上線RARI(Rarible),開放交易對:RARI/USDT。
RARI為NFT交易平臺Rarible的平臺治理代幣,采用流動性挖礦模式,可以通過在Rarible平臺參與NFT交易獲得代幣。[2020/7/18]
從上面的分析不難發現,Rari合約最終是用到了AlphaFinance項目的ibETH合約的totalETH函數獲取合約的余額,目的是為了根據totalETH和totalSupply的比值計算出Rari合約真正的ETH余額。deposit函數是根據用戶的充值ETH的數量和比值計算要發放給用戶的REPT數量,而withdraw函數的公式也大同小異,同樣需要通過getBalance函數獲取合約的ETH余額并計算比值,然后根據用戶的REPT代幣的余額和比值計算需要返還給用戶的ETH的數量。但是問題恰恰出在這個獲取ETH余額的公式上。
根據官方描述,從ibETH合約獲取的totalETH函數獲取的值是可以被用戶操控的。以下是官方原文:
根據官方的描述,用戶可通過ibETH合約的work函數操控totalETH函數返回的值,導致Rari整個價值計算公式崩潰。我們分別分析ibETH的work函數和totalETH函數:
totalETH函數:
work函數:
以上分別是ibETH合約中的totalETH函數和work函數的部分實現。不難發現totalETH函數其實就是獲取合約的總的ETH的數量。而work函數,本身是一個payable函數,也就是說,用戶是可以通過work函數來控制ibETH合約中的ETH數量從而來改變totalETH返回的值的。更糟糕的是,work函數同時還支持調用其他的任意合約。那么整個思路就很清晰了。
攻擊流程
1、從dYdX中進行閃電貸,借出大量的ETH;
2、使用一部分的ETH充值到RariCapital合約中,此時從ibETH獲取的比值還是正常的;
3、使用剩余的ETH充值到ibETH合約中,調用ibETH合約的work函數,為后續推高ibETH合約的totalETH的返回值做準備;
4、在work函數中同時對RariCapital合約發起提現,由于上一步已經推高totalETH值,但是計算的totalETH()/totalSupply()的值相對于充值時被拉高,從而使攻擊者能從RariCapital中使用等量的REPT獲取到更多的ETH。
總結
本次分析下來,主要的原因是協議的不兼容問題,攻擊者通過閃電貸和重入的方式,攻擊了RariCapital,造成了巨大的損失。慢霧安全團隊建議在DeFi逐漸趨于復雜的情況下,各DeFi項目在進行協議間交互時,需要做好協議之間的兼容性,避免因協議兼容問題導致的損失。
RariCapital官方分析:
https://medium.com/rari-capital/5-8-2021-rari-ethereum-pool-post-mortem-60aab6a6f8f9
攻擊交易(其中一筆):
https://etherscan.io/tx/0x171072422efb5cd461546bfe986017d9b5aa427ff1c07ebe8acc064b13a7b7be
By:慢霧安全團隊
Tags:ETHRARIARITALEther TechFerrariSwapHEARIFYAIHackspace Capital
尊敬的用戶:??????????BKEXGlobal即將上線PIG,詳情如下:上線交易對:PIG/USDT??幣種類型:BEP20充值功能開放時間:已開放交易功能開放時間:2021年5月9日19.
1900/1/1 0:00:00尊敬的用戶: HCoin平臺即將開放FORTH的充值、提現、并開放FORTH/USDT交易對,具體時間如下:1.開放充值時間:2021年5月10日17:002.開放提現時間:2021年5月10日.
1900/1/1 0:00:00金色財經區塊鏈5月10日訊?最近,以太坊創始人“V神”VitalikButerin談到了去中心化自治組織、去中心化治理和DeFi等問題.
1900/1/1 0:00:00由埃隆·馬斯克創立的私人航天機構的先驅Spacex宣布,它將與美國幾何能源公司協作,啟動DOGE-1登月任務。該任務的目的是將商業有效載荷運送到月球上,并使用Dogecoin進行了全額支付.
1900/1/1 0:00:00HFI.one是一個基于火幣生態鏈Heco的聚合收益平臺,主打安全高效地幫助用戶賺取收益。是Heco鏈上的零風險機槍池項目.
1900/1/1 0:00:00尊敬的用戶:? BKEXGlobal舉辦的"迎BRG上線,充值交易瓜分40,000BRG"活動已于2021年4月6日15:00圓滿結束,感謝用戶的大力支持!活動獎勵將于5個工作日內發放.
1900/1/1 0:00:00