買比特幣 買比特幣
Ctrl+D 買比特幣
ads

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

Author:

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

編者按:本文來自PeckShield,Odaily星球日報經授權轉載。04月18日上午08:58開始,一DeFi平臺Uniswap被黑客利用重入漏洞實施了攻擊。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多種資產。

去中心化交易平臺GMX日交易收入超Uniswap:11月30日消息,據Token Terminal統計數據,去中心化交易平臺 GMX 在11月28日的日交易收入已超過DEX龍頭Uniswap,是自GMX成立以來的第一次。[2022/11/30 21:13:06]

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

Figure1:ERC777transferFrom()ERC777標準的業務組合兼容性問題

我們首先介紹下ERC777標準,ERC777出現的目的是對ERC20標準進行改進。其不但實現了功能擴展,還有ERC20標準一樣良好的兼容性,愿景是成為ERC20標準的有效繼承者。該標準擴展的功能之一是提供了“hook”機制,可以使普通地址或合約通過注冊一個tokensToSend()hook函數來控制或拒絕發送Token。這原本是在ERC20基礎上加強了對Token的風險控制接口,是一次有益的改進。不過由于DeFi項目的可組合特性,一個合約在不同產品之間相互調用時,其業務邏輯復雜度也會大大增加,這就給注入代碼攻擊提供了可能性。其中最關鍵的部分是,攻擊者可以通過注冊from的tokensToSend()來實行回調。我們從下面的代碼片段可以看到,ERC777標準中可以通過getInterfaceImplementer()獲得攻擊者的tokensToSend()接口,并在第1,056行調用此函數。而此處正是黑客劫持交易實施攻擊的入口。

Uniswap Labs在二層網絡中引入Auto Router支持,以優化價格和gas成本:12月19日消息,Uniswap背后的開發者Uniswap Labs發布了一系列重要的功能來尋找最優價格,并優化交換的gas成本。

Uniswap Labs發布了一個更新的自動路由器(Auto Router),通過在Uniswap v2和v3池中路由交易,在更大程度上提高了交易價格。這樣,用戶就可以直接從App界面實時跟蹤交換的真實成本。除了優化gas成本,新版本還可以在所有Uniswap協議中找到最優價格。

另一個主要更新是同時支持Optimistic Ethereum和Arbitrum的自動路由器。這些變更的目的是通過有效的交易定價,再加上二層網絡的低gas成本,提供整體上具有成本效益的交易體驗。

此外,Uniswap App現在將在提交交換之前提供美元計價的gas費用預估,在此功能的幫助下,該應用程序還將根據交易員預期的gas成本和交易規模自動設置滑點。

自三個月前發布Auto Router以來,Uniswap Labs就表示這對于v3用戶而言是“重大勝利”。根據該平臺的分析,Auto Router提高了13.97%的交易價格,按TVL計算,十大代幣之間的交易價格提高了36.84%。(Crypto Potato)[2021/12/20 7:49:46]

Hayden Adams:Uniswap單日交易量達63億美元創新高:Uniswap創始人HaydenAdams發推稱,Uniswap在加密貨幣大幅波動中的表現沒有像大多數中心化交易所那樣發生宕機,盡管Gas費用很高,另外,Uniswap創造了有史以來最高的日交易量63億美元。這些數據證明了DeFi的需求和價值主張是明確的,下一步將是L1和L2的擴容,以支持更多的用戶,同時降低費用。[2021/5/20 22:24:58]

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

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

報告:一月份DEX交易量飆升至550億美元以上 Uniswap居榜首:2月3日消息,據Delphi Digital報告顯示,2021年1月份DEX交易量創下歷史新高,總和超過550億美元,DEX協議流通市值增加440%。 其中,Uniswap占據主導地位,1月份總交易量為295億美元,占總交易量的45%,SushiSwap交易量為122億美元,占總交易量的22%。據DeFi Pulse數據顯示,截至2月2日,DEX平臺上鎖倉量(TVL)創下新高,達到99.48億美元,占所有DeFi領域相關平臺總鎖倉量426.5億美元的23%,其中,Uniswap總鎖倉量37億美元、Curve總鎖倉量33億美元、SushiSwap總鎖倉量26億美元。[2021/2/3 18:46:53]

Figure4:OpenZeppelin'sExploitDemo(HookFunction)Uniswap攻擊分析

動態 | TokenMania宣布戰略投資數字金融服務平臺UniBank.pro:數字資管集團TokenMania宣布完成對數字金融服務平臺UniBank的戰略投資,投資金額為數百萬美元。UniBank面向數字資產投資者,提供?險管控服務、數字資產投資理財、質押借貸、機構資金管理等服務。雙方表示,未來會在產品、市場、生態等方面進行深入合作。[2018/10/18]

Uniswap被率先發現利用ERC777的兼容性問題實施了攻擊。就如此惡意交易在Bloxy中的截圖所示(hash:0x9cb1d93d6859883361e8c2f9941f13d6156a1e8daa0ebe801b5d0b5a612723c1),函數內部進行了一次tokenToEthSwapInput()調用。這意味著攻擊者可以先通過操縱交易匯率,然后再用另一筆imBTC以較低價格兌換更多的ETH。

Figure5:UniswapHackLendf.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市場的入口。PS:此次黑客對Lendf.Me的攻擊對DeFi社區來說無疑是一場災難,在此建議廣大DeFi開發者務必注意業務存在的系統性風控風險,應盡可能和第三方安全公司合作排查一切潛在的安全風險。

Tags:SWAPUNIUniswapENDThe Swapperyuni幣最新消息論壇uniswap幣賣出沒反應Samurai Legends

比特幣行情
TAL:超話社區044期|區塊鏈變革慈善業,讓捐贈無國界、物款流向透明化_ave幣圈行情

2個月來,“新冠”肺炎疫情席卷全球。慈善機構的中心化運作、善款流向反饋不及時甚至有缺失,引發公眾信任危機的根源.

1900/1/1 0:00:00
POOL:比特幣秘史(七十九):最早出現也是最長壽的比特幣礦池?_比特幣市值走勢圖表

本文來自:哈希派,作者:LucyCheng,星球日報經授權轉發。 比特幣網絡GPU挖礦軍備賽的開啟,催發了礦池的誕生——2010年11月27日,世界上首個比特幣礦池Slushpool成立,201.

1900/1/1 0:00:00
加密貨幣:央行數字貨幣DCEP與BTC有啥關系?_數字貨幣

4月14日,中國農業銀行對央行數字貨幣DCEP進行錢包的內部測試。兩張圖片可以證明,這并不是謠言。截圖顯示,DCEP錢包將支持數字資產兌換、數字錢包管理、數字貨幣交易記錄查詢、錢包掛靠等功能.

1900/1/1 0:00:00
DDC:淺析“新基建”之分布式數據中心DDC_STE

分布式數據中心,簡稱DDC,是傳統IDC的升級方案,也是下一代超高速網絡的信息基礎設施。先看一組全球互聯網技術、信息技術、新技術的發展路線:2008年比特幣bitcoin誕生,一種點對點電子現金.

1900/1/1 0:00:00
EFI:潘超:蹺蹺板上的DeFi_Defigram

編者按:本文來自Moneyness研究院,作者:潘超,MakerDAO中國區負責人,星球日報經授權發布.

1900/1/1 0:00:00
GET:幣圈衍生品結構拆解分析_CWBTC價格

Overview概述幣圈用戶的投資或投機行為決定了高收益產品注定成為市場主流。但重點是,在這些不確定的高收益的背后隱藏了確定的真實的風險.

1900/1/1 0:00:00
ads