前言
據慢霧區情報,以太坊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及其他代幣。
DeFi協議Elixir完成210萬美元種子輪融資:1月17日消息,DeFi 協議 Elixir 完成 210 萬美元的種子輪融資,FalconX、Commonwealth、OP Crypto、ChapterOne 和 Bitmex 創始人 Arthur Hayes 等參投。Elixir 旨在讓任何人都可以通過 DeFi 協議參與 CEX 和 DEX 的做市,并希望通過一項協議來解決做市商面臨的審查問題。該初創公司預計將在今年晚些時候推出其公共主網。[2023/1/17 11:17:17]
以下是詳細分析過程。
攻擊細節
本次對Lendf.Me實施攻擊的攻擊者地址為?0xa9bf70a420d364e923c74448d9d817d3f2a77822,攻擊者通過部署合約?0x538359785a8d5ab1a741a0ba94f26a800759d91d對Lendf.Me進行攻擊。
通過在Etherscan上查看攻擊者的其中一筆交易:https://etherscan.io/tx/0xae7d664bdfcc54220df4f18d339005c6faf6e62c9ca79c56387bc0389274363b
貝恩資本董事總經理:DeFi將主導未來的金融模式:10月13日消息,貝恩資本(Bain Capital)董事總經理Matt Harris在SIBOS會議上表示,DeFi將主導未來的金融模式。他概述了金融服務的三個根本性變化,首先是從模擬到數字的轉變,然后是從離散產品到嵌入式服務的演進,最后將迎來從中心化平臺到去中心化網絡的顛覆性變革。而隨著加密貨幣和web 3進入主流,這場完整革命的最后一部分已經走上軌道。他說:到2040年,我們將在很大程度上結束目前法定貨幣的不良交易局面,即我們將資本免費提供給政府,然后讓政府利用通貨膨脹讓資本貶值。DeFi將改變這一局面,我們的資產將始終處于100%的投資狀態,并會通過穩定幣機制完全聯系在一起。(Ledger Insights)[2021/10/13 20:24:57]
我們發現,攻擊者首先是存入了0.00021593枚imBTC,但是卻從Lendf.Me中成功提現了0.00043188枚imBTC,提現的數量幾乎是存入數量的翻倍。那么攻擊者是如何從短短的一筆交易中拿到翻倍的余額的呢?這需要我們深入分析交易中的每一個動作,看看究竟發生了什么。
DeFi協議xWin將對受閃電貸攻擊影響用戶進行1:1 xWIN代幣補償:官方消息,BSC鏈上DeFi協議xWin公布補償計劃,將根據閃電貸攻擊前協議中的質押的數量余額,對質押xWIN代幣和參與xWIN挖礦的XWIN-BNB LP代幣用戶,進行1:1 xWIN代幣補償。但是,xWin表示正在考慮最多一年的鎖定期。此外,xWin表示正在探索為xWIN協議提供保險的可能性。xWIN目前還正努力在日本以外的海外交易所上市。最后,xWin團隊正在制定xWIN代幣銷毀計劃,目前還沒有就金額大小達成決定。
此前消息,BSC鏈上DeFi協議xWin發布閃電貸攻擊總結,共計損失1007枚BNB。[2021/6/27 0:09:54]
通過把該筆交易放到bloxy.info上查看,我們能知道完整的交易流程
FDEX平臺幣FSC領漲DeFi幣種 漲幅突破31%:據FDEX行情數據顯示,截止今日10:30,去中心化交易所FDEX平臺幣FSC漲幅為31.76%,現價1.99CNY;DeFi借貸協議OKK今日漲幅65%,現價0.04CNY。FDEX是FShares Group旗下的去中心化交易所,為全球用戶提供可信數字資產交易服務。[2020/9/21]
通過分析交易流程,我們不難發現攻擊者對Lendf.Me進行了兩次supply()函數的調用,但是這兩次調用都是獨立的,并不是在前一筆supply()函數中再次調用supply()函數。
緊接著,在第二次supply()函數的調用過程中,攻擊者在他自己的合約中對Lendf.Me的withdraw()函數發起調用,最終提現
在這里,我們不難分析出,攻擊者的withdraw()調用是發生在transferFrom函數中,也就是在Lendf.Me通過transferFrom調用用戶的tokensToSend()鉤子函數的時候調用的。很明顯,攻擊者通過supply()函數重入了Lendf.Me合約,造成了重入攻擊,那么具體的攻擊細節是怎樣的呢?我們接下來跟進Lendf.Me的合約代碼。
Tether與DeFi借貸協議Aave達成合作:金色財經報道,Tether宣布與開源、非托管的DeFi借貸協議Aave達成合作。雙方將共同努力,使Tether(USDt)作為新生Defi生態系統的金融工具獲得更廣泛的采用。Aave的數據顯示,Tether為該平臺貸方提供的月收益率可高達12.25%,而其他穩定幣(如DAI和USDC)的收益率分別為8%和5.7%。[2020/3/10]
代碼分析
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:PPLSUPUPPPLYVISA Application ChainsuperenergyHashPuppySPLY
來源:吳說區塊鏈 編者注:原標題為《獨家:地方政府發文支持豐水挖礦18年以來首次四川或大規模開放》吳說區塊鏈獲悉.
1900/1/1 0:00:00作者:LiangChe 來源:比推bitpush.news編者注:本文做了不改變作者原意的刪減.
1900/1/1 0:00:00作者:羅滔 2020年1月發布的歐盟第五反洗錢指令震動了歐洲加密貨幣行業。荷蘭則在新規基礎上施加了更嚴格的解釋,加大了加密貨幣公司的合規壓力,小規模企業的擠出效應凸顯.
1900/1/1 0:00:00周六,Uniswap上的imBTC池子被掏空;周日,Lendf.me上價值2500萬美金的所有資金被盜;周二,黑客全部返還盜取資金。我們經歷了有史以來defi領域最大的資金hack事件.
1900/1/1 0:00:00原以為歸零就是最慘結局,誰知道還真能跌穿屏幕。在周二凌晨刷新三觀的油價暴跌中,WTI5月原油期貨先是跌破史無前例的1美元每桶,就在大家來不及感嘆歸零的時候,油價進一步加速下跌,結算收跌55.90.
1900/1/1 0:00:00摘要:市場有所反彈,但存在一定分歧,短時不確定性較大。今日美國疫情數據暴烏龍,實際并未出現明顯新增。由于監管缺失,圈內數據造假較為嚴重,目前似乎還沒有有效的解決辦法.
1900/1/1 0:00:00