買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > MANA > Info

SWAP:Uniswap和Lendf.Me遭攻擊始末:DeFi樂高組合下的“多米諾”式崩塌_Newb Token

Author:

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

04月18日上午08:58開始,?一DeFi平臺?被黑客利用重入漏洞實施了攻擊。PeckShield安全團隊迅速定位到問題,發現黑客利用了Uniswap和ERC777標準的兼容性問題缺陷實施了重入攻擊。

糟糕的是,僅僅在24小時后,于04月19日上午08:45,又一知名DeFi平臺?Lendf.Me也被黑客以類似的手段實施了攻擊。

黑客攻擊的原理是:攻擊者利用以太坊ERC777標準的transferFrom()回調機制,在內部調用?_callTokensToSend()?回調函數時劫持交易,并在真正更新余額的_move()函數之前進行惡意攻擊。

在Uniswap的攻擊案例中,攻擊者利用此漏洞消耗盡UniswapETH-imBTC池約1,278個ETH。而在Lendf.Me中,攻擊者則利用它來任意增加內部imBTC抵押金額,并通過從其他可用的Lendf.Me交易中借入10多種資產。

a16z Crypto代幣委托計劃第三期:共委托800萬枚OP和250萬枚UNI給17個代表:7月21日消息,a16z Crypto公布代幣委托計劃(Token Delegation Program)第三期詳細信息,本期代幣委托計劃共有17個代表(delegates),總共800萬枚OP已被委托給8個Optimism代表(重點關注社區領袖、初創企業和專業代表),還將250萬枚UNI委托給9個Uniswap代表。a16z Crypto表示,其代幣委托計劃中的代表擁有完全的自主權,可以按照自己的選擇進行投票。[2023/7/21 15:50:46]

PeckShield安全團隊認為這是自年初bZx遭攻擊之后,又兩起黑客利用DeFi系統性風控漏洞實施的攻擊。一個不容忽視的問題是,DeFi?市場的風險可能不僅僅局限于平臺本身,單個平臺的模式創新很可能在與其他平臺業務接軌時產生漏洞風險。

詳細漏洞攻擊細節,我們將在文章后面做詳細介紹。

數據:Uniswap自四月以來gas用量增長388%:金色財經報道,據區塊鏈分析公司Glassnode數據顯示,5月份以太坊gas價格經歷了較大幅度上升,平均價格升至76Gwei,相當于每筆普通ETH轉賬交易1.14美元。以太坊的平均gas價格在5月初高達155 Gwei(每次ETH轉賬的費用約為6.53美元),這個數字幾乎等同于2021-22年牛市周期的峰值。智能合約互動消耗gas費用增加,四月下旬DeFi協議相關的gas使用量上升了270%,但gas費用增加主要由DEX交易活動增加推動,Uniswap仍然是主導交易平臺,自4月以來,其gas用量增加了388%,目前占以太坊總gas需求的14.4%,相較之前的7.7%有了顯著提升。[2023/6/10 21:27:40]

Figure1:ERC777transferFrom()

ERC777標準的業務組合兼容性問題

我們首先介紹下ERC777標準,ERC777出現的目的是對ERC20標準進行改進。其不但實現了功能擴展,還有ERC20標準一樣良好的兼容性,愿景是成為ERC20?標準的有效繼承者。

Uniswap創始人:若想保護消費者免受高風險穩定幣侵害應發布官方支持的美元代幣:Uniswap創始人Hayden Adams今日在推特表示,如果美國想保護消費者免受高風險穩定幣的侵害,則應發布官方政府支持的美元代幣,您可以用它來納稅。這只會損害創新,而且沒有其他選擇。盡管如此,還是看好以太坊、比特幣和合成資產。隨后他又表示,這將間接損害消費者的利益,因為這將迫使他們購買風險更高的資產,但我確實看好它將推動他們購買的資產。此前報道,美國國會議員提出了一項新法案,將要求穩定幣發行商在發行穩定幣之前必須獲得銀行特許執照并獲得監管部門的批準。[2020/12/3 22:57:07]

