vSphere提高虛擬機的安全性

目前,越來越多的大型企業或實驗室趨向于使用虛擬化架構來節約服務器成本與提高應用的靈活性。不同的虛擬化平臺對應管理客戶端的功能大同小異,都只是實現了虛擬機的基本開關機操作、硬件配置,以及集群的資源池、存儲池、動態遷移、災難備份等功能,不僅缺乏對虛擬機安全上的管理和維護,而且這些管理工具每次只能針對一臺虛擬機進行操作,管理效率極低。
針對目前市場上大多數管理軟件在安全管理方面嚴重不足的問題, vSphere安全管理套件提出了全新的解決方案,從多層面上實現對虛擬機進行安全管理。
vSphere安全管理套件側重對運行在VMware vSphere平臺上的虛擬機進行安全管理,它主要由管理員使用。
與目前已有的管理工具vSphere client相比,vSphere安全管理套件能批量管理虛擬機,一次操作完成對多個虛擬機的共同管理。而且vSphere安全管理套件還能給虛擬機提供安全方面的管理,保證用戶虛擬機的安全。同時,vSphere安全管理套件既適合小型公司使用,也能適合大型企業應用,與VMsafe不同,它不需要在虛擬機內安裝任何插件,規避了病毒破壞安全管理插件導致安全保護癱瘓的風險。
vSphere安全管理套件通過RPC調用VMware公司提供的功能函數和我們掌握的編程技巧,以及SpringSource Java作為前端界面的主要開發,來實現虛擬機離線升級、虛擬機離線殺毒、虛擬機進程查看(包括隱藏進程和各個進程所用到的動態鏈接庫)、網絡流量監控等功能。
場景
某企業使用VMware vSphere虛擬化架構來節約服務器成本,各個部門的職員均被分配一臺虛擬機,但由于各個部門職能有差異,某些部門的職員可能不擅長管理或維護計算機,對計算機的維護可能會給他們帶來很大的困難或者會浪費他們很多的精力和時間,這會降低工作效率。
以更新系統來說,若在每臺虛擬機上安裝第三方系統升級軟件,如360安全衛士等,將會使多臺虛擬機重復下載相同的更新包,不僅浪費網絡帶寬而且其速度隨之變得緩慢。
傳統的做法是,給每臺虛擬機安裝殺毒軟件,在職員開啟電腦的時候對電腦進行掃描殺毒,這會導致電腦運行緩慢,嚴重影響用戶的使用。
針對上述兩個問題,vSphere安全管理套件將提供離線升級和離線殺毒功能,即當公司職員下班或者不使用虛擬機的時候,在虛擬機完全關閉的情況下,管理員通過使用OOAU和OOAA對虛擬機進行系統升級和磁盤掃描殺毒。把對虛擬機維護的時間和用戶的使用時間交錯,不需要用戶在上班時間對電腦進行維護,也不用在用戶的使用時間中和用戶爭奪CPU資源,這將會極大方便用戶的使用。
不僅如此,vSphere安全管理還提供在線對虛擬機的維護——進程監控和網絡流量監控。例如某職員在使用電腦的同時中了木馬程序,該木馬通過進程隱藏,很難被發現,而利用該進程監控功能,可以發現隱藏在虛擬機中的所有進程,從而方便管理員判斷哪些虛擬機可能存在潛在威脅,并采取相應措施,以防止該木馬從職員的虛擬機中竊取公司數據。網絡流量監控側重于檢測虛擬機網絡數據包的傳送,如果發現用戶向外發送敏感數據,使用vSphere安全管理套件的管理員也可以發覺,并采取相應的措施。

圖1 系統整體結構

圖2 管理員操作流程

