買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 以太坊 > Info

TAL:Rari 被黑事故分析:開心做聚合 無奈被攻擊_ARI

Author:

Time:1900/1/1 0:00:00

2021年5月8日,據鏈聞消息,以太坊收益聚合協議RariCapital因集成了AlphaFinance產生了漏洞,損失近1500萬美元。事后,RariCapital官方發布了事故分析報告,分析了此次事故的主要原因。慢霧安全團隊在官方分析的基礎上,結合慢霧安全團隊對此次事件的深入分析,進一步解讀本次安全事故的原因。

攻擊細節分析

本次攻擊發生在RariCapital的RariManger合約中,整個過程下來就是攻擊者首先通過閃電貸從dYdX中借出巨量資金,然后不停的重復調用RariManger合約中的deposit和withdraw函數,完成獲利。如下圖:

NFT市場Rarible或將增加對Solana網絡的支持:3月23日消息,根據技術博主和應用程序研究員Jane Manchun Wong的分享,NFT市場Rarible有望增加對Solana網絡的支持。Rarible已經設置了用于集成Solana的后端。此前3月17日消息,NFT市場Rarible宣布完成Polygon集成并將推出多鏈錢包。(U.today)[2022/3/23 14:12:35]

那么用戶是如何通過deposit和withdraw這兩個操作獲利的呢?我們需要分析對應的函數:

NFT市場Rarible宣布完成Polygon集成并將推出多鏈錢包:3月17日消息,Polygon已成為NFT市場Rarible支持的第四個區塊鏈,Rarible目前集成的另外三個區塊鏈分別是以太坊、Flow和Tezos。

據悉,Polygon透露將利用旗下NFT和游戲部門PolygonStudios為RaribleNFT市場提供營銷和技術支持。此外,Rarible還宣布將推出多鏈錢包,但他們沒有提供這款錢包的具體發布時間。(coindesk)[2022/3/17 14:03:20]

以上是deposit函數的部分邏輯,首先deposit函數本身會調用內部的_depositTo函數,然后會再次調用getFundBalance函數來獲取合約的余額。getFundBalance函數最終是會調用到RariController合約的getBalance函數去獲取余額。最后是通過RariController合約中的AlphaPoolController庫的getBalance函數獲取余額。如下圖:

意大利服裝品牌Diesel將在Rarible推出NFT:金色財經報道,據最新消息,意大利服裝品牌Diesel將于3月12日在Rarible市場推出其名為“D:VERSE”的NFT項目,該系列基于該品牌2022年秋冬系列的展示品。(CoinDesk)[2022/3/11 13:50:02]

流程上略微復雜,用圖來展示大概就是下面這樣:

從上面的分析不難發現,Rari合約最終是用到了AlphaFinance項目的ibETH合約的totalETH函數獲取合約的余額,目的是為了根據totalETH和totalSupply的比值計算出Rari合約真正的ETH余額。deposit函數是根據用戶的充值ETH的數量和比值計算要發放給用戶的REPT數量,而withdraw函數的公式也大同小異,同樣需要通過getBalance函數獲取合約的ETH余額并計算比值,然后根據用戶的REPT代幣的余額和比值計算需要返還給用戶的ETH的數量。但是問題恰恰出在這個獲取ETH余額的公式上。

Fantom生態游戲Rarity的P2P NFT市場RaritySea Beta版發布:9月11日消息,MarrowDAO發推稱,面向Fantom生態游戲項目Rarity玩家的P2P NFT市場RaritySea(Beta版)已發布,由三個亞洲開發者合作開發。玩家現在可以在RaritySea自由交換召喚師,平臺收取1%的交易費用會全部給到開發者。RaritySea將隨著游戲的進展不斷改進,未來可能會支持更多與Rarity相關的NFT。[2021/9/11 23:18:06]

根據官方描述,從ibETH合約獲取的totalETH函數獲取的值是可以被用戶操控的。以下是官方原文:

拜仁慕尼黑與區塊鏈平臺Sorare為球員創建數字收藏品:拜仁慕尼黑足球俱樂部(FC Bayern Munich)已宣布和區塊鏈足球平臺Sorare合作,將為俱樂部球員創建數字收藏品。(Cryptonews)[2020/11/19 21:22:09]

根據官方的描述,用戶可通過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:yudan@慢霧安全團隊

Tags:RARIETHARITALRari Governance TokenBAETH價格STARINU幣TALK

以太坊
POLK:波卡周報 | Polkadot 更新版本,平行鏈功能正在審計并隨后部署 Kusama 網絡_Mirrored Amazon

加入PolkaWorld社區,共建Web3.0! 波卡 Polkadot0.9.0已經發布!這是一個屬于優先級比較高的版本.

1900/1/1 0:00:00
以太坊:以太坊的進化:新資本主義與三性資產_以太坊硬幣模版

以太坊能超越比特幣么? 這個問題曾經和“EOS能否超越以太坊”一樣遭人嘲笑,如今隨著以太坊對比特幣匯率不斷飆升,ETH2.0逐漸臨近,這個問題不再是笑話.

1900/1/1 0:00:00
SHI:幣圈思考「瘋狂動物城」啟示錄_比特幣

DeFi食物代幣「謝幕」還不足一年,以SHIB為首的動物代幣又開始攪動加密貨幣市場。行情數據顯示,5月7日至11日,SHIB四日暴漲超1800%,市值超越昔日主流幣EOS、BSV,排名躍至15位.

1900/1/1 0:00:00
RAKE:Kraken最新報告:全球加密市場在5月會繼續保持上升勢頭嗎?_kraken對應什么數字

為了幫助加密資產用戶了解不斷波動的加密市場,全球加密資產交換平臺Kraken最近發布了2021年4月的《加密市場觀察》月度報告.

1900/1/1 0:00:00
數字人:再發20000個數字人民幣紅包 這次面向蘇州市工會會員_APP

前不久,蘇州開啟了“五五購物節”數字人民幣紅包活動,面向符合條件的市民,通過抽簽發放數字人民幣紅包共18.18萬個,每個紅包金額55元,總計發放金額約為1000萬元.

1900/1/1 0:00:00
DEF:觀察 | 一文透視以太坊DeFi發展現狀:穩定幣、DEX和借貸表現亮眼_DeFine

作者?|?Lukeposey?原標題:《Glassnode丨發展至今,DeFi現狀如何?》在短短8個月內,DeFi已經吸引了超過1000億美元的資金進入合約.

1900/1/1 0:00:00
ads