該標準擴展的功能之一是提供了“hook”機制,可以使普通地址或合約通過注冊一個tokensToSend()hook函數來控制或拒絕發送Token。這原本是在ERC20?基礎上加強了對Token的風險控制接口,是一次有益的改進。不過由于DeFi項目的可組合特性,一個合約在不同產品之間相互調用時,其業務邏輯復雜度也會大大增加,這就給注入代碼攻擊提供了可能性。

其中最關鍵的部分是,攻擊者可以通過注冊from的tokensToSend()?來實行回調。我們從下面的代碼片段可以看到,ERC777標準中可以通過getInterfaceImplementer()獲得攻擊者的tokensToSend()接口,并在第1,056行調用此函數。而此處正是黑客劫持交易實施攻擊的入口。

Uniswap 鎖倉量突破32億美元:金色財經報道,據歐科云鏈OKLink數據顯示,截至今日17時,以太坊上DeFi協議總鎖倉量約合149.4億美元。其中排名前三的分別是Uniswap V2 32.4億美元(+5.26%),Maker 22.1億美元(+1.13%)以及WBTC 18.9億美元(-0.1%)。[2020/11/10 12:13:00]

Figure2:ERC777-CompatibletokensToSend()Hijacking

如2019年4月OpenZeppelin發布的帖子以及2019年7月發布的漏洞利用演示中所述,攻擊者可以自己定義函數tokensToSend(),并通過setInterfaceImplementer()來設置合約中的hook函數。

去中心化金融自治生態系統Joker于20日凌點上線uniswap:據官方消息,Defi概念代幣JK將于10月 20日正式上線uniswap,開啟交易。

據悉,JK是Joker去中心化金融自治組織生態平臺的價值代幣,總量為2800枚。Joker將布局包含支付、穩定幣、借貸、去中心化交易所、衍生品等在內的完善的Defi生態。[2020/10/21]

Figure3:OpenZeppelin'sExploitDemo(HookSetup)

之后攻擊者就可以像傳統PC上的hook函數一樣,在tokensToSend()?做任何事情。如下圖所示,攻擊者可以對同一筆交易進行多次交易。

Figure4:OpenZeppelin'sExploitDemo(HookFunction)

Uniswap?攻擊分析

Uniswap被率先發現利用ERC777的兼容性問題實施了攻擊。就如此惡意交易在Bloxy中的截圖所示(hash:0x9cb1d93d6859883361e8c2f9941f13d6156a1e8daa0ebe801b5d0b5a612723c1),函數內部進行了一次tokenToEthSwapInput()?調用。

這意味著攻擊者可以先通過操縱交易匯率,然后再用另一筆imBTC以較低價格兌換更多的ETH。

Figure5:UniswapHack

Lendf.Me?攻擊分析

在Uniswap遭攻擊約24小時后,又一DeFi平臺Lendf.Me也遭到了黑客攻擊。下面是其中一個攻擊交易的截圖。如圖所示,

supply()函數中調用真實轉賬函數transferFrom()?時,被hook的攻擊者合約里嵌入了盜用Lendf.Me的withdraw()的提幣操作。

Figure6:Lendf.MeHack

在這個交易例子中,攻擊者第一次supply()時確實向Lendf.Me存放了289.99999999個imBTC,而在第二個supply()中,攻擊者只存放0.00000001個imBTC,但由于攻擊者注冊了tokensToSend(),所以在執行doTransferIn()->IMBTC::transferFrom()時,調用了攻擊者函數tokensToSend(),攻擊者函數通過調用Lendf.Me的withdraw()函數把290個imBTC直接全部提走。

需要注意的是,正常的業務邏輯應該是項目合約中的Balance會減去被攻擊者提走的290個imBTC,然而當supply()?執行返回時,余額并未被重置,仍然為290imBTC。攻擊者就是通過控制修改Lendf.Me中攻擊者的imBTC抵押金額,有了足夠大的imBTC抵押,攻擊就可以從各種流動交易對中借出所有可用的10多種資產。

Figure7:Lendf.MeHackDetails

