作者: Vinh T. Nguyen - 團隊負責人
介紹
電腦系統中的漏洞是攻擊者可以利用的弱點,以未經授權的方式使用該系統[1]。特別是軟體漏洞,由於軟體的性質和複雜性不斷變化,組織必須定期應對網路安全挑戰。
組織用於評估其電腦網路漏洞風險的最常見方法可以分為兩大類:基於網路和基於主機[2]。基於網路的方法在不登錄每台主機的情況下探測網路,以檢測傳輸中易受攻擊的服務、設備和資料。基於主機的方法登錄到每個主機並蒐集易受攻擊的軟體、元件和配置的清單。每個類別都以不同的方式處理風險,但除非主機上已經部署了易受攻擊的軟體,否則兩者都無法檢測到漏洞。
在實踐中,評估通常是安排的,以免影響正常操作。這在部署易受攻擊的軟體和開始評估之間留下了一個機會之窗,攻擊者可以利用該評估來破壞主機,從而破壞網路。
這種情況需要一種可以關閉該Windows並降低整體漏洞風險的掃描方法。 OPSWAT 檔案型案的漏洞評估技術透過將二進位檔(如安裝程式、可執行檔、動態庫等)與報告的漏洞相關聯來實現這一點。此方法可以在部署易受攻擊的軟體元件之前對其進行檢測,以便安全分析師和系統管理員可以快速採取適當的措施,從而關閉Windows。
在以下各節中,我們將更詳細地解釋該技術及其客戶案例,並舉例說明與這些客戶案例相關的已知攻擊。然後,我們展示了一個開發演示,並總結了該技術及其潛力。
為什麼需要另一種檢測方法
傳統方法的局限性
檢測軟體漏洞的傳統方法在抽象級別上運行。當基於網路的掃描探測電腦網路和基於主機的掃描從電腦蒐集資料時,它們通常會根據系統環境確定要運行的檢查,以確保高性能(掃描時間、網路頻寬、記憶體使用率等)並過濾掉不相關的結果。有時,評估方法非常依賴系統環境來獲取資訊,以至於由於它們所依賴的同一環境中的特性,它們無法執行適當的檢查。
例如,如果易受攻擊的網路服務在評估之前(意外或有意)關閉,則掃描不會檢測到服務中的任何漏洞。此外,刪除包含應用程式安裝路徑的 Windows 註冊表項可能會使應用程式本身及其漏洞完好無損,並且不會被基於主機的掃描檢測到。在這兩種情況下,掃描方法的效果都較差,因為它們依賴於所安裝產品的佔地面積。
已安裝產品是打包在一起並與部署邏輯組合在一起的檔(如可執行檔、庫、資料庫等)的集合。部署邏輯通常遵循將產品佔用空間寫入某個位置的約定(例如,Windows 操作系統上的註冊表,MySQL 的埠 3306)。此封裝不定義產品本身,並且可以在產品生命週期內隨時更改。因此,依靠佔用空間(如基於網路和基於主機的掃描)來檢測產品及其漏洞存在錯誤檢測的風險。
檔案型案的掃描簡介
檔案型案的漏洞評估不同於傳統的評估方法。顧名思義,它逐個檔案運行,忽略所有高階產品抽象。透過分析每個報告的漏洞並將其映射到產品安裝程式和主要元件檔(美國專利 9749349 B1),檔案型案的漏洞評估可以檢測二進位檔是否與漏洞相關聯,從而即使在產品未運行或其佔用空間已被修改時也能暴露漏洞。
雖然檔案型和基於網路的掃描之間的區別很明顯,但檔案型案的掃描和基於主機的掃描之間的區別並不那麼明顯。可以說,基於主機的掃描並不完全依賴於產品佔用空間,它還檢查產品主要元件的檔版本。因此,可以將掃描邏輯修改為僅執行該檔案版本檢查,從而使檔案型案的掃描成為基於主機的掃描的子集。
事實並非如此,因為:
- 基於主機的掃描通常是硬連線的,以使用系統環境和產品的佔用空間來過濾要進行的檢查
- 透過專注於查找和分析導致漏洞的檔,檔案型案的掃描可以檢測出一些基於主機的方法難以檢測到的漏洞,適用於更多客戶案例
檔案型案的掃描可用於檢測易受攻擊的安裝程式、韌體包、庫檔、產品元件檔等,這些安裝程式、韌體包、庫檔、產品元件檔等透過閘道進出網路或進出端點(透過電子郵件、快閃記憶體驅動器等)。這使系統管理員和用戶能夠在使用產品之前檢查產品的漏洞,並確保在組織當前使用的基於主機或基於網路的掃描方法不支援主機時提供保護。

檔案型案的漏洞評估技術還可用於發現現有電腦中的潛在漏洞。由於傳統的掃描方法通常基於公開披露來源中的高階別、模糊報告執行漏洞檢查,因此掃描本身通常停留在高階別(產品的足跡),並且不會深入到漏洞或報告產品的詳細資訊。
但是,由於產品經常重用彼此的元件(動態庫和共用服務是一些示例),因此更新易受攻擊的產品甚至刪除它並不總是保證導致漏洞的檔消失。它們可能仍位於檔案系統中的某個位置,併為攻擊者提供了一個重新連接這些元件並造成嚴重破壞的平臺。這些檔通常具有人們可以要求的所有完整性。它們具有明確的目的,廣為人知,來自可信的來源,具有有效的簽名,並且仍然存在於一些最新的軟體包中。檔案型案的漏洞評估技術使系統管理員能夠掃描電腦並在攻擊者有機會使用它們之前找到潛伏的易受攻擊的檔。

