2010年6月1日 星期二

虛擬化安全

虛擬化安全

組織面對網路安全與服務管理的挑戰性愈來愈高。為了滿足市場需求,往往需要更多的網頁應用程式、電子商務、全球Web服務、與24 X 7線上營運機制。在此趨勢的帶動下,使得Server Farms與Data Center的快速成長變得不易控制,如: 需要愈來愈多的硬體、擺設空間、線路佈建、網路設備、管理人員等。此時,虛擬化的出現成為最佳的解決方案。
虛擬化技術使人們得以在同一台主機上裝設多的虛擬伺服器、運行不同的作業系統、不同的應用程式,這讓硬體的使用效率提高、能源損秏減少、與成本降低,同時虛擬化也讓組織的網路基礎設施、災害復原機制、營運持續機制更彈性與簡單。但是,虛擬化也讓駭客存取有價值資料的流程,縮短到只需在同一台主機上作業。以下即針對虛擬化弱點問題與解決方法進行探討。

虛擬化環境
虛擬化本身的安全問題,我們可以透過網路架構的組成來了解。通常應用程式的架構組成包含了下列三個階層:
1. 後端資料庫(Back-End Database): 存放組織與客戶的重要資料,也是駭客的最終目標。
2. 中繼應用程式(Application Middleware): 接受使用者需要的動作並與後端資料庫溝通,與使用者溝通的靈魂。
3. 前端Web服務(Front-End Web Servers): 提供外部用戶存取上面兩層架構的服務介面。
通常在非虛擬化的基礎架構下,上述每一個階層都處於自有系統與所屬的網路區段,也為各別區段與系統提供安全保護,如透過Firewall與IPS(入侵防禦系統)在系統前方防護。Firewall所保護的是Web Server層次,且一定允許Web流量通過Firewall; IPS設備所做的是流量深層檢測,通常置於中繼應用程式前方,同時保護中繼應用程式與後端資料庫。
在虛擬環境的應用上,三層應用程式架構將被安裝於同一台實體主機,這是Virtual Machines所提供的好處,可以讓多個虛擬系統、多個IT環境在單一台實體伺服器上運行。在了解虛擬系統應用的方便下,有一個研究數據讓您參考,根據Nemertes研究指出,現有環境下針對虛擬化系統進行安全防護的組織不到10%,這代表虛擬化技術的快速發展,其實很少人意織到虛擬化必需考慮它的安全問題,大部份的人認為只需保持系統更新就能安全。



安全挑戰
硬體式安全解決方案上的作業系統,通常需要安裝於某種ASIC晶片才能維持運作速度的需求,這讓軟體與作業系統都必需在特定規格的硬體上才能運行,也因此無法將傳統Firewall虛擬化,這導致VM之間的威脅流量是不受管控的。
透過硬體式安全解決方案在實體Server之外監看與阻擋安全威脅,以防止威脅流量接觸實體伺服器。但這也僅限於Server外部流量保護,在各別VM之間的流量是無法保護的,特別在同一個process要跨不同VM情況下。例如我們會用硬體Firewall來保護邊界網路安全,但這是不夠的,因為並不是所有流量都來自Internet,當某個VM與其它VM進行流量溝通時就不受控制。通常外部Firewall會允許某個HTTP的連線到某個虛擬機器,但這台虛擬機器卻可以自由的連向其它虛擬伺服器的所有Protocol。
試想一個情況,當我們將多層的應用程式服務建構在同一台虛擬主機上對外提供服務,並以硬體式安全解決方案在Server前方進行防護,的確可以簡化系統與管理,但它所面臨的安全威脅一定比傳統各應用層分別在各實體主機上時來的高,因為所有虛擬伺服器間的流量是完全自由不受限制的。根據Nemertes研究報告指出,有78%的虛擬化設計,將三層應用程服務裝設在同一台虛擬主機,且直接業客戶提供服務。
現今網頁應用程式的架構愈變愈複雜,所面對的弱點威脅成長到需警愓的地步,更糟的是,當一個弱點被發現到成為Exploit的時間不斷的縮短,我們可以想像的到,原本駭客用於實體環境的Exploit也會運用到虛擬環境上。舉個例子來說,駭客的攻擊會先針對前端應用程式進行不易發覺的情報收集(Information Gathering),再利用Zero-day Exploit進行攻擊,攻擊後駭客就能從前端應用平台利用傳統的攻擊方式去試著攻擊其它應用平台,如利用Port Scans或Exploits。這代表的是駭客可以在許多平台上取得存取權限,特別是虛擬化環境可能會一次拿下所有虛擬系統、應用程式、後端資料庫,因為虛擬化讓駭客在不同虛擬主機之間的存取更為方便與自由。
虛擬主機與虛擬主機之間的溝通是不會離開虛擬環境的,所以在主機前方進行防護的Firewall或IPS是不能看到虛擬主機間溝通的流量,這也限制了組織對抗網路威脅的能力。因為沒有東西能夠監看到虛擬主機之間的流量,組織就無法對什麼人?在什麼時間?做了什麼事?進行稽核,這也是為何許多稽核人員在進行虛擬環境稽核後,都會提出”Material Weaknesses”的稽核報告。

