資安研究員John Page最近披露了一個微軟IE瀏覽器的XXE(XML外部實體)零時差注入漏洞。根據報導,駭客可以利用此漏洞來竊取機密資訊或從受害者電腦取得檔案。Page使用Windows 7/10及Windows Server 2012 R2更新版的最新版IE (11)瀏覽器來測試此漏洞。我們檢視了它的攻擊鏈來了解安全漏洞的運作原理以及該如何解決。
XXE注入攻擊會利用帶有不正常設定XML外部實體參照(CWE-611)的XML解析器來存取未經授權內容。XXE注入還會利用配置不當的文件類型定義(CWE-827) – 被用來定義標記語言(如XML)的文件類型。例如駭客可以用惡意XML檔加上外部實體參照來利用“file://”協定存取本地端檔案,或用“https://”來存取網頁伺服器上的檔案。
Page所回報的漏洞會在開啟特製MIME HTML網頁存檔(.mht)檔案並且使用者與瀏覽器進行互動時觸發,例如在IE瀏覽器內用Ctrl+K開啟新分頁或用Ctrl+P列印檔案。但使用者互動可以透過window.print()等JavaScript函式進行模擬。一旦使用者開啟惡意.mht檔,駭客就能夠從使用者系統取得檔案。要注意的是,此漏洞要攻擊成功很大程度上依賴於社交工程(social engineering )。例如駭客必須誘騙使用者下載惡意.mht檔案並手動開啟。
Page披露了這個漏洞,同時我們也將分析分享給微軟,微軟發布了此一官方聲明:
「僅僅透過IE瀏覽器無法進行這種惡意行為。攻擊者必須透過社交工程誘騙或說服使用者下載惡意文件,如垃圾郵件附件或網路釣魚活動觸發下載。然後必須用瀏覽器開啟該檔案。為了防止這類攻擊,必須遵循良好的網路使用習慣,比方說避免從網路下載和開啟可疑檔案。」
漏洞影響
駭客攻擊漏洞成功後可以存取使用者系統內的敏感檔案。還可能取得讓之後進行更多攻擊或放入更多惡意程式的偵察資訊。例如駭客可以取得電腦上安裝的應用程式、網路設定、權限和防毒軟體等詳細資訊。駭客接著就能利用這些資訊在受影響網路內取得立足點。
XXE注入攻擊並非新威脅,但會帶來重大的資安風險。事實上,XXE攻擊一直都列在OWASP應用程式及常見工具和軟體功能的重大資安風險列表上。另一值得注意的是.mht檔被用作攻擊媒介,因為它也常被用在漏洞攻擊包和資訊竊取病毒等威脅。
攻擊鏈分析
駭客想要利用此漏洞必須先在網頁伺服器上放置惡意XML檔。此XML檔要在ENTITY標記內指定要從使用者系統取得的特定檔案。同時這個檔案要被使用者在電腦上手動開啟的惡意MHTML檔參照為外部實體。
圖1. 從使用者系統取得指定檔案的惡意XML檔
攻擊者必須說服使用者從攻擊媒介(如社交工程垃圾郵件附件檔或網路釣魚)下載惡意MHTML檔案。接著郵件客戶端必須用IE瀏覽器開啟惡意檔案。請注意,IE瀏覽器是所有版本Windows開啟MHTML檔案的預設應用程式,因此使用者無需指定應用程式。如圖3所示,一旦開啟惡意MHTML檔,IE瀏覽器會向攻擊者的伺服器發送GET請求來取得惡意XML檔。
圖2. 範例MHTML檔利用IE瀏覽器的XXE漏洞從攻擊者電腦下載惡意XML檔
圖3. 從客戶端發送到攻擊者伺服器來取得惡意XML檔的封包擷取
從圖1可以看出惡意XML檔包含欲取得檔案的詳細資訊以及攻擊者伺服器的URI(統一資源標識符)。攻擊者在惡意XML檔參照的檔案內容會用同一XML檔內的URI路徑送回攻擊者伺服器。接著顯示在攻擊者那一端。
圖4:從客戶端將目標檔案內容發送到攻擊者伺服器的封包擷取
趨勢科技解決方案
截至本文撰寫時,微軟尚未針對此漏洞發布修復程式。使用者在開啟未知來源的任何檔案時都應該要小心謹慎。要利用此漏洞需要誘騙使用者開啟惡意檔案。避免點擊可疑來源的連結或下載、開啟檔案。確保作業系統及應用程式更新到最新版本(或在舊系統上使用虛擬修補技術)。系統管理員、開發人員和程式設計師也必須遵循最佳實作。例如,OWASP有一份防止XXE問題的建議列表。
趨勢科技的Deep Security和 Vulnerability Protection 漏洞防護可以透過以下DPI規則來保護使用者系統不受此漏洞威脅:
1005676 – Identified Download Of XML File With External Entity Reference
趨勢科技的TippingPoint客戶可透過以下MainlineDV過濾器來保護此漏洞:
13855 – TCP: XML External Entity (XXE) Usage
@原文出處:Zero-day XML External Entity (XXE) Injection Vulnerability in IE瀏覽器 Can Let Attackers Steal Files, System Info 作者:Ranga Duraisamy和Kassiane Westell(趨勢科技漏洞研究員)