圖3 用戶操作流程
總之,使用vSphere安全管理套件,可以對公司的虛擬機進行最大程度上的維護,不僅保證虛擬機高效運行,而且能保護公司數據安全。
主要功能模塊解說
1.在本作品中,實現了在虛擬機電源關閉的情況下,直接讀寫虛擬機的磁盤,并通過這一成果,實現了虛擬機關閉的情況下進行系統病毒掃描。與常規的在虛擬機內部安裝殺毒軟件的方式相比,可以更有效地殺死在開機情況下難以清除的頑固病毒。
2. 在本作品中,實現了在虛擬機電源關閉的情況下,讀寫虛擬機中的注冊表文件,實現注冊表的讀取、掃描、添加鍵值、修改鍵值等操作。并基于上述的研究成果,實現了在虛擬機關機的情況下進行操作系統補丁升級。該過程完全無需用戶干預,最大限度地保證了用戶體驗。
3.在本作品中,我們通過直接讀取虛擬機運行時的內存內容,實現了列出虛擬機操作系統內正在運行的各項進程。由于是在底層實現該項功能,因此可以列出各種在操作系統中被隱藏的進程比如Rootkit等木馬后門程序,實現最底層的安全監控。
4. 在本作品中,我們通過在虛擬機內部設置探針,實現了虛擬機網卡的流量計數。同樣,由于是底層的操作,故可以探測到常規流量監控中被隱藏的流量,實現最完整的安全監控。上述4個主要功能都不需要在虛擬機內部安插任何插件,從而能將最干凈的虛擬機操作系統呈現給用戶使用,并且上述全部功能都可以進行批量操作。
5.安全管理套件使用SpringSource Java + MySql,提供了一個基于Web的用戶界面 ,通過XML-RPC來與底層功能實現交互。
6.安全管理套件實現了一套用戶權限管理系統,將虛擬機用戶和管理員的權限分開,以控制管理員隨意進行未經用戶允許的操作。用戶可以決定是否允許管理員對虛擬機進行操作,也可以主動提交操作申請。管理員可以審查所有虛擬機的狀態,執行用戶提交的請求,或主動對允許操作的虛擬機進行操作。
設備與環境
1. 開發設備
硬件:PC機一臺。CPU: 酷睿2 E8400 。內存: 2G DDR3 。宿主操作系統: Windows 7(離線升級、實時監控),Ubuntu 10.04(離線殺毒)。虛擬化環境: VMware Workstation 7,VMware vSphere。虛擬機操作系統: Windows XP SP2。
2. 平臺
利用的VMware公司提供的平臺,包括VMware vProbes、virtual disk develop kit 、vSphere SDK for Java 、VMware VIX API、MySQL、Avast for Linux。
Vsphere安全管理套件由后端功能模塊和前端Web界面構成。其中后端功能模塊包括離線殺毒、離線升級、進程監控、流量監控四個部分;前端Web界面包括用戶界面和管理員界面兩個部分。
安全套件的運行環境為一個Linux的Web Server,其基礎環境由VI Perl SDK、VMWare VIX API、Virtual Disk Development Kit、Apache2.2、PHP 5.3.2、MYSQL 5.1組成。其中負責基礎功能的Perl模塊作為RPC-SERVER的一部分,以CGI-BIN的方式在Apache上運行。
整體結構如圖1所示。
系統流程
整個系統的用戶角色分為普通用戶和管理員兩種。普通用戶可以查看自己虛擬機的狀態,并向管理員提交離線殺毒/升級操作申請,同時也可以設置是否允許管理員對自己的虛擬機進行修改。管理員可以查看所有虛擬機的狀態,修改用戶信息,執行提交上來的操作請求。具體操作時系統的流程分別如圖2和圖3所示。
Web界面
目前本項目組已初步完成了Web界面的編寫。Web界面使用了AJAX的方式呈現,使得頁面更有動態感,絕大部分操作不需要重新載入頁面,操作更流暢。
管理套件的Web界面負責將后臺功能向使用者進行呈現,以實現與用戶的交互。界面主要由普通用戶界面和管理員界面組成,在登錄時可以選擇登入管理員界面或普通用戶界面,管理員界面如圖4所示。
Web界面功能具體描述如圖5所示。
批量虛擬機離線升級
與傳統的操作系統利用Windows Update或360安全衛士等第三方升級工具需要大量的手工操作并且重復下載同樣的更新包,浪費網絡帶寬、降低效率的做法不同,vSphere安全管理套件創造性的實現了在用戶授權的情況下批量地對虛擬機進行離線升級,即OOAU(One Operation All Updating)。“批量”保障了工作效率,提高升級速度;“離線”保障可以在不聯網的情況下進行操作,不與用戶的使用時間沖突,讓用戶享受虛擬機最高的工作效率,同時保證不更改用戶的數據,保證數據的完整性。
對于一直開機在線的虛擬機,在獲取允許的情況下,vSphere安全管理套件也可以對其系統升級,以確保虛擬機系統運行于最新的狀態。
批量虛擬機離線殺毒
拋棄傳統的由虛擬機用戶在虛擬機上安裝殺毒軟件的概念,批量虛擬機離線殺毒功能實現了對離線虛擬機磁盤進行掃描的功能,也即OOAA(One Operation All Antivirus)。“批量”保障了工作效率,提高殺毒速度;“離線”表示在用戶不使用虛擬機的情況下對磁盤進行掃描殺毒,不影響用戶使用虛擬機,保證用戶使用虛擬機時的工作效率。
同時,vSphere安全管理套件提供殺毒之前進行快照和回滾的功能,以防止殺毒工程中出現將系統弄崩潰意外狀況。
3 在線對虛擬機進行網絡流量監控
網絡流量監控則是指vSphere安全管理套件可以從底層獲取虛擬機網絡惡意數據包,追蹤數據包來源的應用程序,以便發現虛擬機內的惡意進程或者惡意代碼,比在路由器或者交換機上設置捕獲數據包,設置IDS(Intrusion Detection System)更有效。由于網絡數據包捕獲是從底層實現的,還可以發現某些殺毒軟件發現不到的惡意數據包,效果十分明顯。

圖4 管理員界面

在線對虛擬機進行進程監控
vSphere安全管理套件可以從CPU運行上取出前一個運行的進程,從而能獲得在虛擬機上運行的所有進程,包括發現通過SSDT (System Service Dispatch Table)鉤掛隱藏的進程和通過DKOM(Direct Kernel Object Manipulation)隱藏的進程,比目前已有的Rootkit檢測工具只能檢測出通過SSDT隱藏的進程更勝一籌。進程監控還能羅列出目標進程調用的所有動態鏈接庫,發覺注入的可疑DLL。
在線網絡流量監控和進程監控都是從硬件底層對操作系統進行檢測,比安裝安全插件更保險,規避了特殊木馬毀壞插件破壞安全維護的風險,比市場VMsafe等安全維護軟件必須對虛擬機安裝插件之后才能在線維護虛擬機的安全更值得信賴。