未記錄的 Edge 功能破壞了 Internet Explorer 的安全性

早些時候我們 已經寫了 關於 Internet Explorer 中發現的零日漏洞,該漏洞允許使用專門準備的 MHT 檔案將資訊從使用者電腦下載到遠端伺服器。 近日,這個漏洞是由安全專家 John Page 發現的,決定檢查和研究該領域的另一位知名專家——安全審計公司 ACROS Security 總監、微補丁服務 0patch 聯合創始人 Mitya Kolsek。 他 опубликовал 其調查的完整記錄顯示微軟明顯低估了問題的嚴重性。

未記錄的 Edge 功能破壞了 Internet Explorer 的安全性

奇怪的是,Kolsek 最初無法重現 John 描述和演示的攻擊,他使用 Windows 7 上運行的 Internet Explorer 下載並打開惡意 MHT 檔案。 儘管他的進程管理器顯示,計劃從他那裡竊取的system.ini被隱藏在MHT檔案中的腳本讀取,但沒有發送到遠端伺服器。

「這看起來像是一個典型的網路標記情況,」科爾塞克寫道。 「當從 Internet 收到文件時,正確執行的 Windows 應用程式(例如 Web 瀏覽器和電子郵件用戶端)會以下列形式向該文件新增標籤 替代資料流 名稱 Zone.Identifier 包含字串 ZoneId = 3。這讓其他應用程式知道該檔案來自不受信任的來源,因此應該在沙箱或其他受限環境中開啟。”

研究人員驗證,IE確實為下載的MHT檔案設定了這樣的標籤。 然後,Kolsek 嘗試使用 Edge 下載相同檔案並在 IE 中開啟它,IE 仍然是 MHT 檔案的預設應用程式。 出乎意料的是,這個漏洞竟然奏效了。

未記錄的 Edge 功能破壞了 Internet Explorer 的安全性

首先,研究人員檢查了“mark-of-the-Web”,結果發現,除了安全標識符之外,Edge 還將文件來源的來源儲存在替代資料流中,這可能會引發一些有關此隱私的問題。方法。 Kolsek 推測額外的行可能會混淆 IE 並阻止其讀取 SID,但事實證明,問題出在其他地方。 經過長時間的分析,安全專家在存取控制清單中的兩個條目中找到了原因,這兩個條目將讀取MHT檔案的權限添加到了某個系統服務中,而Edge在加載該服務後將其新增到了該服務中。

未記錄的 Edge 功能破壞了 Internet Explorer 的安全性

James Foreshaw,來自專門的零日漏洞團隊 - Google 零日計劃 - 建議 推文稱,Edge 新增的條目引用了 Microsoft.MicrosoftEdge_8wekyb3d8bbwe 套件的群組安全標識符。 從惡意檔案的存取控制清單中刪除第二行 SID S-1-15-2 - * 後,漏洞就不再運作。 結果,不知何故,Edge 添加的權限允許該檔案繞過 IE 中的沙箱。 正如 Kolsek 和他的同事所建議的那樣,Edge 使用這些權限透過在部分隔離的環境中執行檔案來保護下載的檔案免於低信任進程的存取。

未記錄的 Edge 功能破壞了 Internet Explorer 的安全性

接下來,研究人員希望更了解導致 IE 安全系統失敗的原因。 使用 Process Monitor 實用程式和 IDA 反彙編程式進行深入分析,最終發現 Edge 的設定解析度阻止了 Win Api 函數 GetZoneFromAlternateDataStreamEx 讀取 Zone.Identifier 檔案流並傳回錯誤。 對於 Internet Explorer 來說,在請求文件安全標籤時出現這樣的錯誤是完全出乎意料的,而且顯然,瀏覽器認為該錯誤等同於該文件沒有「mark-of-the-Web」標記,這會自動使其受信任,這就是為什麼IE 允許隱藏在MHT 檔案中的腳本執行並將目標本機檔案傳送到遠端伺服器的原因。

未記錄的 Edge 功能破壞了 Internet Explorer 的安全性

“你看到這裡的諷刺了嗎?” 科爾塞克問。 “Edge 使用的一項未記錄的安全功能抵消了 Internet Explorer 中現有的、無疑更為重要的(網絡標記)功能。” 

儘管該漏洞的重要性日益增加,它允許惡意腳本作為可信任腳本運行,但沒有跡象表明微軟打算很快修復該錯誤(如果該錯誤已修復)。 因此,我們仍然建議您像上一篇文章一樣,更改任何現代瀏覽器開啟 MHT 檔案的預設程式。

當然,科爾塞克的研究並非沒有一點自我公關。 在文章的最後,他示範了一個用彙編語言編寫的小補丁,可以使用他公司開發的0patch服務。 0patch 會自動偵測使用者電腦上的易受攻擊的軟體,並即時對其套用小修補程式。 例如,在我們描述的情況下,0patch 會將 GetZoneFromAlternateDataStreamEx 函數中的錯誤訊息替換為與從網路接收到的不受信任檔案相對應的值,這樣 IE 就不會允許任何隱藏腳本按照內建腳本執行。在安全政策中。



來源: 3dnews.ru

添加評論