慢霧:簡析MetaMask錢包demonic漏洞

本文約793字,閱讀全文需要約1分鐘
漏洞影響的版本< 10.11.3,由於MM 的用戶體量較大,且基於MM 進行開發的錢包也比較多,所以這個漏洞的影響面挺大的。

漏洞分析

漏洞分析

漏洞分析

白帽子將這個漏洞命名為demonic vulnerability,具體的漏洞描述比較複雜,為了讓大家更好的理解這個問題,我盡可能用簡單的表述來說明這個問題。在使用MM 瀏覽器擴展錢包導入助記詞時,如果點擊"Show Secret Recovery Phrase"按鈕,瀏覽器會將輸入的完整助記詞明文緩存在本地磁盤,這是利用了瀏覽器本身的機制,即瀏覽器會將Tabs 的頁面中的Text 文本從內存保存到本地,以便在使用瀏覽器的時候可以及時保存頁面的狀態,用於下次打開頁面的時候恢復到之前的頁面狀態。

基於對這個漏洞的理解,我開始進行漏洞復現,由於MM 僅對這個漏洞進行簡要的描述並不公開漏洞細節,所以在復現的時候遇到瞭如下的問題:

  • 緩存被記錄到磁盤中的文件路徑未知

  • 緩存何時被記錄到磁盤未知

為了解決問題1,我開始對瀏覽器的緩存目錄結構進行分析和測試,發現在使用瀏覽器(chrome) 的時候相關的Tabs 緩存是記錄到瞭如下的目錄:

Tabs 緩存路徑:

/Users/$(whoami)/Library/Application Support/Google/Chrome/Default/Sessions/

慢霧:簡析MetaMask錢包demonic漏洞

然後繼續解決問題2:Sessions 目錄會記錄Tabs 的緩存,為了找出緩存被記錄的時間節點,我對導入助記詞的整個流程進行了分解,然後在每一步操作之後去觀察Sessions 的數據變化。發現在如下這個頁面輸入助記詞數據後,需要等待10 - 20s,然後關閉瀏覽器,明文的助記詞信息就會被記錄到Sessions 緩存數據中。

慢霧:簡析MetaMask錢包demonic漏洞

分析結論

用戶正常在使用MM 的時候是將助記詞相關的數據放入內存中進行存儲,一般認為是相對較為安全的(在早前慢霧的Hacking Time 中,我發現在用戶正常使用MM 的時候是可以通過hook 技術將明文的助記詞提取出來,僅限於用戶電腦被惡意程序控制的情況下可以被利用),但是由於demonic vulnerability 這個漏洞導致助記詞會被緩存到本地磁盤,因此就會有如下的新的利用場景:

  • 明文的助記詞數據緩存在本地磁盤,可以被其他應用讀取,在PC 電腦中很難保證其他應用程序不去讀取Sessions 緩存文件。

  • 明文的助記詞數據緩存在本地磁盤,如果磁盤未被加密,可以通過物理接觸恢復助記詞。比如在類似維修電腦等場景下,當他人對電腦進行物理接觸時可以從硬盤中讀取助記詞數據。

參考鏈接

參考鏈接

參考鏈接

原創文章,作者:慢雾科技。轉載/內容合作/尋求報導請聯系 report@odaily.email;違規轉載法律必究。

ODAILY提醒,請廣大讀者樹立正確的貨幣觀念和投資理念,理性看待區塊鏈,切實提高風險意識; 對發現的違法犯罪線索,可積極向有關部門舉報反映。

推薦閱讀
星球精選