原文作者:慢霧安全團隊
2022年6月16日,MetaMask官方公布白帽子發現的一個被稱為demonicvulnerability的安全問題,漏洞影響的版本<10.11.3,由于MM的用戶體量較大,且基于MM進行開發的錢包也比較多,所以這個漏洞的影響面挺大的,因此MM也慷慨支付了白帽子5萬刀的賞金。當團隊向我同步了這個漏洞后,我開始著手對這個漏洞進行分析和復現。
漏洞分析
白帽子將這個漏洞命名為demonicvulnerability,具體的漏洞描述比較復雜,為了讓大家更好的理解這個問題,我盡可能用簡單的表述來說明這個問題。在使用MM瀏覽器擴展錢包導入助記詞時,如果點擊"ShowSecretRecoveryPhrase"按鈕,瀏覽器會將輸入的完整助記詞明文緩存在本地磁盤,這是利用了瀏覽器本身的機制,即瀏覽器會將Tabs的頁面中的Text文本從內存保存到本地,以便在使用瀏覽器的時候可以及時保存頁面的狀態,用于下次打開頁面的時候恢復到之前的頁面狀態。
慢霧:跨鏈互操作協議Nomad橋攻擊事件簡析:金色財經消息,據慢霧區消息,跨鏈互操作協議Nomad橋遭受黑客攻擊,導致資金被非預期的取出。慢霧安全團隊分析如下:
1. 在Nomad的Replica合約中,用戶可以通過send函數發起跨鏈交易,并在目標鏈上通過process函數進行執行。在進行process操作時會通過acceptableRoot檢查用戶提交的消息必須屬于是可接受的根,其會在prove中被設置。因此用戶必須提交有效的消息才可進行操作。
2. 項目方在進行Replica合約部署初始化時,先將可信根設置為0,隨后又通過update函數對可信根設置為正常非0數據。Replica合約中會通過confirmAt映射保存可信根開始生效的時間以便在acceptableRoot中檢查消息根是否有效。但在update新根時卻并未將舊的根的confirmAt設置為0,這將導致雖然合約中可信根改變了但舊的根仍然在生效狀態。
3. 因此攻擊者可以直接構造任意消息,由于未經過prove因此此消息映射返回的根是0,而項目方由于在初始化時將0設置為可信根且其并未隨著可信根的修改而失效,導致了攻擊者任意構造的消息可以正常執行,從而竊取Nomad橋的資產。
綜上,本次攻擊是由于Nomad橋Replica合約在初始化時可信根被設置為0x0,且在進行可信根修改時并未將舊根失效,導致了攻擊可以構造任意消息對橋進行資金竊取。[2022/8/2 2:52:59]
基于對這個漏洞的理解,我開始進行漏洞復現,由于MM僅對這個漏洞進行簡要的描述并不公開漏洞細節,所以在復現的時候遇到了如下的問題:
慢霧:BSC鏈上項目BXH遭受攻擊分析:10月30日消息,據慢霧區情報,2021年10月30日,幣安智能鏈上(BSC)去中心化交易協議BXH項目遭受攻擊,被盜約1.3億美金。經慢霧安全團隊分析,黑客于27日13時(UTC)部署了攻擊合約0x8877,接著在29日08時(UTC)BXH項目管理錢包地址0x5614通過grantRole賦予攻擊合約0x8877管理權限。30日03時(UTC)攻擊者通過攻擊合約0x8877的權限從BXH策略池資金庫中將其管理的資產轉出。30日04時(UTC)0x5614暫停了資金庫。因此BXH本次被盜是由于其管理權限被惡意的修改,導致攻擊者利用此權限轉移了項目資產。[2021/10/30 6:22:02]
緩存被記錄到磁盤中的文件路徑未知
慢霧:Badger DAO黑客已通過renBTC將約1125 BTC跨鏈轉移到10 個BTC地址:12月2日消息,Badger DAO遭遇黑客攻擊,用戶資產在未經授權的情況下被轉移。據慢霧MistTrack分析,截止目前黑客已將獲利的加密貨幣換成 renBTC,并通過renBTC 將約 1125 BTC 跨鏈轉移到 10 個 BTC 地址。慢霧 MistTrack 將持續監控被盜資金的轉移。[2021/12/2 12:46:11]
緩存何時被記錄到磁盤未知
為了解決問題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。
參考鏈接
Tags:IONBTCESSTABNotional Financebtcv幣行情Necessary Genuine KeyMetaBeat
尊敬的用戶: 因市場中采用HT、KSM、BNB進行流動性挖礦的項目已結束,以及未出現安全、穩定的可替代挖礦項目.
1900/1/1 0:00:00不難發現熊市中機構的最大操作則是融資和推出基金來展望未來的投資計劃,比如今天的Huobi聯創杜均聯合BMAN推出4億美元Web3基金,更有上個月的紅杉資本28.5億美元的新基金.
1900/1/1 0:00:00周末本應該是平淡的一天,但是比特幣就在剛剛又跌破了兩萬大關,以太跌破1000美元,加密貨幣面臨巨大的拋售壓力,本周是大規模拋售和清算的一周,就連三箭資本也在昨日遭到了大規模的清算.
1900/1/1 0:00:00在本周早些時候下滑后,加密貨幣市值在過去24小時內增長了約4.5%。過去24小時內,狗狗幣(DOGE)和solana(SOL)的代幣漲幅高達16%,在更廣泛的市場復蘇中領漲主要加密貨幣.
1900/1/1 0:00:0012:00-21:00關鍵詞:馬斯克、Babel、Coinbase1.馬斯克回復狗狗幣聯合創始人可能會有更多商品將支持狗狗幣支付;2.上市礦企5月出售比特幣數量達4411枚.
1900/1/1 0:00:00在氣候變化會議上發表講話時,蓋茨肯定了他對資產類別的擔憂,稱其“100%基于更大的傻瓜理論”。科技億萬富翁、目前世界第四富豪比爾·蓋茨周二在TechCrunch氣候變化會議上發表講話,談到社會在.
1900/1/1 0:00:00