安全方案
為了確保資料的完整性,虛擬網路之間的流量必需受到保護。不論是進入實體主機或虛擬主機之間的威脅流量都必需受到管控,存在於虛擬主機之間的威脅就如同實體環境一樣,如Traffic Abuse,Denial-Of-Service,P2P等溝通流量。
以下提出幾個虛擬化安全常見的解決方案,供您的組織於建置虛擬化安全時參考:
。虛擬環境之間設置實體安全設備
。使用Virtual Lan (VLAN) 標籤
。單點虛擬安全產品
。虛擬式交換器(Virtual Switch)
。軟體式虛擬安全設備

虛擬環境之間設置實體安全設備
某些組織試著將實體網路安全設備置於實體虛擬主機之間進行安全防護,通常他們會以業務營運單位、或應用程式種類來區分不同的虛擬主機,如以人事部門、業務部門、RD部門、薪資部門等。這個解決方案建置起來很容易,看起來也可以很簡單地解決問題,但其實這個方案仍有許多值得考慮的部份。
第一、 多層次的防護增加了實體佈屬,也違反虛擬技術簡化的本意。為每一台虛擬設備前方設置實體安全設備,成本的增加是一大考量點,同時也增加了空間的使用與能源秏用,而且虛擬化的營運持續與災害復原機制也因為實體設備的導入而破壞,因為實體設備不像虛擬環境可以輕易的複製,實體設備的營運持續與災害復原機制需要再增設其它功能,而虛擬化技術則內鍵此強大功能。
第二、 使用傳統Firewall與IPS設備於每個虛擬設備之間,會增加網路環境的複雜性且產生更多的安全性與可用性風險。一旦在虛擬主機前方設置實體安全設備,為了控制流量就必需設置很多Routing Table來管理,也為了讓所有流量都能經過實體安全設備,所有虛擬流量會先指向前方的硬體Firewall或IPS,之後再將流量送回虛擬主機才完成流量過濾,不僅效率較低也產生一個安全問題,要維護如此大量的Routing Table即使是資深的管理人員,也覺得容易有設定錯誤導致安全疑慮的可能性。
第三、 雖然在虛擬主機前方設置實體安全設備,但是在虛擬主機內的所有流量,置於前方的實體安全設備是無法接觸到後端主機內部的任何流量。

