標題: | 虛擬機記憶體與磁碟狀態之觀測與操控 The Introspection and Interposition of Virtual Machine Memory and Disk States |
作者: | 黃俊祺 Huang, Chun-Chi 吳育松 Wu, Yu-Sung 網路工程研究所 |
關鍵字: | 雲端運算;虛擬機器;入侵偵測;入侵反制;虛擬機內部狀態監控;Cloud Computing;Virtual Machine;Intrusive Detection;Intrusive Prevention;Introspection |
公開日期: | 2012 |
摘要: | 在傳統個人電腦的架構下,系統監測與反制工具均安裝於作業系統內部。此類工具擁有系統權限,能取得系統核心狀態與阻擋系統的特定行為,典型的例子如防毒軟體,在擁有系統權限的前提下,防毒軟體檢查系統的核心狀態、檔案系統以及存取行為,一旦發現不符合規則的情況發生,便以對應的動作進行問題排除。但隨著雲端環境的興起,一台實體機器中可能擁有數台虛擬機器的情況下,過去安裝於系統內部的監測工具顯然在安裝與維護上會消耗掉不少的時間與人力成本,同時在系統內部去觀測系統狀態會有rootkit屏蔽的問題,因此如何在虛擬機器外部進行系統觀測與操控,便成為研究的重點之一。
現今的虛擬化平台製造商也開始釋出相關的系統觀測API給防毒軟體供應商使用,如VMWARE提供VMSAFE API給Trend Micro開發出的Deep Security便是一個典型的例子。但從現實面考量,使用商業軟體進行開發與研究的門檻並不算低,除了軟體本身所需要的成本不斐以外,虛擬化平台製造商是否願意將內部開發用的API釋出給一般研究機關使用也是需要考量的問題,因此大多數人便轉向Xen及KVM兩大開源虛擬化軟體進行開發與研究。但是目前為止在Xen和KVM上的發展仍停滯於系統觀測與分析階段,尚未有實際的系統能保護虛擬機免於惡意軟體的入侵,因此本篇論文在Xen的架構下提出一個能觀測並操控虛擬機記憶體和磁碟狀態的方法,並用此方法實作出Xen Hypervisor上第一個保障虛擬機安全的入侵偵測反制系統。
由於在Windows 64位元版本的作業系統中新增了Kernel Patching Protection的機制,導致我們在操控虛擬機記憶體時會被此機制所阻擋,同時在讀取虛擬機磁碟狀態時,會因為作業系統內部disk cache中的資料尚未寫入磁碟,導致在外部讀取不到最新的磁碟狀態,針對這兩個問題我們也提出了對應的解決方法。論文的最後針對本系統進行一連串的實驗與討論,實驗結果顯示本系統能成功繞過Kernel Patching Protection機制並正確地針對虛擬機行為進行監測與反制,目前的系統雖然僅支援Windows 7 64位元版本和Windows Server 2008 64位元版本,未來我們將以效能及更多元的防護為目標,提供一個更完善的虛擬機防護機制。 End-point security monitoring is typically integrated with the operating system kernel layer for checking the kernel states and preventing malicious program from gaining kernel privilege. Anti-virus software is one of the classical examples, but in a cloud computing environment, there may be hundreds or thousands of virtual machines. It is impossible to install and maintain end-point security software such as the anti-virus software for every virtual machine. Also, traditional end-point security software may be bypassed by rootkits, which have the same system privilege level as the operating system kernel. As a result, there is a clear need for the ability for security software to introspect and interpose the system states from outside the virtual machines. In this paper, we propose a virtual machine introspection and interposition system based on Xen Hypervisor. With our system, security applications can introspect and interpose in the memory and disk states of virtual machines from domain 0. We also built prototype IDS/IPS applications to demonstrate the feasibility of the proposed system. However, for Windows x86_64 edition operating systems, memory interposition in kernel pages will be blocked due to kernel patching protection. Also, there is a cache coherence problem when a security application gets the disk states of a virtual machine. In order to introspect and interpose in the virtual machine states accurately, we provide a solution to evade kernel patching protection and maintain consistency disk states, and the result shows our solution works well. |
URI: | http://140.113.39.130/cdrfb3/record/nctu/#GT079956511 http://hdl.handle.net/11536/50548 |
Appears in Collections: | Thesis |
Files in This Item:
If it is a zip file, please download the file and unzip it, then open index.html in a browser to view the full text content.