以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 非小號 > Info

FRA:空手套白狼:Popsicle 被黑分析

Author:

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

2021 年 08 月 04 日,據慢霧區消息,跨鏈收益率平臺 Popsicle Finance 的 Sorbetto Fragola 產品遭受黑客攻擊,慢霧安全團隊第一時間介入分析,并將結果分享如下。

攻擊背景

在本次攻擊中,攻擊者通過創建 3 個攻擊合約來完成對 Sorbetto Fragola 的攻擊,以下是本次攻擊涉及的具體地址:

攻擊者:

H1:0x3A9D90eD069021057d9d11E78F142F2C4267934A

H2:0xf9E3D08196F76f5078882d98941b71C0884BEa52

攻擊合約:

C1:0xdFb6faB7f4bc9512d5620e679E90D1C91C4EAdE6

C2:0x576cf5f8ba98e1643a2c93103881d8356c3550cf

C3:0xd282f740bb0ff5d9e0a861df024fcbd3c0bd0dc8

Sorbetto Fragola:

0xc4ff55a4329f84f9Bf0F5619998aB570481EBB48

攻擊對象

通過官方的介紹我們可以知道被攻擊的 Sorbetto Fragola 產品主要是用于幫助用戶管理 Uniswap V3 頭寸,以避免用戶在 Uniswap V3 做市的頭寸超出所選定的價格范圍。用戶可以在 Sorbetto Fragola 中存入提供流動性對應的兩種代幣,Sorbetto Fragola 會給到用戶 Popsicle LP (PLP) 憑證,用戶使用此憑證可以獲取獎勵并取回抵押的流動性資金,同時此憑證也是可以隨意轉移給其他用戶的。

dYdX創始人:v4版本代碼將完全開源,不包含任何商業版權許可:6月16日消息,dYdX創始人Antonio Juliano發推稱,dYdX v4將完全開源,不包含任何商業版權許可,任何人都可以隨意使用代碼。

此前消息,Uniswap也宣稱將開源v4版本,以進行公開構建,但社區普遍認為因Uniswap通過BSL對v4版本代碼進行了為期四年的商業版權保護,因此算不上是真正的開源。[2023/6/17 21:42:53]

攻擊核心

此次攻擊的核心在于,Sorbetto Fragola 中通過用戶持有的 PLP 憑證數量來參與計算用戶所能獲得的獎勵,但 PLP 憑證是可以隨意轉移給其他用戶的,但其憑證轉移的過程中沒有進行獎勵結算轉移等操作。這就導致了只要持有 PLP 憑證就可以立即獲取獎勵。最終造成同個 PLP 憑證卻能在同個時間節點給多個持有者帶來收益。接下來我們對整個攻擊細節進行詳細分析。

攻擊細節

攻擊首先通過 H1 地址創建了攻擊合約 C1、C2 與 C3,隨后攻擊者通過 H2 地址調用了攻擊合約 C1 開始進行具體的攻擊,交易為:

0xcd7dae143a4c0223349c16237ce4cd7696b1638d116a72755231ede872ab70fc。

通過分析此交易我們可以發現,其先從 AAVE 中利用閃電貸借出了 30,000,000 個 USDT、13,000 個 WETH、1,400 個 WBTC、30,000,000 個 USDC、3,000,000 個 DAI、200,000 個 UNI,為后續在 Sorbetto Fragola 中提供流動性獲得 PLP 憑證做準備。

Aptos鏈上交易量突破1億筆:金色財經報道,Aptos Labs官方數據顯示,Aptos鏈上交易總量已突破1億筆,截至目前達到100,132,397筆。當前Aptos(APT)總供應量為1,023,779,897枚,活躍質押量達到844,724,189枚,活躍驗證者為104個。

另據Coingecko數據顯示,當前APT跌至10.97美元,24小時跌幅為4.8%,市值觸及1,892,076,904美元。[2023/3/11 12:56:04]

隨后攻擊者調用 Sorbetto Fragola 合約的 deposit 函數存入提供流動性對應的兩種代幣 (這里以攻擊者首次存入的 WETH 與 USDT 代幣為例),其會先通過 checkDeviation 與 updateVault 修飾器分別檢查價格與更新獎勵。價格檢查主要是針對價格是否出現大波動被操控等情況,這里不做展開。而獎勵更新就與本次攻擊密切相關了,我們切入分析:

可以看到其調用了 _updateFeesReward 函數進行具體的更新操作,我們跟進此函數:

Bitfinex Alpha:2022年將成為交易所BTC和ETH余額降幅最大的一年:12月20日消息,根據Bitfinex Alpha報告,上周數據傳遞出的信息是通脹正在減弱,但這個過程是緩慢的,而且美聯儲還沒有放松貨幣政策。美聯儲未來還會繼續加息,預計明年2月將再加息50個基點,3月將再加息25個基點。