使用Virtual Lan (VLAN) 標籤
某些組織會在虛擬環境之內利用VLAN(Virtual Local Area Networks)來區分信任區域,VLAN的起源是用來區分不同部門共用同一網路環境的技術,有點像一個網路環境內連線到router的設定。為了確保準確的監看所有流量,每個VLAN連線必需有相對應的Policy,網路管理員就肩負維護所有Policy與每個VLAN連線的吻合,在較大的虛擬佈署環境裡,可能需要手動更新數百到數千條相對應資料。
在快速成長的企業環境裡網路設定會不斷的改變與增加,手動更新VLAN標籤不只乏味、沒有效率也存在風險。比如有一條VLAN Policy沒有更新、或更新失敗,這可能導致組織的機密資料被未授權的使用者存取,從管理角度來看,這是不可接受的管理方式,而從風險角度來看,所面對的風險是深不可測的。
而且手動更新VLAN標籤會使虛擬化的營運持續與災害復原靈活性降低,因為除了日常的VLAN標籤管理之外,當組織從日常操作切換到災害復原模式時,可能還必需重新設定數百條的VLAN標籤以符合新網路或Server環境架構,這與災害復原的概念”將完整產品環境複製”是不同的,總是會有些微的不同在不同模式切換時,如不同的IP與網路設定需要在切換時做調整,這也就是為什麼在災害復原環境下需要變更不同的VLAN標籤。


單點虛擬安全產品
為了滿足虛擬安全需求,某些廠商提出在虛擬環境下運作的軟體式產品,這樣的產品可以解決虛擬主機之間溝通流量無法監看的問題,不過也因為是設計於虛擬環境之內,所以無法了解虛擬環境之外的狀況、無法將實體與虛擬狀況做結合。
一旦將實體與虛擬安全分開就無法有效的結合管理,管理者必需登入到不同系統才能觀察流經網路環境的流量,如果環境有SIEM(資訊安全事件管理)平台,雖然可以整合不同來源的事件進行分析,但是從經驗來看往往會有重要、詳細的資訊可能在處理流程中消失。
這樣的產品使用非實體環境的新式APIs與工具,這樣的問題在於它並沒有被廣泛的使用與測試過,可能會有潛在未知的弱點。而且也可能需改變現有虛擬環境設定,如需在每個虛擬系統裝設軟體元件。增加這樣的產品與整個資料中心結合,在管理上會增加複雜度、也增加威脅程度。

虛擬式交換器(Virtual Switch)
有一些組織保護虛擬環境的方式是以虛擬式交換器來做,這樣的安全技術是以ACL(Access Control Lists)提供Layer 2與Layer 3的安全防護。這樣的安全防護缺少的是應用層面的安全,特別是在面對現今多變的虛擬化威脅還境是不夠的。
也因為它是Switch,所以從管理介面裡能夠看到與了解的安全資訊是有限的,這代表的是管理人員對於虛擬環境正發生的事情會有盲點,也讓環境可能會比以往擁有更多的弱點。沒有完整的事件管理功能缺點,會使得需要即時反應的可疑攻擊速度出問題。

軟體式虛擬安全設備
軟體式虛擬安全設備其實就如同單點虛擬安全產品一樣,以軟體的方式提供虛擬環境的安全,唯一的差異是單點虛擬安全產品會需要更動虛擬系統的設定,而軟體式虛擬安全設備則不用,它就像一台真實的設備一樣,於VM前進行防護,但它是以軟體的方式安裝在虛擬環境上。
所以面對災害復原與營運持續的問題,它可以輕易的就一般的虛擬系統一樣快速更換環境沒有問題。面對管理的統合問題,由於這樣的解決方案通常是實體安全設備廠商所提供的,只需利用原有的集中管理平台,就能同時進行實體安全設備與虛擬安全設備的統合管理,不會有管理盲點的問題存在。


結論
虛擬化的確可以為組織帶來很多的好處,如硬體使用效率提升、能源始用降低、資料中心同步、營運持續與災害復原機制的靈活度等,但同時我們也必需考慮虛擬化技術本身所存在的安全風險。虛擬化環境面臨的安全威脅與實體其實同樣嚴峻,但解決方案卻全然不同。簡單的說,沒有人會讓自已的企業網路在沒經過Firewall的狀況下直接連上網際網路,而虛擬環境的安全概念其實也是一樣的。文中提到的五個解決方案,都能對虛擬環境提供某種程度的安全防護,而軟體式虛擬安全設備,是目前最完整的解決方案。