北京時間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協議總鎖倉量迎來上漲,漲幅13.45%:歐科云鏈OKLink數據顯示,本周以太坊上DeFi協議總鎖倉量達870.3億美元,同比上漲13.45%。鎖倉量TOP3的幣種分別為Maker(133.0億美元)、Curve(86.6億美元)、Aave V2(78.9億美元);7日漲幅前三的幣種分別為Enzyme(131.1%)、WaultSwap(75.1%)、UniLend Finance(64.0%);此外,當前以太坊上穩定幣流通總量達到724.1億美元,較上周同比增加5.42%,更多數據見下圖。[2021/6/7 23:17:59]
3)攻擊者利用STA代幣和Balancer智能合約存在的不兼容性即記賬和余額的不匹配性實施攻擊,將資金池中的其他資產耗盡,最終共計獲利價值523,616.52美元的數字資產。
DeFi 概念板塊今日平均漲幅為8.38%:金色財經行情顯示,DeFi 概念板塊今日平均漲幅為8.38%。47個幣種中41個上漲,6個下跌,其中領漲幣種為:SWFTC(+83.06%)、BAL(+22.61%)、SUSHI(+20.17%)。領跌幣種為:PEARL(-12.55%)、HDAO(-7.62%)、YFV(-7.11%)。[2021/1/29 14:17:05]
4)攻擊者償還從dYdX借出的閃電貸,并卷走了攻擊所得的數字資產。
接下來的篇幅中,我們將逐步解析黑客在該筆閃電貸交易(http://oko.palkeo.com/0x013be97768b702fe8eccef1a40544d5ecb3c1961ad5f87fee4d16fdc08c78106/)中實施的攻擊行為。
Chainlink聯合創始人:最近的DeFi攻擊不應歸咎于閃電貸:金色財經報道,Chainlink聯合創始人Sergery Nazarov表示,將最近的DeFi攻擊定性為閃電貸攻擊可能不太公平。Nazarov表示,真正的問題在于構造糟糕的DeFi項目。盡管許多人試圖將這種攻擊描述為“閃電貸”的結果,但大多數此類行為都可能是由任何一個資本充足的行動者實施的。[2020/11/19 21:17:34]
Balancer遭黑客攻擊全過程技術拆解
第一步:閃電貸
從dYdX閃電貸104,331WETH,這部分熟悉DeFi借貸模式的讀者應該都比較清楚,此處不再贅述。
第二步:清空Balancer的STA資產
eToro報告:ETH及TRX相關推文數量因DeFi激增,但BTC仍在推特占主導:據EWN消息,多年來,Twitter、Reddit和Telegram等社交媒體平臺一直是絕大多數加密社區的大本營。因此,這些平臺上與加密相關的討論現在被用來衡量人們對某一特定數字資產的看法。加密貨幣平臺eToro近日發布季度報告稱,由于DeFi的興起,以太坊相關的推文數量激增54%。同樣由于DeFi, 波場相關的推文數量增長了228%。然而,比特幣仍然在第三季度推特上占據主導地位。[2020/10/18]
攻擊者通過多次swapExactAmountIn()調用清空了Balancer的STA資產,為下一步實施攻擊做準備。值得一提的是,我們發現合約代碼中每次能夠兌換的資產數額其實有上限,然而狡猾的攻擊者預先計算了可兌換的WETH最大數額,并巧妙的讓Balancer只剩了0.000000000000000001STA。
由于Balancer資金池各資產間存在“動態平衡”原理,僅剩接近于0的STA會拉高STA的價值,使得任何人都可以用1STA換到大量的其他數字資產。
第三步:攻擊獲利
經過前兩個準備步驟之后,攻擊者是時候展現真正技術了!
承上所述,攻擊者通過swapExactAmountIn()函數將0.000000000000000001STA發送到BPool,以極高的價值差,立即兌換出了30,347個WETH,實現了獲利。而此時,BPool的內部記賬機制_records在BPool真正收到0.000000000000000001STA之前先加了1。
另外我們發現,在swapExactAmountIn()的底部,_pullUnderlying()嘗試從攻擊者端收集相應消耗的STA。然而,由于STA轉賬時還會燒掉1%的手續費,實際BPool是收不到任何STA的。這樣就使得BPool的實際STA余額和內部記賬產生不匹配。
接下來是最有趣的一部分,攻擊者調用gulp()不斷重置_records,使得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美元的數字資產,詳情列表如下:
本文鏈接:https://www.8btc.com/media/615706
轉載請注明文章出處
Tags:STAEFIDEFDEFILiquid Staked ETHDEFI S價格GenesisDefiMooni DeFi
內容紀要: 主要是對EOS柚子幣和萊特幣,瑞波幣。三個幣種近期走勢給出一定的解析,明確目前的方向以及大趨勢的一個解讀,我們操作三原則是控制風險,最大的是行情的把握情況,分三個段落解析三個幣種,看.
1900/1/1 0:00:00比特幣昨日早間晚間都已經提示9000上方直接做多,昨兒日內全部給到點位,最低觸及9050一帶,截止目前最高反彈至9230一帶,拿到了相當不錯的利潤、當前反彈還在繼續,繼續看漲不變.
1900/1/1 0:00:00親愛的庫幣用戶: 我們高興的宣布瑞士區塊鏈機構LEXEXPASA加入庫幣全球大使計劃,雙方將在優質項目早期發現、孵化、KuCoin及KCS生態發展等方面深度合作.
1900/1/1 0:00:00尊敬的用戶: CoinTiger幣虎新加坡時間2020年7月1日16:00上線COMP/USDT永續合約,并開通逐倉/全倉1-50倍杠桿,邀您體驗.
1900/1/1 0:00:00本文對EOS的經濟模型進行了深入研究,重點聚焦EOS的供需情況、EOS網絡資源的產生和獲得以及EOS的投票機制。 EOS的供需情況 EOS的價格會受到基本面和供需情況的影響.
1900/1/1 0:00:00親愛的CoinParker,CoinPark將上線DSFToken,并開放DSF/USDT交易對.
1900/1/1 0:00:00