虛擬化技術雖然能為CSO帶來極大的安全助益,但也為黑客留下了新的安全隱患。
如今,虛擬化技術已經是企業數據中心的熱門話題了。微軟、VMware和XenSource等公司的虛擬服務器可以讓多臺虛擬機在一臺實際的計算機系統上運行。這意味著,用戶機房里的二三十臺虛擬服務器可以變成同等數量的虛擬機,它們運行在配有兩路、四路或者八路處理器的同一個物理系統上。
把30臺計算機變成一臺計算機,這可以大幅減少供電、冷卻、布線及管理等方面的支出。典型虛擬服務器耗用的處理功能是物理計算機的5%~10%,且虛擬化技術通常能讓企業的應用系統運行得更快而不是更慢。但除了作為節省費用的一種強大工具外,虛擬化技術現在還成了CSO及其他信息安全工作人員手中日趨重要的強大工具之一。
充當測試機
早在幾年前,許多安全顧問就使用一臺或者多臺“測試機”(Crash-and-Burn Machine),對可能有危害的程序進行試驗,譬如間諜軟件、特洛伊木馬和計算機病毒。如今,這些剖析工作大部分已經轉移到了虛擬機領域。這種轉移除了可以明顯節省磁盤空間和電源功耗外,還可以比較容易地弄清楚某個間諜軟件對虛擬機造成了什么破壞,比在物理機器上進行分析來得更為容易。
使用充當“測試機”的虛擬機分析起來也要比使用物理機器快得多。筆者原來用的“測試機”要處理絕對乏味的任務,其中一項任務就是需要把操作系統安裝到多個硬盤驅動器上、為這些硬盤驅動器制作鏡像、間諜軟件造成破壞后恢復鏡像等。筆者在一個9GB驅動器中安裝上了Windows 2000,在另一個9GB驅動器上安裝上了Linux,還有多個9GB驅動器上裝有多個版本的這些系統,而這些系統處于不同的破壞和攻擊狀態。筆者完成了對一個新的間諜軟件進行試驗后,就會把參考硬盤逐個數據塊拷回到工作硬盤上。這樣可以確保安裝了干凈的操作系統,可以準備另一次試驗。
用虛擬機的磁盤鏡像來處理要快得多,因為如今的虛擬服務器比物理服務器更善于巧妙地管理硬盤。虛擬服務器不是對邏輯驅動器進行逐個數據塊的拷貝,而是采用各種壓縮和重新映射方法,那樣虛擬磁盤只含有虛擬機實際需要的磁盤扇區。有些虛擬服務器,如Microsoft Virtual PC甚至可以將虛擬磁盤保存到兩個文件上:一個是“基準”或參考文件;另一個文件只是跟蹤變更內容。如果使用這種配置方法,第二個文件準確無誤地記錄下了間諜軟件造成的破壞。要恢復原始狀態的計算機,你只要丟棄這第二個文件就可以了。還有比這更簡單的嗎?
一次性使用的虛擬機其用途絕不僅僅限于測試間諜軟件。如今最安全的上網瀏覽方式就是下載一份VMware Player及VMware公司的“Browser Appliance”虛擬機。但如果某個黑客組織設法找到了漏洞,從而得以接管你的虛擬機,你要擔心什么呢?漏洞的最大危害就是破壞虛擬機——但黑客的惡意程序無法脫離VMware Player去感染你的桌面系統。同樣,跨站腳本攻擊同樣無法竊取你的家庭銀行驗證信息,某個零日漏洞(Zero-day Exploit)也無法尋找你的機密文檔。
減少遠程攻擊
企業用戶還可以使用VMware Player這種工具為員工提供一套穩定的應用系統,用于家庭計算機或者安全遠程訪問。你可以建立一臺VMware虛擬機,預先配置這些東西:可信的操作系統、貴組織所有與業務有關的軟件以及虛擬專用網絡客戶軟件,不必使用資源密集型的遠程訪問系統如Citrix或者微軟終端服務。員工可以運行該虛擬機來訪問公司的軟件或者網絡資源,把各自的工作成果保存在不同的虛擬機、主機操作系統或者網絡共享區上。軟件更新版也可以通過全新的虛擬機來發布。
我們越來越多地看到這一幕:用戶使用屬于客戶的敏感網絡工作時,虛擬機成了保護自己的一種方法。我用不著在家用計算機上啟動VPN客戶軟件,而是可以創建虛擬機,然后用它連接到客戶。現在我可以確信,桌面上任何毫不相關的活動不會無意中進入客戶的網絡。同樣也可以確信,我下載的任何機密信息都只放在這個虛擬機上。
許多學術研究人員力圖將這個概念應用到易于使用的桌面界面上,那樣可以把典型的家庭計算機分成多個不同的虛擬機,擔當家庭用戶通常扮演的不同類別的“角色”。譬如說,用戶可能會有一個虛擬機用于文字處理;第二個虛擬機用于家庭銀行業務及其他高價值、高風險的活動;第三個用于瀏覽互聯網、玩游戲;第四個用于高風險活動,如運行別人通過電子郵件發給我的程序。
難以避免的陰暗面
一些聰明的安全專家也認識到,虛擬化技術同樣存在著陰暗面。
因為Cookie和瀏覽器緩存文件連同其他各種內容保存在虛擬機里面,所以使用VMware的Browser Appliance瀏覽互聯網的壞人不會在他的PC上留下任何這些可以作為證據的痕跡。這樣一來,要證明某個人使用計算機從事非法活動(如下載兒童色情內容),難度就會大大增加。筆者在近期出席的一次技術取證大會上,就聽說有些手段高明的攻擊者如今就在這么做,他們闖入其他機器后不會留下任何痕跡。
黑客還可以利用虛擬化技術來隱藏病毒、特洛伊木馬及其他各種惡意軟件的蹤跡,不過目前這種攻擊主要局限于概念證明階段。理論上,惡意軟件可以成為虛擬服務器本身,受害的操作系統會作為客戶機運行。迄今為止,能夠做到這點的惟一一個人就是Joanna Rutkowska,她是總部設在新加坡的IT安全咨詢公司Coseinc的研究人員。Rutkowska編制的惡意代碼名為“藍色藥丸”(“Blue Pill”)。這種方法基于AMD公司的SVM/Pacifica 虛擬化技術,據說甚至可以繞過Windows Vista x64的安全機制。
對于計算機安全而言,虛擬化技術并不是萬靈藥。不過,世上本來就沒有萬靈藥。