2021 年 5 月 8 日,據鏈聞消息,以太坊收益聚合協議 Rari Capital 因集成了 Alpha Finance 產生了漏洞,損失近 1500 萬美元。事后,Rari Capital 官方發布了事故分析報告,分析了此次事故的主要原因。慢霧安全團隊在官方分析的基礎上,結合慢霧安全團隊對此次事件的深入分析,進一步解讀本次安全事故的原因。
本次攻擊發生在 Rari Capital 的 RariManger 合約中,整個過程下來就是攻擊者首先通過閃電貸從 dYdX 中借出巨量資金,然后不停的重復調用 RariManger 合約中的 deposit 和 withdraw 函數,完成獲利。如下圖:
區塊鏈圖書出版平臺Libraro完成200萬英鎊融資:金色財經報道,區塊鏈圖書出版平臺 Libraro 宣布完成 200 萬英鎊融資,投資方包括 nChain 和 Web3 孵化項目 Block Dojo 等。Libraro 允許作家將自己的作品內容發布到其平臺,并通過區塊鏈技術記錄和保護上傳材料版權來確保平臺「完整性」,該公司還推出了 NFT 數字藏品作為用戶激勵。[2023/4/25 14:26:03]
那么用戶是如何通過 deposit 和 withdraw 這兩個操作獲利的呢?我們需要分析對應的函數:
NFT基礎設施初創公司Rarify以1億美元估值完成1000萬美元A輪融資:3月3日消息,NFT 基礎設施初創公司 Rarify 以 1 億美元估值完成 1000 萬美元 A 輪融資,Pantera Capital 領投,Eniac Ventures、Greycroft、Hyper 和 Slow Ventures 參投。該筆資金將用于加速企業的招聘和產品發布。Rarify 目前為市場和應用程序提供商業 API 基礎設施,以構建端到端的 NFT 體驗。
Pantera 合伙人 Paul Veradittakit 表示,此次融資將加快 Rarify 的增長步伐,并使 NFT 可供公司乃至更廣大消費者群體使用。(CoinDesk)[2022/3/3 13:35:19]
BAYC創作者Seneca新作“LITTLE ONE”NFT上線SuperRare并啟動拍賣:2月23日消息,BAYC 創作者、華裔少女 Seneca 創作的最新 NFT 作品“LITTLE ONE”已在 SuperRare 平臺上架并啟動拍賣,據最新數據顯示,當前最高出價為6.9ETH,約合2萬美元。據悉,本次拍賣將在美國東部標準時間周六晚上8點結束。[2022/2/24 10:11:47]
以上是 deposit 函數的部分邏輯,首先 deposit 函數本身會調用內部的 _depositTo 函數,然后會再次調用 getFundBalance 函數來獲取合約的余額。getFundBalance 函數最終是會調用到 Rari Controller 合約的 getBalance 函數去獲取余額。最后是通過 Rari Controller 合約中的 AlphaPoolController 庫的 getBalance 函數獲取余額。如下圖:
Rarible NFT錢包已上線App Store:NFT市場Rarible的NFT錢包應用已經上線App Store。[2021/8/22 22:29:59]
流程上略微復雜,用圖來展示大概就是下面這樣:
從上面的分析不難發現,Rari 合約最終是用到了 Alpha Finance 項目的 ibETH 合約的 totalETH 函數獲取合約的余額,目的是為了根據 totalETH 和 totalSupply 的比值計算出 Rari 合約真正的 ETH 余額。deposit 函數是根據用戶的充值 ETH 的數量和比值計算要發放給用戶的 REPT 數量,而 withdraw 函數的公式也大同小異,同樣需要通過 getBalance 函數獲取合約的 ETH 余額并計算比值,然后根據用戶的 REPT 代幣的余額和比值計算需要返還給用戶的 ETH 的數量。但是問題恰恰出在這個獲取 ETH 余額的公式上。
意大利意甲足球隊SS Lazio與區塊鏈足球平臺Sorare合作:意大利意甲足球隊SS Lazio與區塊鏈足球平臺Sorare合作,將在以太坊區塊鏈上發布Lazio收藏品。(Cointelegraph)[2020/3/17]
根據官方描述,從 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 充值到 Rari Capital 合約中,此時從 ibETH 獲取的比值還是正常的;
3、使用剩余的 ETH 充值到 ibETH 合約中,調用 ibETH 合約的 work 函數,為后續推高 ibETH 合約的 totalETH 的返回值做準備;
4、在 work 函數中同時對 Rari Capital 合約發起提現,由于上一步已經推高 totalETH 值,但是計算的 totalETH()/totalSupply() 的值相對于充值時被拉高,從而使攻擊者能從 Rari Capital 中使用等量的 REPT 獲取到更多的 ETH。
本次分析下來,主要的原因是協議的不兼容問題,攻擊者通過閃電貸和重入的方式,攻擊了 Rari Capital,造成了巨大的損失。慢霧安全團隊建議在 DeFi 逐漸趨于復雜的情況下,各 DeFi 項目在進行協議間交互時,需要做好協議之間的兼容性,避免因協議兼容問題導致的損失。
[參考鏈接]
Rari Capital 官方分析:
https://medium.com/rari-capital/5-8-2021-rari-ethereum-pool-post-mortem-60aab6a6f8f9
攻擊交易(其中一筆):
https://etherscan.io/tx/0x171072422efb5cd461546bfe986017d9b5aa427ff1c07ebe8acc064b13a7b7be
By:yudan@慢霧安全團隊
Tags:ETHTALARIRARIethicaljudgementSharpe CapitalARI10FERRARI
頭條 ▌高盛:比特幣能源問題削弱了其數字黃金地位金色財經報道,在一份研究報告中,高盛(Goldman Sachs)分析師稱,比特幣的低效率以及來自“設計更佳”的其他加密貨幣的競爭.
1900/1/1 0:00:00當加密市場轟轟烈烈的大牛市逐漸深化,市場中的資金押注方向、散戶的投資偏好有明顯內卷傾向(注:內卷一般用于形容某個領域中發生了過度的競爭,導致人們進入了互相傾軋、內耗的狀態.
1900/1/1 0:00:00在生活的很多方面,我們都傾向于用零和方式來做決定。對一方有利的東西對另一方絕對不利:正面我贏,反面你輸;你要么愛狗,要么愛貓;你要么是一個滑冰者,要么是一個滑雪者;你要么偏愛過道,要么偏愛靠窗的.
1900/1/1 0:00:001.以太坊續創新高 或將引領山寨季走向高潮在以太坊創下2,760美元的歷史新高之后,世界第二高價值的加密貨幣達到了3200億美元的市值.
1900/1/1 0:00:005月10日會成為中國行業人士難忘的一天。首先是Doge。北京時間10日凌晨,GEC宣布將其登月任務命名為DOGE-1,搭乘馬斯克的SpaceX公司的獵鷹9號火箭,此次任務將全部由狗狗幣支付.
1900/1/1 0:00:00【Defi 】 到底是什么? 1)Defi來源于英文中的decentralized finance,DeFi是這個詞組的縮寫,中文叫“去中心化金融”.
1900/1/1 0:00:00