2021 年 5 月 8 日,據鏈聞消息,以太坊收益聚合協議 Rari Capital 因集成了 Alpha Finance 產生了漏洞,損失近 1500 萬美元。事后,Rari Capital 官方發布了事故分析報告,分析了此次事故的主要原因。慢霧安全團隊在官方分析的基礎上,結合慢霧安全團隊對此次事件的深入分析,進一步解讀本次安全事故的原因。
本次攻擊發生在 Rari Capital 的 RariManger 合約中,整個過程下來就是攻擊者首先通過閃電貸從 dYdX 中借出巨量資金,然后不停的重復調用 RariManger 合約中的 deposit 和 withdraw 函數,完成獲利。如下圖:
Tribe DAO提出1.57億美元贖回計劃,向代幣持有人和Rari黑客受害者分發加密資產:金色財經報道,Tribe DAO提出了一項關閉其協議運作的提案。這是一個大約1.57億美元的贖回計劃,將DAO控制的剩余資產分配給TRIBE持有人,并對4月發生的Rari黑客攻擊的受害者進行賠償。任何批準都需要在未來由代幣持有人進行的DAO投票中進行。贖回提案將用團隊的8890萬個未歸屬的TRIBE代幣來補償這次事件中的黑客受害者,這將向受害者發放約1600萬美元。對于TRIBE持有人來說,DAO控制的資產總額約為1.41億美元,將按比例分配。
4月30日,Rari Capital的資金池遭到攻擊,價值約8000萬美元。(The Block)[2022/8/20 12:37:18]
Glassnode:OpenSea和LooksRare日均交易量已降至約2.2萬枚ETH:金色財經報道,據區塊鏈分析公司Glassnode最新數據顯示,在2022 年的大部分時間里,OpenSea和LooksRare兩大NFT市場的日交易量基本維持在5萬枚到10萬枚ETH之間。然而,在今年5月之后,他們的交易量急劇下降,目前日均交易量維持在略高于2.2萬枚ETH。此外,被用于NFT交易的gas 使用量相對份額已經從2022 年6月初的 46.0%的高位下降至當前19.6%,這種情況表明投資者對市場波動的反應越來越負面。[2022/6/27 1:32:51]
那么用戶是如何通過 deposit 和 withdraw 這兩個操作獲利的呢?我們需要分析對應的函數:
在gem上買賣LooksRare的NFT可以賺取Looks獎勵:3月8日消息,gem宣布新功能,在gem上買賣LooksRare的NFT可以賺取Looks交易獎勵。[2022/3/8 13:43:57]
以上是 deposit 函數的部分邏輯,首先 deposit 函數本身會調用內部的 _depositTo 函數,然后會再次調用 getFundBalance 函數來獲取合約的余額。getFundBalance 函數最終是會調用到 Rari Controller 合約的 getBalance 函數去獲取余額。最后是通過 Rari Controller 合約中的 AlphaPoolController 庫的 getBalance 函數獲取余額。如下圖:
NBA湖人隊球星Andre Drummond在Rarible上發布NFT收藏品:7月10日,NBA湖人隊球星Andre Drummond發推宣布其NFT收藏品已在NFT平臺Rarible上線。[2021/7/10 0:41:36]
流程上略微復雜,用圖來展示大概就是下面這樣:
從上面的分析不難發現,Rari 合約最終是用到了 Alpha Finance 項目的 ibETH 合約的 totalETH 函數獲取合約的余額,目的是為了根據 totalETH 和 totalSupply 的比值計算出 Rari 合約真正的 ETH 余額。deposit 函數是根據用戶的充值 ETH 的數量和比值計算要發放給用戶的 REPT 數量,而 withdraw 函數的公式也大同小異,同樣需要通過 getBalance 函數獲取合約的 ETH 余額并計算比值,然后根據用戶的 REPT 代幣的余額和比值計算需要返還給用戶的 ETH 的數量。但是問題恰恰出在這個獲取 ETH 余額的公式上。
億萬富翁Mark Cuban代幣化視頻剪輯片段在Rarible上22分鐘銷售突破50枚ETH:據線上教育平臺Course Champ創始人Kris Kay在推特上透露,億萬富翁、NBA達拉斯獨行俠隊老板Mark Cuban代幣化個人視頻剪輯片段在NFT交易平臺Rarible上只用了22分鐘銷售額就達50 ETH,按照當前價格計算約合9萬美元。對此,馬克·庫班回應稱:“這只是一個開始”。[2021/2/10 19:23:40]
根據官方描述,從 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:ETHRARITALARICompound EtherFERRARI價格Fermat Capital ManagementMarinade staked SOL
“我們該以怎樣的方式參與插槽拍賣??4 月 20 日波卡創始人 Gavin Wood 發布 Kusama 平行鏈上線清單.
1900/1/1 0:00:00頭條 ▌加密貨幣市場總市值突破2.5萬億美元金色財經報道,數據顯示,加密貨幣市場總市值已突破2.5萬億美元,再創歷史新高,目前約為2.523萬億美元.
1900/1/1 0:00:00首個涉足NFT并成功開啟了“女優+NFT”熱潮的日本AV女優上原亞衣,在其《Ai HODL Bitcoin》NFT寫真集中的三幅NFT寫真分別在Rarible拍出2 ETH(Mosaic)、9.
1900/1/1 0:00:00美國 SEC 委員會委員 Hester M. Peirce 女士 2021 年 4 月 13 日在 SEC 官網上發布了《通證避風港提案 2.
1900/1/1 0:00:00經過一段嚴酷的修正期后,名為“PlanB”的神秘分析師預測,比特幣將達到前所未有的高度。而這就是他著名的、經常被引用的流量庫存模型(S2F模型)所預測的,到目前為止,一切似乎都是按照這個計劃在進.
1900/1/1 0:00:00我們在用計算平行宇宙的方法投注未來,但屬于當前時間線的未來只有一個。一個名詞,一個叫作Metaverse的名詞,正在全世界喧囂,令眾多企業、無數資本著迷.
1900/1/1 0:00:00