在加密市場中,Bitfinex Alpha對波動率指標和歷史數據的分析表明,年底價格可能會出現波動,這是由交易量減少以及BTC波動率指數在大時間周期內持續橫盤所致。

在過去一周,超過7萬枚比特幣流入鯨魚錢包,但隨著更多的資金從交易所轉移出去,并不意味著看漲BTC價格,而是被視為對中心化交易所的信心危機。這一模式證實了Bitfinex Alpha一年來看到的趨勢,但在FTX崩盤后這種趨勢有所加劇。2022年將成為歷史上交易所的BTC和ETH余額降幅最大的一年。[2022/12/21 21:57:11]

從上圖我們可以很容易的發現其先通過 positionLiquidity 函數獲取 tickLower 與 tickUpper 范圍內合約所持有的流動性數量。然后通過 _earnFees 函數從 Uniswap V3 Pool 中收取提供流動性獎勵。之后再通過 _tokenPerShare 函數計算每個 PLP 憑證所能分得的流動性獎勵。最后通過 _fee0Earned 與 _fee1Earned 函數來計算用戶所持有的 PLP 憑證數量可以獲得多少獎勵,并使用user.token0Rewards 與 user.token1Rewards 變量進行記錄,如下圖所示:

BitMEX創始人:人們因創始人是白人而盲目信任DCG:11月28日,BitMEX創始人Arthur Hayes發表其“白人青年”系列博文續篇,探討DCG創始人BarrySilbert崛起的前因后果。文中指出,在BTC發展早期,由于缺少直接的合規投資,Silbert用信托基金的方式構建入場的護城河,并由于其壟斷地位而使得GBTC始終享有2%的超高管理費,而Silbert能在一開始就獲得多方的信任,是由于他是是一名“白人金融家”。如今,由于Genesis將比特幣借給三箭資本生成GBTC來賺取溢價,而后比特幣價格下跌導致連續清算,DCG正岌岌可危。

Arthur Hayes在文中總結道,我猜為Genesis提供借貸資金的人(不論是誰)已經關掉了水龍頭。而一旦沒有了外部彈藥供給,DCG集團的故事離落幕就不遠了。[2022/11/28 21:07:40]

但由于此時攻擊者剛進行充值操作,還未獲得 PLP 憑證,因此其 user.token0Rewards 與 user.token1Rewards 變量最終記錄的自然是 0。

看到這里你可能已經意識到問題所在了,既然 user.token0Rewards 與 user.token1Rewards 變量記錄的獎勵是根據用戶持有的 PLP 憑證進行計算的,且 PLP 憑證是可以轉移的,那么是否只要持有 PLP 憑證再去觸發此變量記錄獎勵就可以讓我們獲得獎勵。答案自然是肯定的。我們繼續看 deposit 函數:

幣安將不支持使用MWEB充提LTC:金色財經消息,幣安發布公告稱,將不支持通過Mimble Wimble Extension Blocks(MWEB)功能進行的LTC存取款,因該功能為用戶提供了在不泄露任何交易信息的情況下發送隱私LTC交易的選項,使得幣安無法核實發件人地址,資金將不會被接收或退回從而導致資金損失。[2022/6/13 4:22:21]

在獎勵更新之后通過 liquidityForAmounts 函數計算出在目標價格區間內用戶提供資金所占的流動性然后調用 Uniswap V3 Pool  mint 函數注入流動性。隨后通過 _calcShare 計算出 Sorbetto Fragola 所需要鑄造給用戶的 PLP 憑證數量。

在攻擊者獲得 PLP 憑著后也正如我們所想的那樣將 PLP 憑證轉移給其他地址,并調用 Sorbetto Fragola 合約 collectFees 函數來進行獎勵記錄。

通過上圖的 PLP 憑證鏈上轉移記錄我們可以看到,在攻擊合約 C1 獲得 PLP 憑證后,將其轉移給了攻擊合約 C2,隨后調用了 collectFees 函數。之后攻擊合約 C2 再將 PLP 憑證轉移給攻擊合約 C3 再次調用了 collectFees。最后攻擊合約 C3 將 PLP 憑證轉移回攻擊合約 C1。我們切入 collectFees 函數進行分析:

通過上圖我們可以很容易的看出此函數也有 updateVault 修飾器,而經過上面的分析我們可以知道 updateVault 修飾器用于獎勵更新,因此在攻擊合約 C2 持有 PLP 憑證的情況下調用 collectFees 函數觸發 updateVault 修飾器則會根據其持有的 PLP 憑證數量來計算應分得的獎勵,并記入用戶的 token0Rewards 與 token1Rewards 變量。需要注意的是此時對于此類 PLP 憑證持有者緩存的 tokenPerSharePaid 變量是 0,這直接導致了用戶可以獲得 PLP 憑證持有獎勵。