技術挑戰
儘管如此,在檔案級別操作也有其局限性。當漏洞需要同時載入多個檔才能觸發時,它可能會將檔案案標記為易受攻擊(誤報)。這在一定程度上是由於缺少上下文(透過掃描單個檔)和披露報告的模糊性。由於檔案資料庫的不完整以及報告的模糊性,它還可能將真正易受攻擊的檔案標記為乾淨(漏報)。
在 OPSWAT,我們瞭解這一點,並不斷改進我們檔案型案的漏洞評估技術,使其覆蓋更多的漏洞,同時降低誤報/漏報率。我們已將這項技術整合到我們的許多產品中 MetaDefender 家庭(如 MetaDefender Core, MetaDefender Cloud, Drive, Kiosk, ICAP Server等),以幫助組織對其關鍵網路進行深度防禦[3]。
已知漏洞利用
對於系統管理員來說,監控組織使用的所有軟體的披露報告已經夠難了,更不用說了解和監控該軟體中的所有元件了。這使得使用包含漏洞的舊元件的軟體可以逃避檢測並進入組織內部。這可能會使易受攻擊的元件成為一個大問題。
例如,CVE-2019-12280 [4]是Dell SupportAssist不受控制的磁帶庫搜索路徑漏洞。它允許低許可權使用者在SYSTEM許可權下執行任意代碼並獲得對機器的完全控制權。它最初來自PC-Doctor提供的用於診斷機器的元件。兩家供應商都發佈了補丁來修復該問題。
另一個例子是 CVE-2012-6706 [5],這是一個嚴重的記憶體損壞漏洞,在打開特製檔時可能導致任意代碼執行和電腦受損。最初有報導稱它會影響 Sophos 防病毒產品,但後來發現它來自一個名為 UnRAR 的元件,該元件處理檔提取 [6]。
這些類型的漏洞通常無法完全報告,因為有太多的產品使用了易受攻擊的元件。因此,即使系統管理員瞭解正在使用的每個產品,並在常見的披露源上密切監視它們,攻擊者仍然有很大的空間透過。
演示
讓我們仔細看看易受攻擊的元件導致主機出現問題的情況。我們將使用舊版本的 Total Commander [7],其中包含受 CVE-2012-6706 [5] 影響的 UnRAR.DLL [8]。請注意,此 CVE 不會報告 Total Commander。具有管理許可權的高階使用者通常使用此軟體,因此成功利用此漏洞可能有助於攻擊者使用主機來控制組織的網路。
演示規格:
- 操作系統:Windows 10 1909 x64。
- Software:Total Commander v8.01 x86 with UnRAR library v4.20.1.488。
- 精心製作的資料由Google安全研究小組在Exploit-DB上創建 [9]。
當Total Commander使用UnRAR.DLL提取特製檔時,會發生記憶體損壞。然後,攻擊者可以以 Total Commander 使用者的許可權在電腦上執行任意代碼。狡猾的攻擊者可能會在機器上植入更多看似合法但易受攻擊的檔,以便進行進一步攻擊。

最新版本的Total Commander沒有此漏洞,因為它們使用較新版本的UnRAR.DLL。因此,與往常一樣,用戶應該保持他們的軟體是最新的,即使沒有關於他們的披露報告,特別是如果他們很長一段時間沒有執行更新(這個版本的 Total Commander 於 2012 年發布)。
總結:關鍵OT系統受到保護 服務不間斷
軟體漏洞允許攻擊者存取或控制組織資源。檢測漏洞的兩種常用方法是基於網路的掃描和基於主機的掃描。它們通常在高度抽象級別上運行,並且由於電腦環境的變化,可能會丟失重要資訊。
OPSWAT檔案型案的漏洞評估技術在檔案級別運行,以提醒系統管理員易受攻擊的軟體安裝程式和元件進出組織,從而在部署前和使用過程中降低安全風險。該技術已整合到 MetaDefender 產品包括 Core, 雲端 應用程式介面 Drive, Kiosk等,以涵蓋廣泛的客戶案例。
逐個檔案檢測漏洞不同於傳統方法,具有新的潛力、新的客戶案例和挑戰。在 OPSWAT,我們不斷改進我們的技術,以克服挑戰並説明保護組織的關鍵網路免受不斷變化的網路安全威脅。
引用
[1] “漏洞(計算)”,[在線]。
[2] “漏洞掃描程式”,[在線]。
[3] "MetaDefender - 高階威脅防禦平臺,“[在線]。
[4] “CVE-2019-12280 - MetaDefender“[在線]。
[5] “CVE-2012-6706 - MetaDefender“[在線]。
[6] “問題 1286 - unrar 中的VMSF_DELTA過濾器允許任意記憶體寫入 - Project Zero”,[在線]。
[7] “Total Commander - home”,[在線]。