資產流向

攻擊者0x538359共計從Lendf.Me獲利25,236,849.44美元,其中各個Token分布如下:?

如上圖,攻擊者在獲利之后,馬上將各個Token轉移至其關聯賬號0xa9bf70之中,之后攻擊者數十次通過1inch.exchange,ParaSwap等平臺將其中比較搶手的WETH,PAX,BUSD等Token換成ETH,DAI,BAT代幣,另外將其中的TUSD,USDT代幣存入Aave借貸平臺。至此為止,攻擊者及其關聯賬號的余額如上所示。

修復建議

PeckShield安全團隊在此建議開發者,可以采用“Checks-Effects-Interactions”方法來防止這類重入攻擊。舉個例子,Lendf.Me的supply()里如果是先更新token余額,再調用?doTransferIn()。這將會讓攻擊在withdraw()?之后沒有重置余額的可能性。

另一方面,ERC777標準特性會不可避免地啟用hook機制,因此我們需要檢測并防止所有交易功能產生可以重入的風險。例如,如果supply()?和withdraw()?同時運行時加個互斥鎖,那么攻擊者就無法在supply()??函數內部執行withdraw()?操作。

最后并不能被忽視的一點是,我們需要認真思考下DeFi業務組合可能存在的系統性風險問題,平臺方不僅要確保在產品上線前有過硬的代碼審計和漏洞排查,還要在不同產品做業務組合時考慮因各自不同業務邏輯而潛在的系統性風控問題。

可能一個新創新,在原平臺一點問題都沒有,但組合接入另一個產品后就可能存在業務邏輯缺陷,進而成為黑客攻擊整個DeFi市場的入口。

Tags:ENDUNISWAPTOKEextendelemJUNISwapTrackerNewb Token

MANA
虛擬資產:中金:衛星互聯網和區塊鏈首次納入新基建范疇,區塊鏈與數字貨幣重塑金融基礎設施_數字貨幣交易所開發責任公司

作者:中金公司研究部 來源:?中金點睛 編者注:原標題為《中金:衛星互聯網和區塊鏈首次納入新基建范疇》國家發改委4月20日上午召開新聞發布會,指出“新基建”的具體范疇主要包括信息基礎設施.

1900/1/1 0:00:00
APP:農行人士稱數字貨幣在央行統一安排下有序進行_區塊鏈

作者:XiuMU 來源:比推bitpush.news針對有媒體稱中國農業銀行已經發布了一款手機測試應用,可支持中國人民銀行的數字貨幣項目.

1900/1/1 0:00:00
區塊鏈:展望丨去中心化平臺如何逐步形成千億級云計算產業?_DAP

來源: 加密谷 ,作者:DavidAzaraf,翻譯:石凌杰??自1991年起,美國方言協會就發布了由一群獨立語言學家們確定的"年度詞匯".

1900/1/1 0:00:00
比特幣:比特幣秘史:新婚夫婦90天比特幣挑戰,被拍成長篇紀錄片_STI

來源:哈希派 作者:LucyCheng講述比特幣早期用戶起落浮沉的《寄希望于比特幣》、窺探中國加密貨幣礦業市場發展趨勢的《比特幣信仰》、幫助大眾解讀比特幣常見疑問的《神奇的比特幣:比特幣革命》.

1900/1/1 0:00:00
ARB:4城將用數字貨幣發工資:人民幣重磅升級將帶來什么變化_國內區塊鏈公司前十排名

文:陳永偉 來源:新京智庫 從本月開始,深圳、雄安、成都、蘇州的部分機關和事業單位的工資、補貼將通過數字貨幣發放.

1900/1/1 0:00:00
NET:穩定幣網絡PegNet遭51%攻擊,攻擊者稱只為“識別網絡漏洞”_BPEGd

作者:LiangChe 來源:比推bitpush.news穩定幣網絡PegNet本周遭到了51%攻擊,攻擊者在提交了虛假的價格數據后將自己錢包中的余額由11美元變更為670萬美元.

1900/1/1 0:00:00
ads