加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > Ethereum > Info

DeFi平臺Balancer遭黑客攻擊全過程技術拆解_STA:mStable USD

Author:

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

北京時間06月29日凌晨02時03分起,最近因“借貸即挖礦”模式而備受關注DeFi 平臺 Balancer 上的 STA 和 STONK 兩個 ERC20 通縮代幣池遭到了黑客攻擊,共計損失了超50萬美元。

PeckShield 安全人員介入分析后,迅速定位到問題的本質在于,Balancer 上的通縮型代幣和其智能合約在某些特定場景不兼容,使得攻擊者可以創建價格偏差的 STA/STONK 流通池并從中獲利。

此次黑客實施攻擊共計分了四個步驟,具體而言:

1)攻擊者通過閃電貸從 dYdX 平臺借出了 104,331 個 WETH;

2)攻擊者反復執行 swapexactMountin() 調用,直至 Balancer 擁有的大部分 STA 代幣被消耗殆盡,進而開始下一步攻擊。最終 Balancer 僅僅剩余 0.000000000000000001 個 STA。

DeFi 概念板塊今日平均跌幅為1.85%:金色財經行情顯示,DeFi 概念板塊今日平均跌幅為1.85%。47個幣種中12個上漲,35個下跌,其中領漲幣種為:YFV(+18.03%)、LBA(+12.72%)、AMPL(+10.56%)。領跌幣種為:SWFTC(-11.24%)、AST(-8.78%)、YFII(-7.91%)。[2021/5/28 22:51:46]

3)攻擊者利用 STA 代幣和 Balancer 智能合約存在的不兼容性即記賬和余額的不匹配性實施攻擊,將資金池中的其他資產耗盡,最終共計獲利價值 523,616.52 美元的數字資產。

4)攻擊者 償還從 dYdX 借出的閃電貸,并卷走了攻擊所得的數字資產。

接下來的篇幅中,我們將逐步解析黑客在該筆閃電貸交易(http://oko.palkeo.com/0x013be97768b702fe8eccef1a40544d5ecb3c1961ad5f87fee4d16fdc08c78106/) 中實施的攻擊行為。

DeFi挑戰指數今日為1.31‰:金色財經報道,據同伴客數據顯示,04月13日DeFi挑戰指數為1.31‰,較上一周上升0.04‰,挑戰評級為2級。注:挑戰指數是DeFi市場的鎖倉量與華爾街前五大資管機構AUM的比值,用以反映DeFi生態與傳統市場的相對體量。[2021/4/13 20:14:00]

(圖解黑客攻擊全流程)

第一步:閃電貸

從 dYdX 閃電貸 104,331 WETH,這部分熟悉 DeFi 借貸模式的讀者應該都比較清楚,此處不再贅述。

第二步:清空 Balancer 的 STA 資產

攻擊者通過多次 swapExactAmountIn() 調用清空了 Balancer 的 STA 資產,為下一步實施攻擊做準備。值得一提的是,我們發現合約代碼中每次能夠兌換的資產數額其實有上限,然而狡猾的攻擊者預先計算了可兌換的 WETH 最大數額,并巧妙的讓 Balancer 只剩了 0.000000000000000001 STA。

加密商務平臺CoinLinked允許用戶使用穩定幣和DeFi代幣在線購物:基于區塊鏈的社交網絡和加密商務平臺CoinLinked提供假日促銷活動,新功能允許人們在其最喜歡的在線零售商那里使用穩定幣和DeFi代幣購物。CoinLinked聲稱自己是第一個“允許消費者使用加密貨幣從世界各地的任何網站購買任何產品的平臺和應用”。(Decrypt)[2020/12/2 22:54:40]

由于 Balancer 資金池(BPool)各資產間存在“動態平衡”原理,僅剩接近于 0 的 STA 會拉高 STA 的價值,使得任何人都可以用 1 STA 換到大量的其他數字資產。

第三步:攻擊獲利

經過前兩個準備步驟之后,攻擊者是時候展現真正技術了!

韋氏評級:DeFi市場也會出現詐騙 開發人員需考慮對策:7月8日,加密貨幣評級機構韋氏評級(Weiss Ratings)發推稱,由于Uniswap松散的上幣策略,市場出現了幾十種假幣。此前市場有ICO,騙子濫用它們。現在市場有了DeFi,同樣的事情也會發生。這迫使開發人員需要考慮對策,從而使該領域發展更加健壯。[2020/7/8]

(第三步 :攻擊獲利圖示上)

承上所述,攻擊者通過 swapExactAmountIn() 函數將 0.000000000000000001 STA 發送到 BPool,以極高的價值差,立即兌換出了 30,347 個WETH,實現了獲利。而此時,BPool 的內部記賬機制 _records[STA] 在 BPool 真正收到 0.000000000000000001 STA 之前先加了 1(注:此后攻擊者會用gulp()對該數值進行重置)。

動態 | DeFi協議Compound正整合WBTC:據The Block消息,DeFi協議Compound正在其產品中添加WBTC。WBTC是一個ERC20代幣,通過1:1的支持來跟蹤BTC價格走勢。該代幣已被部署在Compound協議上,允許用戶借入并從中賺取利息。[2019/7/17]

(第三步:攻擊獲利圖示下)

另外我們發現,在 swapExactAmountIn() 的底部,_pullUnderlying() 嘗試從攻擊者端收集相應消耗的 STA。然而,由于 STA 轉賬時還會燒掉 1% 的手續費,實際BPool 是收不到任何 STA 的。這樣就使得 BPool 的實際 STA 余額和內部記賬產生不匹配。

接下來是最有趣的一部分,攻擊者調用 gulp() 不斷重置 _records[STA],使得 BPool 中始終保持 0.000000000000000001 個 STA。因此攻擊者可以用極高價的 0.000000000000000001 個 STA 將流通池中的 WETH、SNX、LINK 等其他資產消耗光。

第四步:償還閃電貸

最終,如上圖所示,攻擊者償還了從閃電貸借出的104,331個 WETH。

建議

此次攻擊事件再次暴露了 DeFi 可組合性存在的兼容性風險。此前不久,Uniswap 和 Lendf.Me 兩個平臺就因和 ERC777 標準的兼容性問題,產生了非常嚴重的黑客攻擊事 件。需要警醒的是,在未來 DeFi 行業類似的黑客攻擊行為或許會屢見不鮮。

如果問該怎樣才能規避這類攻擊事件的發生呢?或許有兩個優化調整思路:1)STA/STONK 在執行 transfer() 或 transferFrom() 時,當轉賬數額不足以支付手續費時,應該直接回滾或者返回 False;2) Balancer 應該在每一次 transferFrom() 函數調用后檢查 BPool 的余額。

