鄧昆
徐州信智科技有限公司,中國·江蘇 徐州 221006
21世紀,計算機網絡飛速發展,大數據、云計算、互聯網等已經滲透社會各行各業,給現代社會的生產生活帶來巨大變革。正如網絡是把雙刃劍一般,計算機網絡、云計算等先進技術在方便人們生活的同時也引發了許多新的問題,如企業、個人的信息安全開始遭受各種威脅,企業信息被篡改、個人信息被盜取等事件層出不窮。針對這些信息安全問題,中國提出使用可信3.0自主可控的可信計算技術、虛擬化技術來提升信息的安全性,有效解決當前的信息安全危機。經過研究與實踐證明,虛擬化技術、可信計算技術有利于構建起一個安全可靠的云環境,讓用戶信息安全得到保證。但與此同時,虛擬化技術、虛擬機在信息安全領域發揮著積極作用的同時,虛擬機自身也面臨著許多安全威脅。下面結合實際首先對虛擬機面臨的安全威脅做具體分析。
在信息安全領域,虛擬機主要面臨來自以下幾方面的安全威脅。
虛擬機在運行過程中容易受到來自外部的惡意攻擊。一些人員會為利用系統漏洞攻擊虛擬機,并獲得虛擬機的控制權,最終給虛擬機用戶帶來不便。此外還有一些惡意攻擊者會利用木馬病毒攻擊虛擬機系統,于虛擬機系統中植入惡意軟件破壞系統的架構,降低系統的安全性與可靠性。部分惡意攻擊者會通過模仿合法用戶對虛擬機的配置或運行數據進行修改,從而達到破壞云環境虛擬機數據機密性、完整性與可用性的目的[1]。
除了一些外部的攻擊、入侵外,虛擬機系統內部的管理人員也有可能影響虛擬機的安全穩定運行,給虛擬機內部信息數據安全帶來威脅。這是因為,目前內部管理人員對云環境下的用戶數據擁有著絕對的管理權、控制權。在權限范圍過大的情況下,一些不懷好意的管理員就會濫用自身權力侵犯他人隱私,對用戶數據進行竊取或篡改,使用戶遭受巨大損失。除此之外,一些管理員也有可能會因為一時的疏忽大意而在系統中安裝或植入惡意軟件、病毒軟件,造成虛擬機的安全性大大下降。一些內部管理人員甚至會惡意破壞虛擬機的運行,如他們會通過內部管理接口修改虛擬機鏡像文件,最終實現對虛擬機的控制[2]。
來自內外部的攻擊、入侵、篡改等都會讓虛擬機的運行受到很大影響,會讓用戶數據的完整性、機密性受到嚴重破壞,因此必須采取有效措施增強虛擬機的安全防護性能,保障用戶數據安全。
隨著云計算規模的不斷擴大,人們對于構建安全可信的云環境的需求愈發強烈,而保證虛擬機的可信啟動過程則能夠為構建可信云環境筑起第一道安全防線[3]。因此,論文重點探討基于計算機與虛擬化技術的虛擬機可信啟動總體框架,通過該框架對虛擬機可信啟動過程進行監測、控制,讓虛擬機足夠安全可靠。
在云計算以及信息安全領域,虛擬化技術是一項最基層也是最核心的技術,虛擬化技術需要向云用戶提供隔離性與安全性保證。然而隨著攻擊手段的不斷發展以及入侵技術的日益成熟,虛擬技術開始很難全面保證用戶數據信息的安全性與可靠性。具體如在攻擊技術、攻擊工具不斷發展的情況下,一臺虛擬機有可能在啟動初期就受到攻擊或被惡意控制。那么在此情況下,該虛擬機就已經處于不可控的狀態,用戶不管在哪一時段使用虛擬機,其私密數據、存儲的資源等都有可能受到篡改、竊取或破壞[4]。
虛擬機在云環境中是作為進程運行于宿主機操作系統上,操作系統通過虛擬機的監視器監視、調度及使用宿主機硬件資源(具備CPU虛擬化功能)。在虛擬機監視器的管理下,虛擬機的啟動流程為:用戶(位于QEMU層)發出虛擬機啟動命令;啟動命令通過執行Ioctl系統調用命令進入KVM內核層;啟動命令進入到內核層后獲取到KVM句柄,然后映射虛擬機內存;啟動命令于內存中映射虛擬機鏡像;創建VCPU,完成VCPU內存空間分布;虛擬機在KVM-RUN的命令下開始運行。
通過對虛擬機啟動流程的分析可知,要想在云環境下實現虛擬機的可信啟動,那么就需要為虛擬機配置虛擬可信保障,同時還要根據實際情況,運用相應的監測控制機制對虛擬機啟動過程進行監測,必要時進行控制,使虛擬機在啟動過程中能更有力防御或應對來自內外部的各類威脅,實現安全啟動,同時也為用戶提供可信、安全保證。
云環境下用戶使用的計算與存儲資源與傳統硬件計算機實體中的資源有很大不同。云環境下用戶使用的計算與存儲資源都是由云服務提供商提供,這意味著,云服務提供商的權限大于云用戶,云用戶的數據安全、資源安全等有可能遭受來自云服務提供商的威脅。針對此,就需要建構一個科學完善且合理可靠的虛擬機可信啟動框架(如圖1所示),利用該框架有效改善用戶信息不安全的現狀,為用戶信息安全提供保證。

