傳統的應用安全防護機制都是被動式的,要及時發現對於應用的惡意攻擊的放在,首先要了解攻擊手段的特徵,例如防病毒軟體都有一個「病毒特徵庫」, 利用特徵碼來掃描和發現病毒代碼。這種方法的最大問題在於無法防範未知的攻擊手段,防護機制具有滯後性。近年來,隨著人工智慧技術的發展,機器學習也被應用於檢測未知的攻擊手段,通過對計算環境中的數據進行收集和分析,從中找出有異於尋常的行為,這可能就是潛在的攻擊行為。這種方法的挑戰在於如何處理海量的環境雜訊,如何從雜訊中過濾出我們想要的結果,實際運用中經常造成誤判。

 

VMware 的創新產品 AppDefense 獨闢蹊徑,創造了一種全新的安全保護機制,它內嵌在 vSphere Hypervisor 中,對虛機實現全面的安全保護。AppDefense 的創新性主要體現在以下三個方面:

主動式的安全保護:通過了解虛機「好」的狀態來檢測出「壞」的攻擊,不再像傳統的安全機制那樣被動地響應惡意攻擊,而是主動地定義系統正常運行應該具有的狀態,當檢測到跟正常行為的偏差時就有可能是惡意攻擊。因為 AppDefense 存在於虛擬化層之中,有著得天獨厚的優勢來了解 每個虛機或應用的正常行為,也能夠在第一時間知道虛機中發生的任何變化。這種優勢大大提高了 AppDefense 的智能,不再需要去猜測哪些變動是正常的,而哪些行為是潛在的威脅。AppDefense 並不是孤立地監視某一個特定的虛機,而是從整個數據中心的角度來全盤考慮安全,這讓 AppDefense 能夠很好地理解虛機間複雜的交互行為模式。

自動精準的威脅響應:在恰當的時間點對安全威脅作出自動響應,每當檢測到惡意攻擊時,AppDefense 能夠自動調用 vSphere 和 NSX 的功能來自動採取應對的安全措施:

  • 阻斷進程通訊
  • 抓取虛機快像以備進一步的分析
  • 把受感染的虛機掛起
  • 把受感染的虛機關機

跟攻擊表面相隔離:大部分惡意軟體首先攻擊的都是安全保護系統,例如禁止防病毒軟體,或者是癱瘓安全保護代理等,為進一步的攻擊創造條件。AppDefense 存在於 Hypervisor 中,這個位置使得它遠離攻擊表面,具有天然的安全性,這是任何運行在虛機上的安全軟體所無法比擬的。

 

我們來看一下 AppDefense 的系統架構,AppDefense 是以雲端 SaaS 形式提供的服務,用戶登錄進雲端的 AppDefense Manager 以後,就可以下載以下三種模塊:

  • AppDefense Appliance:用戶需要在數據中心內部署這樣一個虛機,負責數據中心內 AppDefense 所有的管理功能,並負責跟雲端 AppDefense Manager 之間的通訊工作。
  • Host Module:以 VIB (VMware Installable Bundles) 形式提供,安裝在每一台物理伺服器的 ESXi Hypervisor 中。
  • Guest Module:是一個可執行安裝包,安裝於每一個虛機上,Guest Module 和 Host Module 一起協作來完成對於虛機行為的監控。

圖中幾個黃色的組件是 vSphere 集群中傳統的模塊,vCenter 負責管理集群中所有的主機和虛機,AppDefense 就是通過 vCenter 來獲得關於集群的這些信息的,用於規劃對於集群的保護方案。vRA (vRealize Automation) 和 vRO (vRealize Ochestrator) 中含有應用自動調配的藍圖,AppDefense 通過這些信息來更好地了解應用的行為。AppDefense 也通過調用這些組件的功能來實現一些自動的響應動作,例如檢測到安全威脅時通過 vCenter 把受感染的虛機掛起,通過 NSX 的虛擬防火牆功能來隔離某個安全威脅等等。

 

AppDefense 的工作流程主要包括以下幾步:

  1. 指定保護範圍 (Security Scope):指定要保護的應用及其相關的服務,這些就是 AppDefense 的監控範圍。
  2. 學習什麼是「好」的行為:AppDefense 花一到兩周的時間來學習受保護的應用在正常情況下的行為表現,這段時間內受保護應用的狀態為「學習模式」;學習結束之後狀態轉為「保護模式」,表明開始受 AppDefense 的保護了。
  3. 定義自動響應規則:AppDefense 可以檢測到虛機的操作系統是否被非法竄改、不應該發生的網路通信請求、AppDefense 模塊自身是否被竄改等行為偏差,可以針對各種行為偏差定義自動響應規則。
  4. 檢測併產生警告: 當受保護的應用被惡意軟體攻擊時,因為這些攻擊行為是應用正常運行時不會發生的,AppDefense 可以檢測到這些行為偏差,產生警告並根據預定義的響應規則來自動處理。

 

幕後花絮:AppDefense 的項目代號叫作 Goldilocks (剛剛好的意思),關於 Goldilocks 的原義可以參見百度百科詞條,這篇博文的封面就是 Goldilocks。虛擬化層位於物理硬體和虛機之間,在這一層上對於應用虛機進行監控「剛剛好」,因為它既跟受攻擊的虛機相隔離,又能夠對虛機進行全面的檢測,所以是一個理想的 「Goldilocks zone」。