使用過MetaMask版本低于10.11.3的用戶,如在導入助記詞時點擊了ShowSecretRecoveryPhrase,那么助記詞可能泄露了。
2022年6月16日,MetaMask官方公布白帽子發現的一個被稱為demonicvulnerability的安全問題,漏洞影響的版本<10.11.3,由于MM的用戶體量較大,且基于MM進行開發的錢包也比較多,所以這個漏洞的影響面挺大的,因此MM也慷慨支付了白帽子5萬刀的賞金。當團隊向我同步了這個漏洞后,我開始著手對這個漏洞進行分析和復現。
漏洞分析
慢霧:昨日MEV機器人攻擊者惡意構造無效區塊,建議中繼運營者及時升級:金色財經報道,慢霧分析顯示,昨日MEV機器人被攻擊的問題原因在于即使信標區塊不正確,中繼仍將有效載荷(payload)返回給提議者,導致了提議者在另一個區塊被最終確定之前就能訪問區塊內容。攻擊者利用此問題,惡意構造了無效的區塊,使得該區塊無法被驗證,中繼無法進行廣播(狀態碼為202)從而提前獲得交易內容。mev-boost-relay昨日已緊急發布新版本緩解此問題,建議中繼運營者及時升級中繼。
據此前報道,昨日夾擊MEV機器人的惡意驗證者已被Slash懲罰并踢出驗證者隊列。[2023/4/4 13:43:37]
白帽子將這個漏洞命名為demonicvulnerability,具體的漏洞描述比較復雜,為了讓大家更好的理解這個問題,我盡可能用簡單的表述來說明這個問題。在使用MM瀏覽器擴展錢包導入助記詞時,如果點擊"ShowSecretRecoveryPhrase"按鈕,瀏覽器會將輸入的完整助記詞明文緩存在本地磁盤,這是利用了瀏覽器本身的機制,即瀏覽器會將Tabs的頁面中的Text文本從內存保存到本地,以便在使用瀏覽器的時候可以及時保存頁面的狀態,用于下次打開頁面的時候恢復到之前的頁面狀態。
慢霧:Transit Swap黑客攻擊交易被搶跑,套利機器人獲利超100萬美元:10月1日消息,據慢霧安全團隊情報,Transit Swap 黑客轉移用戶 BSC 鏈 BUSD 資產時被套利機器人搶跑,區塊高度為21816885,獲利107萬BUSD。套利機器人相關地址列表如下:0xa957...70d2、0x90b5...8ff4、0xcfb0...7ac7、
截止到目前,在各方的共同努力下,黑客已將 70% 左右的被盜資產退還到Transit Swap開發者地址,建議套利機器人所屬人同樣通過service@transit.finance或鏈上地址與Transit Swap取得聯系,共同將此次被盜事件的受害用戶損失降低到最小。[2022/10/2 18:37:44]
基于對這個漏洞的理解,我開始進行漏洞復現,由于MM僅對這個漏洞進行簡要的描述并不公開漏洞細節,所以在復現的時候遇到了如下的問題:
慢霧:攻擊者系通過“supply()”函數重入Lendf.Me合約 實現重入攻擊:慢霧安全團隊發文跟進“DeFi平臺Lendf.Me被黑”一事的具體原因及防御建議。文章分析稱,通過將交易放在bloxy.info上查看完整交易流程,可發現攻擊者對Lendf.Me進行了兩次“supply()”函數的調用,但是這兩次調用都是獨立的,并不是在前一筆“supply()”函數中再次調用“supply()”函數。緊接著,在第二次“supply()”函數的調用過程中,攻擊者在他自己的合約中對Lendf.Me的“withdraw()”函數發起調用,最終提現。慢霧安全團隊表示,不難分析出,攻擊者的“withdraw()”調用是發生在transferFrom函數中,也就是在Lendf.Me通過transferFrom調用用戶的“tokensToSend()”鉤子函數的時候調用的。很明顯,攻擊者通過“supply()”函數重入了Lendf.Me合約,造成了重入攻擊。[2020/4/19]
緩存被記錄到磁盤中的文件路徑未知
分析 | 慢霧:攻擊者拿下了DragonEx盡可能多的權限 攻擊持續至少1天:據慢霧安全團隊的鏈上情報分析,從DragonEx公布的“攻擊者地址”的分析來看,20 個幣種都被盜取(但還有一些DragonEx可交易的知名幣種并沒被公布),從鏈上行為來看攻擊這些幣種的攻擊手法并不完全相同,攻擊持續的時間至少有1天,但能造成這種大面積盜取結果的,至少可以推論出:攻擊者拿下了DragonEx盡可能多的權限,更多細節請留意后續披露。[2019/3/26]
緩存何時被記錄到磁盤未知
為了解決問題1,我開始對瀏覽器的緩存目錄結構進行分析和測試,發現在使用瀏覽器(chrome)的時候相關的Tabs緩存是記錄到了如下的目錄:
Tabs緩存路徑:
/Users/$(whoami)/Library/ApplicationSupport/Google/Chrome/Default/Sessions/
然后繼續解決問題2:Sessions目錄會記錄Tabs的緩存,為了找出緩存被記錄的時間節點,我對導入助記詞的整個流程進行了分解,然后在每一步操作之后去觀察Sessions的數據變化。發現在如下這個頁面輸入助記詞數據后,需要等待10-20s,然后關閉瀏覽器,明文的助記詞信息就會被記錄到Sessions緩存數據中。
分析結論
用戶正常在使用MM的時候是將助記詞相關的數據放入內存中進行存儲,一般認為是相對較為安全的,但是由于demonicvulnerability這個漏洞導致助記詞會被緩存到本地磁盤,因此就會有如下的新的利用場景:
明文的助記詞數據緩存在本地磁盤,可以被其他應用讀取,在PC電腦中很難保證其他應用程序不去讀取Sessions緩存文件。
明文的助記詞數據緩存在本地磁盤,如果磁盤未被加密,可以通過物理接觸恢復助記詞。比如在類似維修電腦等場景下,當他人對電腦進行物理接觸時可以從硬盤中讀取助記詞數據。
作為普通用戶,如果你使用過MetaMaskVersion<10.11.3,且在導入助記詞的時候點擊了ShowSecretRecoveryPhrase,那么你的助記詞有可能泄露了,可以參考MetaMask的文章對磁盤進行加密并更換錢包遷移數字資產。
作為擴展錢包項目方,如果采用了在Tabs頁面中以Text的方式輸入助記詞導入錢包,均受到demonicvulnerability漏洞的影響,可以參考MetaMaskVersion>=10.11.3的實現,為每個助記詞定義單獨的輸入框,并且輸入框的類型為Password。
原文標題:《MetaMask瀏覽器擴展錢包demonic漏洞分析》
撰文:Thinking@慢霧安全團隊
來源:ForesightNews
背景 幾周前因為知名媒體的一篇《300萬人的第一雙“虛擬鞋”》,StepN徹底在國內互聯網圈火了一把,甚至引來了知名媒體大V劉潤老師的撰文,可以說StepN作為Web3的又一款應用.
1900/1/1 0:00:001.金色觀察|三箭資本的迷局6月15日,三箭資本創始人ZhuSu發推稱,我們正在與有關方面進行溝通,并致力于將問題解決.
1900/1/1 0:00:00作者:Bryan,Jiawei,IOSGVenturesdYdX離開Starkware的主要原因:Stark技術開發周期長、L2方案NodeOperator網絡完全去中心化尚需時日、dYdX對于.
1900/1/1 0:00:00點擊閱讀:市場危機分析|其一:DeFi偽創新導致市場失靈?本文是Solv研究組對于本次crypto市場暴跌的深度分析的第二篇,主要闡述2018年以來crypto市場美元化的基本事實.
1900/1/1 0:00:00上周,紐約最高法院空投了NFT作為“服務通證”,開創了NFT領域的新里程碑事件,可能會在幾十年內對NFT領域產生重大影響.
1900/1/1 0:00:00近期加密資產價格短期內大幅下挫引發了大規模清算和連鎖反應。先有CeFi借貸平臺Celsius因stETH脫錨面臨用戶擠兌而暫停提款和轉賬;再有知名投資機構和做市商3AC被爆出售資產償債務,至目前.
1900/1/1 0:00:00