比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

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

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多種資產。

Uniswap V3部署至Fantom的提案已通過臨時檢查投票:6月25日消息,Snapshot投票頁面顯示,Uniswap社區以84.48%的支持率通過“在Fantom上部署Uniswap V3”提案的臨時檢查投票。該投票由Blockchain Columbia與Fantom和Axelar團隊聯合發起。他們估計,如果部署完成,Fantom當前DEX交易量的30%將流向Uniswap。

部署及其費用將由Fantom基金會和Axelar承擔。鏈上投票完成后,Axelar將負責Uniswap V3智能合約在Fantom上的部署,而Uniswap Labs則負責前端集成,審核預計需要大約4-6周的時間。[2023/6/25 21:58:53]

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

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

外媒:Robinhood正在尋求與Uniswap整合:在上周在巴黎舉行的以以太坊為重點的會議上,Uniswap Labs增長負責人Ashleigh Schap表示,Robinhood已經與支持該協議的開發工作室進行了會談。兩方一直在討論一種使用Uniswap自動結算交易的方法。對此,Uniswap Labs首席運營官Mary-Catherine Lader表示,這兩個實體已進行了“探索性對話”,但隨后卻否認了這一說法。根據Lader發送的另一條消息,她稱“Uniswap目前與Robinhood沒有關系”。一位熟悉情況的消息人士透露,Uniswap Labs和Robinhood已經就探索Uniswap進行了高層會談,以與中心化做市商一起在平臺上提供流動性。一位做市商消息人士卻表示,鑒于對合規性的嚴格要求和新做市公司的加入,如果Robinhood最終整合Uniswap,那將是令人驚訝的。對此,Robinhood拒絕置評。(TheBlock)[2021/7/29 1:22:02]

Figure1:ERC777transferFrom()

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

交易員:今年看好UNI、DHT、LINK、DOT和ADA:隨著新的山寨幣季節的到來,交易員、DataDash創始人Nicholas Merten公布他今年精選的一些頂級加密貨幣。

Merten表示正在密切關注UNI/BTC,UNI/BTC將結束其下跌趨勢,因為它將出現技術性反轉模式。他預測UNI/BTC可能升至0.007以上,較當前的0.00025增長180%。他還關注dHedge DAO(DHT)、Chainlink(LINK)、Polkadot(DOT)、Cardano(ADA)的BTC交易對。(The Daily Hodl)[2021/1/19 16:31:20]

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

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

SEA Blockchain Community成為ABIT全球準超級節點:據ABIT官方消息,SEA Blockchain Community現已獲批成為ABIT全球準超級節點。自今日起,SEA Blockchain Community將履行ABIT節點義務并享受節點權益,共同建設ABIT全球生態。

ABIT是創立于澳大利亞的交易平臺,致力于為全球用戶提供安全、穩定、高效的數字資產交易服務。[2020/4/14]

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

Figure2:ERC777-CompatibletokensToSend()Hijacking

動態 | 以太坊基金會向UNICEF捐贈2.5萬美元 以改善公立學校的互聯網接入:以太坊基金會首次向聯合國兒童基金會(UNICEF)的加密基金捐贈了1枚BTC和100枚ETH,總價值約2.5萬美元。UNICEF區塊鏈項目負責人Christina Lomazzo和UNICEF風投負責人Chris Fabian表示,這些資金最初將用于在世界各地的公立學校提供和改善互聯網接入,這是正在進行的“Project Connect(連接項目)”的一部分。塞拉利昂、哈薩克斯坦、吉爾吉斯斯坦和肯尼亞的政府已經對“Project Connect”及其基于區塊鏈的互聯網連接支付系統表現出了興趣。Fabian認為,數字支付是UNICEF及其聯合國的未來方向。(CoinDesk)[2019/10/22]

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

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:UNISWAPENDUniswapUNIQ幣SheepSwap FinanceRise of DefendersUniswap Wallet

幣安app官方下載最新版
區塊鏈:上市公司區塊鏈周動態:22家披露應用落地進展 物流、金融、溯源遍地開花

文|互鏈脈搏 互鏈脈搏統計,本周共有22家上市公司披露了區塊鏈業務動態。各公司發展的區塊鏈業務領域尤為多元,包括能源、社交內容、金融、政務等.

1900/1/1 0:00:00
LIB:巴比特首發 | Libra 2.0白皮書全文

譯者注: Libra第一份白皮書的發布時間為2019年6月,這份新的白皮書發布于2020年4月16日,相較于舊版白皮書,新的Libra設計主要進行了4項大更改,包括引入單貨幣穩定幣.

1900/1/1 0:00:00
ETH:Lighthouse調查:?Eth2.0的設計中有這些問題

來源:?Medium 作者:AqeelMohammad 編譯:秦曉峰 來源:星球日報 以太坊2.0一直在如火如荼地開展,今年夏季即將上線階段零信標鏈.

1900/1/1 0:00:00
區塊鏈:進擊千萬日活的區塊鏈應用,螞蟻區塊鏈開放聯盟鏈發布搶先看

任何一個大的細分賽道,如果沒有出現一款日活千萬的應用,那很難稱得上是風口。阿里達摩院曾預測,日活千萬的區塊鏈應用將走進大眾。經過數年的探索,區塊鏈發展出公鏈和聯盟鏈兩大主流技術路線.

1900/1/1 0:00:00
比特幣:QKL123行情分析 | 美伊火藥味再起,原油比特幣漲,戰爭或為救命稻草?(0423)

摘要:今年年初美伊關系緊張告一段落之后,昨晚叫囂推文使得硝煙味回升,原油應聲大漲。比特幣也被順勢拉升,但目前回落下探中.

1900/1/1 0:00:00
DEFI:觀點 | DeFi 協議開發者如何賺錢 ?

作者:NEST愛好者_韓拾二不知道你有沒有思考過這樣一個問題,為什么會有人愿意去做DeFi?如果你是DeFi開發者.

1900/1/1 0:00:00
ads