比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

慢霧:Lendf.Me被盜全過程分析及防御建議_PLY

Author:

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

編者按:本文來自慢霧科技,Odaily星球日報授權轉載。

據慢霧區情報,以太坊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及其他代幣。以下是詳細分析過程:

慢霧:過去一周加密領域因安全事件累計損失3060萬美元:7月24日消息,據慢霧統計,上周加密領域因遭遇攻擊累計損失3060萬美元,攻擊者利用了不同的攻擊向量。這些事件包括Alphapo熱錢包被盜(損失2300萬美元)、Conic Finance遭閃電貸攻擊(損失30萬美元)以及重入攻擊(損失320萬美元)、GMETA發生RugPull(損失360萬美元)、BNO遭閃電貸攻擊(損失50萬美元)等。[2023/7/24 15:55:56]

攻擊細節

本次對Lendf.Me實施攻擊的攻擊者地址為0xa9bf70a420d364e923c74448d9d817d3f2a77822,攻擊者通過部署合約0x538359785a8d5ab1a741a0ba94f26a800759d91d對Lendf.Me進行攻擊。通過在Etherscan上查看攻擊者的其中一筆交易:https://etherscan.io/tx/0xae7d664bdfcc54220df4f18d339005c6faf6e62c9ca79c56387bc0389274363b

慢霧:Grafana存在賬戶被接管和認證繞過漏洞:金色財經報道,據慢霧消息,Grafana發布嚴重安全提醒,其存在賬戶被接管和認證繞過漏洞(CVE-2023-3128),目前PoC在互聯網上公開,已出現攻擊案例。Grafana是一個跨平臺、開源的數據可視化網絡應用程序平臺,用戶配置連接的數據源之后,Grafana可以在網絡瀏覽器里顯示數據圖表和警告。Grafana根據電子郵件的要求來驗證Azure Active Directory賬戶。在Azure AD上,配置文件的電子郵件字段在Azure AD租戶之間是不唯一的。當Azure AD OAuth與多租戶Azure AD OAuth應用配置在一起時,這可能會使Grafana賬戶被接管和認證繞過。其中,Grafana>=6.7.0受到影響。加密貨幣行業有大量平臺采用此方案用來監控服務器性能情況,請注意風險,并將Grafana升級到最新版本。[2023/6/25 21:58:31]

慢霧:Harmony Horizon bridge遭攻擊簡析:據慢霧安全團隊消息,Harmony Horizon bridge 遭到黑客攻擊。經慢霧 MistTrack 分析,攻擊者(0x0d0...D00)獲利超 1 億美元,包括 11 種 ERC20 代幣、13,100 ETH、5,000 BNB 以及 640,000 BUSD,在以太坊鏈攻擊者將大部分代幣轉移到兩個新錢包地址,并將代幣兌換為 ETH,接著將 ETH 均轉回初始地址(0x0d0...D00),目前地址(0x0d0...D00)約 85,837 ETH 暫無轉移,同時,攻擊者在 BNB 鏈暫無資金轉移操作。慢霧 MistTrack 將持續監控被盜資金的轉移。[2022/6/24 1:28:30]

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

慢霧:DOD合約中的BUSD代幣被非預期取出,主要是DOD低價情況下與合約鎖定的BUSD將產生套利空間:據慢霧區情報,2022 年 3 月 10 日, BSC 鏈上的 DOD 項目中鎖定的 BUSD 代幣被非預期的取出。慢霧安全團隊進行分析原因如下:

1. DOD 項目使用了一種特定的鎖倉機制,當 DOD 合約中 BUSD 數量大于 99,999,000 或 DOD 銷毀數量超過 99,999,000,000,000 或 DOD 總供應量低于 1,000,000,000 時將觸發 DOD 合約解鎖,若不滿足以上條件,DOD 合約也將在五年后自動解鎖。DOD 合約解鎖后的情況下,用戶向 DOD 合約中轉入指定數量的 DOD 代幣后將獲取該數量 1/10 的 BUSD 代幣,即轉入的 DOD 代幣數量越多獲得的 BUSD 也越多。