我們從鏈上狀態的變化也可以看出:

隨后攻擊合約 C2 也如法炮制即可獲得獎勵記錄。

最后 PLP 憑證轉移回到攻擊合約 C1,并調用了 Sorbetto Fragola 合約的 withdraw 函數燃燒掉 PLP 憑證取回先前存入的 WETH 與 USDT 流動性。并且攻擊合約 C2、C3 分別調用 collectFees 函數傳入所要領取的獎勵數量以領取獎勵。這樣攻擊者在同個區塊中不僅拿回了存入的流動性還額外獲得多份流動性提供獎勵。

隨后攻擊者開始利用其他的代幣對如法炮制的薅取獎勵,如下圖所示:

攻擊流程

1、攻擊者創建多個攻擊合約,并從 AAVE 中利用閃電貸借出大量的代幣;

2、攻擊者使用借來的代幣存入 Sorbetto Fragola 合約中獲得 PLP 憑證;

3、攻擊者利用 Sorbetto Fragola 合約的獎勵結算缺陷問題將獲得的 PLP 憑證在其創建的攻擊合約之間進行轉移并分別調用了 Sorbetto Fragola 合約的 collectFees 函數來為各個攻擊合約紀錄獎勵;

4、攻擊者燃燒 PLP 憑證取回在 Sorbetto Fragola 合約中存入的流動性資金,并通過各個攻擊合約調用 Sorbetto Fragola 合約的 collectFees 函數來獲取紀錄的獎勵;

5、不斷的循環上述操作攻擊各個流動性資金池薅取獎勵;

6、歸還閃電貸獲利走人。

MistTrack 分析過程

慢霧 AML 團隊分析統計,本次攻擊損失了約 4.98M USDT、2.56K WETH、96 WBTC、5.39M USDC、159.93K DAI、10.49K UNI,接近 2100 萬美元。

資金流向分析

慢霧 AML 旗下 MistTrack 反洗錢追蹤系統分析發現,攻擊者 H1 地址首先從 Tornado.Cash 提幣獲取初始資金隨后部署了三個攻擊合約:

攻擊獲利后通過 Uniswap V3 將獲得的代幣兌換成 ETH 再次轉入了 Tornado.Cash:

目前攻擊者賬戶余額僅為 0.08 ETH,其余資金均已通過 Tornado.Cash 進行轉移。

總結

本次漏洞的核心在于由于獎勵更新記錄缺陷導致同個 PLP 憑證能在同個時間節點給多個持有者都帶來收益。針對此類漏洞,慢霧安全團隊建議在進行憑證轉移前應處理好獎勵結算問題,記錄好轉移前后用戶的獎勵緩存,以避免再次出現此類問題。

Tags:ETTBETFRAFRAGMettalexPUML Better Healthfranklin幣FlY幣團隊FRAG價格

非小號
比特幣:Web3.0代幣將成為下一個熱點?市場數據告訴你答案

盡管最近加密資產普遍下跌,但Livepeer(LPT)和Bittorent(BTT)等Web3.0代幣的價格卻在今年飆升.

1900/1/1 0:00:00
以太坊:以太坊價格可能不會很快突破5000美元的3個原因

以太坊價格在短期內可能會看漲,但有少數因素可能會使價格被釘在目前的范圍內。自從以太坊聯合創始人Vitalik Buterin在2021年StartmeupHK節上發表演講以來,以太坊(ETH)價.

1900/1/1 0:00:00
比特幣:“倫敦”升級 以太坊的“費改稅”

據說大餅(BTC)在過去半個月創下了自2013年來最長的一次連陽。不過現在已經走壞,重新回到了4萬刀的下方.

1900/1/1 0:00:00
DEFI:波卡生態起步在即 哪五大發展方向值得關注?

背景 距離Kusama插槽結束已經過去了一周多,5次拍賣鎖倉的KSM超過了114萬枚,占了KSM發行量的9.8%,而目前隨著第一輪插槽拍賣的結束.

1900/1/1 0:00:00
EDGE:DAO 的建制與反思:為什么要成立一個面向開發者的 DAO?

Cedge DAO 決定做一個面向開發者的自治組織,讓開發者能享受到整個區塊鏈行業發展帶來的成果。這是一篇拖了很久的文章,本來應該在 DAO 的開始之初就被寫出來.

1900/1/1 0:00:00
ETH:TW-AMM:一種Dex高效處理大額訂單的新構想

本文介紹了一種新型的自動化做市商(AMM),可以幫助以太坊上的交易者有效地執行大額訂單。我們稱其為時間加權平均做市商,縮寫為 TWAMM(發音為“tee-wham”).

1900/1/1 0:00:00
ads