當然,任何安全事件事后采取措施補救都無法彌補已經產生的損失,我們相信最好的解決方案還是事前防備。DeFi 項目開發者應盡可能利用好的代碼規范,并可尋求第三方安全公司協助其在上線前進行全面的攻防測試,盡可能找出一切潛在的漏洞。最后,盡可能對 ERC20、ERC777 和其它 DeFi 項目的任何組合行為都做好周密排查。

毫無疑問,Balancer 事件的發生勢必也會對 DeFi 社區帶來影響,而且這類事情接下來發生的可能性還會很大,在此提醒廣大 DeFi 項目開發者應務必重視合約的安全問題。

經我們統計發現,Balancer 在此次攻擊事件共計損失了 523,616.52 美元的數字資產,詳情列表如下:

Tags:STADEFIEFIDEFmStable USDVerify DeFiDOGDEFI價格Eco DeFi

Ethereum
Spendless門戶 輕松訪問 DeFi 協議_SPE:PEN

在以太坊網絡上,你的資金擁有巨大的潛能 —— (一經設置便)可以自動幫助你完成你想做的事,如,向慈善機構捐款,或儲蓄增收(比傳統銀行提供的利率更高),而無需每次都手動執行并為之付費.

1900/1/1 0:00:00
對話Rabbit Hole創始人:聲譽DAO工具的發展_BRI:Kambria

Seed Club 是一個 Web3 加速器項目,幫助社區進行啟動,其自身以 DAO 的形式運作.

1900/1/1 0:00:00
加拿大的“豐水期” 監管機構推挖礦電力使用新規_加密貨幣:YDR

作者:Ana Alexandre   翻譯:Maya加拿大魁北克省能源監管機構Regie de l’energie發布加密貨幣挖礦新規.

1900/1/1 0:00:00
視頻 | 警惕 流動性挖礦黑洞大盤點_ETH:steth幣今日價格

最近幣圈又逢人生小高潮 工農聯盟正式成立,產銷一體全面布局壽司、泡菜、胡蘿卜、玉米競相登場眼看著新韭菜每天挖礦熱火朝天,不管技術形態干就完了稍不留神就賺了個盆滿缽滿.

1900/1/1 0:00:00
AMM終極筆記:五大類無常損失解決方案_AMM:USD

前言 ——《AMM終極筆記》是對諸多代表性 AMM 項目和相關論文進行的一項綜述(survey),由于 AMM 所涉及層面較為廣泛.

1900/1/1 0:00:00
巴林央行發布新加密貨幣監管法規_加密貨幣:RAI

當地英文媒體TradeArabia于2月25日報道,巴林中央銀行發布了新的加密貨幣監管規定。巴林將測試比特幣支付:金色財經報道,Bitcoin Magazine在社交媒體上稱,中東國家巴林將測試.

1900/1/1 0:00:00
ads