2. 但由于 DOD 代幣價格較低,惡意用戶使用了 2.8 個 BNB 即兌換出 99,990,000 個 DOD。

3. 隨后從各個池子中閃電貸借出大量的 BUSD 轉入 DOD 合約中,以滿足合約中 BUSD 數量大于 99,999,000 的解鎖條件。

4. 之后只需要調用 DOD 合約中的 swap 函數,將持有的 DOD 代幣轉入 DOD 合約中,既可取出 1/10 轉入數量的 BUSD 代幣。

5. 因此 DOD 合約中的 BUSD 代幣被非預期的取出。

本次 DOD 合約中的 BUSD 代幣被非預期取出的主要原因在于項目方并未考慮到 DOD 低價情況下與合約中鎖定的 BUSD 將產生套利空間。慢霧安全團隊建議在進行經濟模型設計時應充分考慮各方面因素帶來的影響。[2022/3/10 13:48:45]

聲音 | 慢霧:采用鏈上隨機數方案的 DApp 需緊急暫停:根據近期針對EOS DApp遭遇“交易排擠攻擊”的持續性威脅情報監測:EOS.WIN、FarmEOS、影骰、LuckBet、GameBet、Fishing、EOSDice、STACK DICE、ggeos等知名DAPP陸續被攻破,該攻擊團伙(floatingsnow等)的攻擊行為還在持續。在EOS主網從根本上解決這類缺陷之前,慢霧建議所有采用鏈上隨機數方案的DAPP緊急暫停并做好風控機制升級。為了安全起見,強烈建議所有競技類DAPP采用EOS官方很早就推薦的鏈下隨機種子的隨機數生成方案[2019/1/16]

通過分析交易流程,我們不難發現攻擊者對Lendf.Me進行了兩次supply()函數的調用,但是這兩次調用都是獨立的,并不是在前一筆supply()函數中再次調用supply()函數。緊接著,在第二次supply()函數的調用過程中,攻擊者在他自己的合約中對Lendf.Me的withdraw()函數發起調用,最終提現。

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

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

Tags:DODUSDPLYSUPdod幣最新消息PCUSDC價格SPLY幣SuperFarm

比特幣價格實時行情
行情分析:BTC反彈仍然偏弱,短線注意下行風險_BTC

本文來自:哈希派,作者:哈希派分析師團隊,星球日報經授權轉發。金色財經合約行情分析 | 主流幣價格反復,DeFi板塊普漲:據火幣BTC永續合約行情顯示,截至今日18:00(GMT+8),BTC價.

1900/1/1 0:00:00
“一筆交易” 的勝利_GAS

作者:NEST愛好者_九章天問如果問我區塊鏈上,有什么攻擊是不可避免的,我會回答:堵塞攻擊和51%攻擊。51%攻擊我們下次再談,今天單論這堵塞攻擊.

1900/1/1 0:00:00
行情分析:比特幣突破打破下行趨勢線,但不要過分樂觀_USDT

本文來自:哈希派,作者:哈希派分析團隊,星球日報經授權轉發。金色財經合約行情分析 | BTC持倉量重回高位,波動風險增大:據火幣BTC永續合約行情顯示,截至今日18:00(GMT+8),BTC價.

1900/1/1 0:00:00
逢周末BTC再度下跌,莊家操控劇本重演?_PLA

這兩天BCH和BSV相繼完成減半,短時迎來一波15%以上幅度的畫門行情,但對于市場來說,它們的減半故事結束了,拋壓告一段落.

1900/1/1 0:00:00
詳解以太坊2.0如何與1.0合并_ETH2

(圖片來自:tuchong.com)以太坊1.0和以太坊2.0客戶端的關系自從Vitalik在2019年12月提出一個早期eth1<->eth2合并替代方案之后.

1900/1/1 0:00:00
比特幣是避險資產嗎?_DEFI

1)2020年第一季度DApp生態觀察數據分析平臺DappRadar發布了一篇2020年第一季度DApp生態觀察報告,覆蓋了絕大多數主流區塊鏈.

1900/1/1 0:00:00
ads