北京時間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。
StarkWare構建的Layer2 DeFi基礎設施CANVAS已上線測試網:9月29日消息,StarkWare構建的Layer2 DeFi基礎設施CANVAS已上線測試網,主網將于90天后上線。[2022/9/29 22:40:08]
3)攻擊者利用STA代幣和Balancer智能合約存在的不兼容性即記賬和余額的不匹配性實施攻擊,將資金池中的其他資產耗盡,最終共計獲利價值523,616.52美元的數字資產。
4)攻擊者?償還從dYdX借出的閃電貸,并卷走了攻擊所得的數字資產。
接下來的篇幅中,我們將逐步解析黑客在該筆閃電貸交易(http://oko.palkeo.com/0x013be97768b702fe8eccef1a40544d5ecb3c1961ad5f87fee4d16fdc08c78106/)中實施的攻擊行為。
Avalanche鏈上DeFi協議總鎖倉量為88.7億美元:金色財經報道,據DefiLlama數據顯示,目前Avalanche鏈上DeFi協議總鎖倉量為88.7億美元,24小時增加1.33%。鎖倉資產排名前五分別為AAVE(23.1億美元)、TraderJoe(12.6億美元)、Benqi(10.2億美元)、Curve(9.76億美元)、multichan(8.12億美元)。[2022/2/1 9:25:03]
Balancer遭黑客攻擊全過程技術拆解
第一步:閃電貸
從dYdX閃電貸104,331WETH,這部分熟悉DeFi借貸模式的讀者應該都比較清楚,此處不再贅述。
Bridge Mutual新增支持DeFi固定利率協議Anchor:官方消息,DeFi固定利率協議Anchor Protocol與去中心化保險平臺Bridge Mutual合作推出利率保險服務,Anchor用戶購買利率保險服務時,可在Bridge Mutual的保險頁面選擇Anchor上的利率資產、保險期限、投保金額,LP則可選擇提供的流動性數量、想抵押金額的百分比,Bridge Mutual接下來也將與Anchor進行深度集成。[2021/7/21 1:06:56]
第二步:清空Balancer的STA資產
攻擊者通過多次swapExactAmountIn()調用清空了Balancer的STA資產,為下一步實施攻擊做準備。值得一提的是,我們發現合約代碼中每次能夠兌換的資產數額其實有上限,然而狡猾的攻擊者預先計算了可兌換的WETH最大數額,并巧妙的讓Balancer只剩了?0.000000000000000001STA。
DeFi 概念板塊今日平均跌幅為0.42%:金色財經行情顯示,DeFi 概念板塊今日平均跌幅為0.42%。47個幣種中12個上漲,35個下跌,其中領漲幣種為:MLN(+72.53%)、REP(+20.16%)、TRB(+14.13%)。領跌幣種為:LBA(-18.65%)、HDAO(-14.51%)、RSR(-7.67%)。[2021/3/23 19:09:03]
由于Balancer資金池各資產間存在“動態平衡”原理,僅剩接近于0的STA會拉高STA的價值,使得任何人都可以用1STA換到大量的其他數字資產。
第三步:攻擊獲利
經過前兩個準備步驟之后,攻擊者是時候展現真正技術了!
AOFEX即將上線Yam?Finance2.0(YAMv2) 共同推進DeFi生態建設:據官方消息,AOFEX交易所即將上線Yam?Finance2.0(YAMv2),共同推進DeFi生態建設,具體上線時間請關注官方公告。
YAM是一種彈性的供應加密貨幣,可根據市場情況擴展和收縮供應。 YAM2.0智能合約已由區塊鏈安全公司PeckShield(派盾)正式完成安全審計工作并部署,原有代幣須在8月23日00:20之前進行映射,逾期無法進行映射。
AOFEX數字貨幣金融衍生品交易所,旨在為用戶提供優質服務和資產安全保障。[2020/8/20]
承上所述,攻擊者通過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美元的數字資產,詳情列表如下:
Tags:ANCSTAEFIDEFISimpson FinanceStakedZENnoodlefinanceDeFinity
原文標題:DAO:ADecentralizedGovernanceLayerForTheInternetOfValue 字數:834 作者:George 譯者:Sherry 翻譯機構:DAOSq.
1900/1/1 0:00:007月5日,由杭州市余杭區政府指導,杭州未來科技城管委會、巴比特主辦的“2020杭州區塊鏈國際周”正式開幕.
1900/1/1 0:00:00近來以太坊生態內的DeFi類應用不斷升溫,相關的代幣也成為熱門投資對象,有不少代幣的價格已經創出了新高。近日的熱門項目Compound代幣的價格已經超過了以太坊.
1900/1/1 0:00:00對于做場外交易的人來說,最焦慮的事情是自己做的這事到底算不算合法生意。要知道,場外交易掙的是個辛苦錢,先要攢錢屯幣,然后每天辛辛苦苦守在電腦端,還要忍受著幣價的波動,最后自己才能賺取一些利潤.
1900/1/1 0:00:00?昨日白天行情進入橫盤階段,價格波動不過百點,上方阻力位于9350位置。到晚間行情一波插針,低點去到9172位置后迅速反彈,高點止步于9385位置,讓平淡的行情注入了新的活力.
1900/1/1 0:00:00基于ETH的DeFi項目 抵押借貸 Maker:MakerDAO是以太坊上的去中心化自治組織和智能合約系統.
1900/1/1 0:00:00