為何選擇 VMware 進行惡意代碼動態分析?
- 多系統並行:單一物理主機同時運行多客體 OS (Windows/Linux/DOS),秒級切換,無需重開機。
- 快照機制:感染前建立基線快照,感染後對比差異 (檔案/註冊表/網路);定期快照支援時間軸分析。Workstation 支援多快照樹狀結構,Server/Player 單快照/無快照。
- Host-Only 網路隔離:虛擬網卡僅與主機/其他虛擬機通訊,不接觸生產網路。混雜模式下可監聽所有虛擬網路流量,便於 Wireshark 分析 C&C 通訊、下載行為。
- 硬體抽象層:惡意軟體行為在虛擬硬體上重現度高,且不污染真實磁碟。
建構分析實驗室步驟
- 準備大記憶體/磁碟物理主機,安裝 VMware Workstation (商業) 或 Server (免費)。
- 新增虛擬機 → 安裝目標 OS (XP/7/10、Ubuntu 等) → 安裝 VMware Tools 優化效能。
- 部署分析工具集:
檔案/註冊表監控:Process Monitor (Procmon)
網路監控:Wireshark (主機端捕獲 Host-Only 流量)
進程/模組檢視:Process Explorer, Process Hacker
記憶體分析:Volatility (離線)、WinDbg (核心除錯)
行為攔截:API Monitor, Detours, Sandboxie
- 建立乾淨快照 (基線)。
- 投放惡意樣本執行,觀察行為;完成後還原快照,換樣本/補丁級別重複。
生產環境安全隔離鐵律
- 專機專用:物理主機僅跑分析環境,不跑業務。
- 物理網路隔離:不連接生產網路,防止蠕蟲橫向移動或漏洞利用逃逸 (VMware 歷史有 CVE-2017-4901 等逃逸漏洞)。
- 主機型 IDS (HIDS) 監控物理主機:檔案完整性檢查 (Tripwire/AIDE)、異常進程偵測。
- 定期整機映像備份 (Ghost/Clonezilla) 或硬體級還原卡 (Core Restore) 快速復原。
- 及時套用 VMware 安全補丁,訂閱安全公告。
對抗惡意軟體反虛擬化檢測
惡意碼常檢測:
- MAC 地址前綴 (00:05:69, 00:0C:29, 00:1C:14, 00:50:56)
- 註冊表
HKLM\HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 0\Target Id 0\Logical Unit Id 0 識別碼含 "VMware"
- CPUID 葉 0x40000000 回傳 "VMwareVMware"
- 特定 I/O 埠 (0x5658 'VX') 通訊
對策:修改 .vmx 設定隱藏特徵 (如 isolation.tools.getPtrLocation.disable = "TRUE"、monitor_control.restrict_backdoor = "TRUE"、自訂 MAC/BIOS/DMI 資訊)。代價:可能降低效能、不被官方支援。替代方案:使用裸機沙箱 (Cuckoo + 物理機)、硬體虛擬化支援 (VT-x/AMD-V) 透明度更高。
替代虛擬化方案
- Microsoft Virtual PC / Hyper-V (Windows 整合佳)
- Parallels Workstation (Mac/Windows/Linux)
- VirtualBox (開源、跨平台、支援多快照)
- QEMU/KVM (Linux 原生、效能強)
虛擬化賦予惡意軟體分析「時光機」與「隔離艙」,但必須以嚴格隔離措施守住底線,防止分析環境變成跳板。