以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

SUP:DeFi平臺Lendf.Me被黑細節分析及防御建議

Author:

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

前言

據慢霧區情報,以太坊DeFi平臺Lendf.Me遭受重入漏洞攻擊。慢霧安全團隊在收到情報后隨即對此次攻擊事件展開分析,并快速定位了問題所在。

據慢霧科技反洗錢(AML)系統初步統計分析,Lendf.Me被攻擊累計的損失約24,696,616美元,具體盜取的幣種及數額為:

WETH:55159.02134,

WBTC:9.01152,

CHAI:77930.93433,

HBTC:320.27714,

HUSD:432162.90569,

BUSD:480787.88767,

PAX:587014.60367,

TUSD:459794.38763,

USDC:698916.40348,

USDT:7180525.08156,

USDx:510868.16067,

imBTC:291.3471

之后攻擊者不斷通過1inch.exchange、ParaSwap、Tokenlon等DEX平臺將盜取的幣兌換成ETH及其他代幣。

Cardano創始人:DeFi將在兩年內成為最具競爭力的領域之一:11月26日消息,Cardano聯合創始人Charles Hoskinson表示,未來DeFi將在加密領域發揮關鍵作用。

例如去中心化身份(DID)對于遵守金融行動特別工作組的Travel Rule至關重要。如果客戶將資產從交易所轉移到自托管錢包中,他們可能無法訪問自己的加密貨幣。為了防止這種情況,可以在交易中添加去中心化身份。Charles Hoskinson認為,這可以在受監管實體和非受監管實體之間的交易層面上實現。

在評論DeFi的前景時,Charles Hoskinson表示,“未來24個月,它將成為行業內最具競爭力的領域之一。”(FXStreet)[2022/11/26 20:47:33]

以下是詳細分析過程。

攻擊細節

本次對Lendf.Me實施攻擊的攻擊者地址為?0xa9bf70a420d364e923c74448d9d817d3f2a77822,攻擊者通過部署合約?0x538359785a8d5ab1a741a0ba94f26a800759d91d對Lendf.Me進行攻擊。

前職業撲克玩家為DeFi基金融資1.3億美元:7月29日消息,由前職業撲克玩家領導的投資公司Ascensive Assets已經籌集1.3億美元的基金,該基金將專注于去中心化的金融(DeFi)市場。Ascensive Assets合伙人Oliver Blakey表示,在投資者方面,本輪融資主要由來自香港、澳門、新加坡和馬來西亞的高凈值人士組成,其中許多人與職業撲克有關。(Coindesk)[2021/7/29 1:23:26]

通過在Etherscan上查看攻擊者的其中一筆交易:https://etherscan.io/tx/0xae7d664bdfcc54220df4f18d339005c6faf6e62c9ca79c56387bc0389274363b

我們發現,攻擊者首先是存入了0.00021593枚imBTC,但是卻從Lendf.Me中成功提現了0.00043188枚imBTC,提現的數量幾乎是存入數量的翻倍。那么攻擊者是如何從短短的一筆交易中拿到翻倍的余額的呢?這需要我們深入分析交易中的每一個動作,看看究竟發生了什么。

pNetwork宣布EOS上pBTC數量超過100,BB稱EOS為BTC帶來高性能DeFi:去中心化網絡pNetwork發推稱,到今天為止pTokens在EOS上pBTC的數量超過100。pBTC使比特幣持有者能夠在整個EOS生態系統中使用其BTC。

Block.one首席執行官Brendan Blumer(BB)評論稱,EOS為BTC帶來高性能DeFi。[2020/11/7 11:54:57]

通過把該筆交易放到bloxy.info上查看,我們能知道完整的交易流程

通過分析交易流程,我們不難發現攻擊者對Lendf.Me進行了兩次supply()函數的調用,但是這兩次調用都是獨立的,并不是在前一筆supply()函數中再次調用supply()函數。

緊接著,在第二次supply()函數的調用過程中,攻擊者在他自己的合約中對Lendf.Me的withdraw()函數發起調用,最終提現

ForTube聯合創始人許超:以太坊DeFi火熱并不是一蹴而成:金色財經現場報道,9月20日,由金色財經主辦,水橋區塊鏈總冠名的“共為·創業者大會”在廈門舉辦。在主題為《DeFi沉思錄:距離主流大眾有多遠?》的圓桌對話環節,ForTube聯合創始人許超表示,今年以太坊各個協議之間發生了比較強的化學反應,不管從資產層,借貸層,交易層還是保險層,衍生品層,各個協議之間都有了比較完善的生態和組合效應,加上今年好像并沒有其他的熱點,DeFi就取代了這個熱點。以太坊之所以有這么好的生態,是因為它有非常多的資產,核心的資產并不是今天形成,是在2016、2017年形成的,這些資產經過幾年的沉淀,已經形成了比較穩定的價值。[2020/9/20]

在這里,我們不難分析出,攻擊者的withdraw()調用是發生在transferFrom函數中,也就是在Lendf.Me通過transferFrom調用用戶的tokensToSend()鉤子函數的時候調用的。很明顯,攻擊者通過supply()函數重入了Lendf.Me合約,造成了重入攻擊,那么具體的攻擊細節是怎樣的呢?我們接下來跟進Lendf.Me的合約代碼。