圖1 虛擬機可信啟動框架
虛擬機可信啟動框架由以下部分構成:可信管理模塊、vTPCM管理模塊、主動監控模塊以及可信基準庫。其中可信管理模塊又包含以下三種機制:判定機制、度量機制以及支撐機制。可信管理模塊中判定機制的主要作用是:對來自度量機制的度量結果進行接收,同時對度量結果進行校驗(依據可信基準庫中的基準值)。在校驗完成的基礎上根據相應的可信判定策略調用主動監控莫開的控制機制,對虛擬機啟動過程做主動可信控制。度量機制在可信管理模塊中主要有以下作用:格式化存儲相關的可執行實體信息(該部分信息主要由主動監控模塊發送);同時對虛擬可信根vTPCM進行可信度量,得到度量結果后將其發送給判定機制,由判定機制對度量結果進行判定。實時更新基準庫的基準值數據,確保虛擬機在可信啟動過程中的靈活、安全以及可靠。需注意的是,該更新行為需要在后臺策略的管控下進行。可信管理模塊中的支撐機制主要是作為一種媒介而存在(主動監控模塊中監測機制與可信管理模塊中度量機制與vTPCM管理器交互的媒介)[5]。
在云環境下虛擬可信根需要結合相關的控制系統對虛擬機進行主動監控,所以虛擬機所對應的虛擬可信根要先于虛擬機完成初始化。在完成初始化后,隨著虛擬機啟動,監測機制(位于主動監控模塊)就能及時監測虛擬機命令并根據檢測結果向vTPCM管理模塊發出通知,要求vTPCM管理模塊開始對vTPCM的初始化動作。在各條件都正常的情況下,操作人員此時就能通過宿主機的目錄看到虛擬可信根設備的初始化進程以及已經成功完成初始化的提示。為了更好地監測、控制虛擬機啟動過程,還可在內核層部署鉤子函數,通過這一措施對內核層KVM虛擬機的行為進行監測、控制,防止各種意外狀況的發生。在部署鉤子函數的基礎上,通過相應的接口函數將虛擬機在啟動過程中產生的各項數據、信息收集與整理起來,對各數據與信息進行度量與判定,判斷虛擬機的啟動是否正常。這樣一套程序與機制就能很好地控制虛擬機啟動過程,保證虛擬機的可信啟動能夠實現。
綜上所述,在云環境中,虛擬機是最小的服務單元,虛擬機的可信啟動對云可信體系的構建非常重要,優化虛擬機啟動流程,有利于完善整個云可信體系,有助于保護用戶私密數據、寶貴資源不被竊取或破壞。因此,在當前背景下應高度重視對虛擬機的研究與優化,讓虛擬機技術在信息安全領域發揮出更大的作用。