作為網管員,惡意軟件分析可能並不是我們的最主要工作。不過,如果一個惡意軟件影響了你的桌面應用程序的使用,你也許會考慮一下這種不熟悉的惡意代碼的性質。一般來說,從行為分析入手開始你的調查工作,也就是觀察惡意軟件怎樣影響文件系統、注冊表及網絡,可以很快地就產生極有價值的結果。一些虛擬化軟件,如VMware在這個分析過程中具有很大的幫助作用。 VMWare是一個“虛擬PC”軟件.它使你可以在一台機器上同時運行二個或更多Windows、DOS、LINUX系統。與“多啟動”系統相比,VMWare采用了完全不同的概念。多啟動系統在一個時刻只能運行一個系統,在系統切換時需要重新啟動機器。VMWare是真正“同時”運行,多個操作系統在主系統的平台上,就象標准Windows應用程序那樣切換。而且每個操作系統你都可以進行虛擬的分區、配置而不影響真實硬盤的數據,你甚至可以通過網卡將幾台虛擬機用網卡連接為一個局域網,極其方便。不過今天我們要討論的是如何運用VMware分析惡意軟件的問題。 用VMware分析惡意軟件的益處 VMware支持同時運行在一個物理系統上的多個計算機的仿真。與一個使用完全不同的物理結構部件的實驗環境相比,這種方法用於惡意軟件的行為分析有多種好處: 在分析實驗室中,擁有幾個系統通常是有益的,因而惡意軟件只會與模擬的Internet部件交互。通過VMware,就可以構建一個多部件的試驗室,而不用承擔多個物理系統的臃腫之苦。 在感染惡意軟件之前,能夠捕捉系統狀態的快照;而且通過定期的快照分析可以節省時間。這項功能可以提供一種幾乎瞬間就恢復到目標系統的簡單方式。VMware通過其集成的快照特性使這種恢復相當容易。VMware Workstation作為一種商業產品,允許生成多個快照。VMware Server是一種免費軟件,只支持單一快照。VMware Player也是一個免費的軟件,不能捕捉系統快照。 VMware的host-only網絡選項對於通過仿真網絡連接虛擬系統極其方便,而不需增加額外的硬件。這項設置使得分析人員對將實驗室環境連接到生產網絡不會太感興趣。在用混雜模式(promiscuous mode) 監聽時,Host-only網絡允許虛擬系統在模擬的網絡上查看所有的數據通信。這使得對監視網絡的交互性變得很容易。 開始運用VMware分析惡意軟件 准備一個基於VMware的分析實驗室是相當簡單的事情。你需要一個擁有一個大容量內存及磁盤空間的系統,用以充當一個物理主機。你還需要必需的軟件:VMware Workstation 或 Server,以及要部署在實驗室的操作系統的安裝媒體。 VMware模仿計算機硬件,因此你必須將操作系統安裝到每一個虛擬機之中,這些虛擬機是用VMware的新虛擬機向導(Virtual Machine Wizard)創建。操作系統安裝好後,再安裝VMware 工具包(VMware Tools package),這樣會優化VMware的操作。然後,安裝適當的惡意軟件分析軟件。 筆者推薦實驗環境擁有幾種不同的操作系統的虛擬主機,每一個操作系統代表惡意軟件可能攻擊的目標。這就便於我們在本地環境中觀察惡意程序。如果使用VMware Workstation,你應該在安全更新安裝過程中,在不同的時點上捕獲虛擬系統的快照,從而可以在不同補丁級別上分析惡意軟件。 保障生產系統的安全 在對付惡意軟件時,必須采取預防措施不要讓生產系統網絡受到感染。如果不進行地正確的處理或惡意程序樣本濫用了VMware安裝程序中的一個漏洞,這種感染和破壞就會發生。在VMware中已經有幾個眾所周知的漏洞,這些漏洞從理論上講,可允許惡意代碼從虛擬系統找到通向物理主機的方法。感興趣的讀者可從此獲得相關的文檔資料。 為了減輕這些風險,筆者建議如下的方法: 跟上VMware安全補丁的步伐,經常浏覽其網站,下載其最新的補丁。 將某物理主機用於基於VMware的試驗環境,就不要將它用於其它目的。 不要將物理試驗系統連接到生產性網絡。 用基於主機的入侵檢測軟件監視物理主機,,如一個文件集成檢查器。 用克隆軟件定期重鏡象物理主機,如Norton Ghots。如果這樣做速度太慢,可以考慮使用硬件模塊,如Core Restore,用於撤消對系統狀態的改變。 使用VMware進行惡意軟件分析的一個挑戰就是惡意代碼可能會檢測到它是否運行在一個虛擬系統之內,這會向惡意軟件指明它正在被分析。如果你不能修改其代碼來刪除這項功能,你可以重新配置VMware來使它更加秘密地運行,可參考如下文檔對VM的.vmx文件進行設置。這些設置的最大問題是它們可能會降低虛擬系統的性能,此外還要注意這些設置並不被VMware支持。 虛擬化選擇和策略 當然,VMware並非可用於惡意軟件分析的唯一虛擬化軟件。常用的選擇還包括微軟的Virtual PC和Parallels Workstation。 虛擬化軟件為構建一個惡意軟件分析環境提供了一個方便省時的機制。不過,一定要為防止惡意軟件逃離你的測試環境而建立必需的控制。借助一個配置良好的試驗環境,我們就可以充分利用惡意軟件的分析技巧。