CoinW即將于9月17日 15:00在DeFi專區上線DEGO:據官方消息,CoinW即將于9月17日 15:00在DeFi專區上線DEGO/USDT交易對,并開啟開啟“充值送DEGO,-0.1%Maker費率”活動;據悉,DEGO是實現可持續DeFi生態系統的全新理念。 DEGO采用模塊化組合設計理念,將不同的產品組合到一個系統中,以達到1 + 1> 2的效果。 作為在以太坊區塊鏈上發布的生態系統的治理代幣,DEGO賦予用戶在獲得UNI-V2 LP后通過抵押DEGO參與DEGO DAO治理系統的權利。 DEGO可用于生態系統的治理,抵押,費用和其他場景。[2020/9/17]

代碼分析

Lendf.Me的supply()函數在進行了一系列的處理后,會調用一個doTransferIn函數,用于把用戶提供的幣存進合約,然后接下來會對market變量的一些信息進行賦值。回顧剛才說的攻擊流程,攻擊者是在第二次supply()函數中通過重入的方式調用了withdraw()函數提現,也就是說在第二次的supply()函數中,1590行后的操作在withdraw()之前并不會執行,在withdraw()執行完之后,1590行后的代碼才會繼續執行。這里的操作導致了攻擊者可提現余額變多。

我們深入分析下supply()函數

根據上圖,可以看到,在supply()函數的末尾,會對market和用戶的余額進行更新,在這之前,用戶的余額會在函數的開頭預先獲取好并保存在?localResults.userSupplyCurrent,如下:

通過賦值給?localResults?變量的方式,用戶的轉入信息會先暫時保存在這個變量內,然后此時攻擊者執行withdraw()函數,我們看下withdraw()函數的代碼:

這里有兩個關鍵的地方:

1、在函數的開頭,合約首先獲取了storage的?market?及?supplyBalance?變量。

2、在withdraw()函數的末尾,存在同樣的邏輯對?market?用戶的余額信息(supplyBalance)進行了更新,更新值為扣除用戶的提現金額后的余額。

按正常的提現邏輯而言,在withdraw()單獨執行的時候,用戶的余額會被扣除并正常更新,但是由于攻擊者將withdraw()嵌入在supply()中,在withdraw()函數更新了用戶余額(supplyBalance)后,接下來在supply()函數要執行的代碼,也就是1590行之后,用戶的余額會再被更新一次,而用于更新的值會是先前supply()函數開頭的保存在localResults?中的用戶原先的存款加上攻擊者第一次調用supply()函數存款的值。

在這樣的操作下,用戶的余額雖然在提現后雖然已經扣除了,但是接下來的supply()函數的邏輯會再次將用戶未扣除提現金額時的值覆蓋回去,導致攻擊者雖然執行了提現操作,但是余額不但沒有扣除,反而導致余額增加了。通過這樣的方式,攻擊者能以指數級別的數量提現,直至把Lendf.Me提空。

防御建議

針對本次攻擊事件慢霧安全團隊建議:

在關鍵的業務操作方法中加入鎖機制,如:OpenZeppelin的ReentrancyGuard

開發合約的時候采用先更改本合約的變量,再進行外部調用的編寫風格

項目上線前請優秀的第三方安全團隊進行全面的安全審計,盡可能的發現潛在的安全問題

多個合約進行對接的時候也需要對多方合約進行代碼安全和業務安全的把關,全面考慮各種業務場景相結合下的安全問題

合約盡可能的設置暫停開關,在出現“黑天鵝”事件的時候能夠及時發現并止損

安全是動態的,各個項目方也需要及時捕獲可能與自身項目相關的威脅情報,及時排查潛在的安全風險

附:

OpenZeppelinReentrancyGuard:https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/ReentrancyGuard.sol

Tags:UPPSUPPPLPLYPUPPY幣Doge SuperbowlAPPLE幣SPLY

SHIB最新價格
LIBRA:解讀Libra2.0版本,有何意義和投資價值?

北京時間4月16日晚,Libra協會發布了新版白皮書。我們稱之為Libra2.0。 1、對Libra的簡要回顧Libra是全球社交平臺巨頭臉書Facebook于去年提出來的數字貨幣及支付平臺計劃.

1900/1/1 0:00:00
加密貨幣:終端“挖礦”落幕:阿里產品退市、360科技子公司被罰,產品持有者走向二手交易

作者:陳以 來源:財經網鏈上財經 在目前的加密貨幣生態中,礦業可謂是風險最小、盈利最為穩定的行業之一,前有礦霸比特大陸將詹克團、吳忌寒、葛越晟三人送上胡潤財富榜.

1900/1/1 0:00:00
比特幣:鏈上帶貨女王——正在直播中

鏈上帶貨女王,共享科技好物。區塊鏈行業首檔帶貨直播正在直播中!直播間有:低于官方1000元的阿瓦隆礦機、你買就送0.01BTC的Ballet錢包、國外進口上鏈紅酒、掃碼確權的限量潮品、一元秒殺、.

1900/1/1 0:00:00
HTC:“挖”500年才能收回設備的成本?V神稱HTC手機挖礦是愚人游戲

本文來源:財經網·鏈上財經 作者:LornaQ 宏達電宣布與MidasLabs合作,其Exodus系列區塊鏈智能手機將添加手機挖門羅幣功能。對此,曾為其站臺的V神發推文稱,手機挖礦就是愚人游戲.

1900/1/1 0:00:00
USD:彭博社:風暴降生的比特幣再一次站在了牛市前夜

作者:LiangChe 來源:比推bitpush.news彭博社在最新發布的一份報告中寫道,比特幣正在為下一次的大規模牛市做準備.

1900/1/1 0:00:00
數字貨幣:數據 | 創造一個更好的市場供應指標:自由浮動供應

作者?|CoinMetrics 翻譯:子銘 對于市場供應的準確衡量對于確定數字資產的價值來說非常關鍵.

1900/1/1 0:00:00
ads