潘文標 李洪波
摘要:計算機技術的不斷進步讓虛擬化技術市場得到了很大發展,虛擬機動態遷移作為虛擬技術的重點內容,在虛擬機集群的管理、維護和資源優化中都發揮出了重要作用。當前階段,關于虛擬機動態遷移的相關研究較多,但是虛擬機動態遷移中的安全性問題研究相對較少。基于此,本文簡要闡述了虛擬機動態遷移中的攻擊點,對其進行簡要分析,提出了一定的應對方式,旨在促進虛擬化技術的進一步發展。
關鍵詞:虛擬機動態遷移安全攻擊安全對策
虛擬化促進了云計算的發展,虛擬機動態遷移技術作為實現虛擬化的重點,可以實現對大量數據的同時遷移,可以在很大程度上減少對資源的浪費。將一個虛擬機從虛擬機監視器(VMM)上轉移到另一個監視器上的遷移手段,被稱為虛擬機的動態遷移,該遷移活動所使用到的物理機具有差異性。此種轉移具有一定的優勢,比如客戶操作系統不需要關機就可以實現相關的操作,具有非常強的便利性,為分布式計算的發展提供一定的思路,但是其中依舊存在著不少的安全挑戰,需要對這些安全隱患問題進行關注。
1.虛擬機遷移的相關概述
1.1虛擬機遷移的簡介
虛擬機技術實現了在同一物理機器上運行多個操作系統的功能,并且提供了可靠的隔離層(VMM),讓物理資源的利用變得更加便捷。將虛擬機從一臺VMM轉移到另一臺上的遷移方式,其主要目的就是在轉移之后或轉移過程中,實現虛擬機的繼續運行,主要可以分為靜態遷移和動態遷移兩種情況[1]。所謂的靜態遷移就是在數據遷移的過程中,讓虛擬機處于暫停的狀態下,此種遷移方式沒有較大的難度,適合應用在對時效性無要求的遷移工作當中;而動態遷移就是相對于靜態遷移而言,實施數據遷移的過程中,虛擬機依舊可以處于開機狀態,為用戶提供不間斷的服務,此種方式方便且快捷,在市場上更具發展前景。總體而言,目前的各大主流行的虛擬化平臺都有提供動態遷移的功能,以共享存儲為基礎實現對用戶數據中心的有效管理,在系統整體性能提升方面可以發揮出重要的作用。
1.2虛擬機動態遷移需滿足的要求
想要實現虛擬機的動態遷移,需要重視幾個方面的要求。首先是保持最小中斷。遷移的過程中盡量保持最小的停機時間,因為停機狀態下無法執行任何指令。其次是要保持一致性。整個遷移過程的時間都不可過長,且要保持2臺機器都處于正常狀態,實施同步的遷移和轉入,避免影響穩定性。再次是保持受最小干擾。在動態遷移工作開展時,需要對可能會發生的干擾問題進行有效規避,避免出現資源爭奪的現象,給遷移服務造成不利影響。最后是保持透明性。虛擬機的動態遷移過程中需要對用戶開放,遷移期間的所有網絡連接和應用程序都需要保持在正常狀態下。
2.虛擬機動態遷移技術
2.1虛擬機動態遷移的機制
預拷貝技術是實現虛擬機動態遷移的關鍵性技術,該技術在計算機領域已經有了較為廣泛的應用。對于預拷貝技術而言,其運行的主要流程即對內存頁和臟頁實施拷貝[2]。預拷貝的第一個步驟就是對內存頁中的動態遷移數據進行拷貝,第二個步驟就是對動態遷移中經內存頁拷貝所出現的臟頁進行拷貝,之所以被稱為臟頁,主要是經過了第一個步驟的調整和操作之后,內存頁已經不是初始狀態的條件。虛擬機動態遷移中的預拷貝技術是對遷移數據實施多次的傳輸,只有臟頁達到一定次數之后才會停止繼續拷貝,因此這種技術也存在一定的劣勢,重復的操作會消耗大量時間,對數據安全性也存在一定的威脅,因此需要對其進行改進。
2.2虛擬機快速實時動態遷移的方法
此種方法是將預拷貝技術作為基礎,對其進行改進和優化,將其形成實時動態的過程。改進后的動態遷移過程主要可以分為6個階段的內容:第一階段是在實施前需要具備一個完善的主機,以此為載體來實現遷移的階段為預遷移;第二階段是將遷移虛擬機所需要的資源都復制到目標全遷入虛擬機之后,以形成初始化的計算機程序;第三階段是讓預拷貝的時間縮短,并且讓操作變得更加便捷化,屬于改進階段;第四、五階段是停止拷貝提交相關資源,屬于虛擬機暫停階段;第六階段就是將虛擬機與本地設備連接在一起,以保證設備處于正常運行狀態[3]。
3.虛擬機動態遷移中的安全問題
現階段的云計算已經得到了快速發展,以此為基礎的虛擬遷移系統也走上了不斷升級的道路。虛擬機是將各種演示環境都融入其中,并模擬各種例子的運行狀態,以此來保障數據遷移的高效性和安全性[4]。就目前而言,我國對于虛擬機動態遷移的研究還較少,并且存在著不少問題,都將重點集中在遷移方法和策略當中,卻忽視了遷移過程中的安全性問題。若在遷移過程,重要的數據遭受惡意攻擊,就會導致很多問題出現,進而影響到數據的安全性。
3.1虛擬機動態遷移的攻擊點
3.1.1遷出端與遷入端
遷出端具備高級權限,當動態遷移虛擬機發出遷移指令時,攻擊者就可發揮其監視功能,達到對虛擬機遷移的直接性的控制。以此行為為例,即便是無高級權限的情況下,也存在著泄露遷出端敏感信息的危險,進而給動態遷移造成不利影響;對遷入端的信息進行偽造,可能會模糊遷出端的判斷,以錯誤的判斷來切斷數據的傳遞,讓其無法到達傳輸端,以此來實現對遷入端的攻擊。
3.1.2網絡連接與文件資源服務器
動態遷移工作的開展是將網絡環境作為基礎,而攻擊者可以對其進行利用,在遷移指令發出后實施對遷出端信息的監視,以此來獲取遷移內容的具體信息;文件資源服務器作為虛擬信息的主要存儲點,其重要性不言而喻。文件系統的攻擊實際屬于傳統安全威脅的范疇,在此不做過多贅述。
3.2虛擬機動態遷移的攻擊分析
虛擬機主要由用戶層、應用層、系統層、虛擬機監控器和硬件層5個部分所構成[5],其攻擊問題可以從虛擬監控器、遷移數據和遷移模塊3個方面進行簡要的分析。
3.2.1針對虛擬監控器的攻擊
所謂的虛擬機監控器,實際上屬于虛擬機的核心程序。用戶在對虛擬機進行使用的時候,虛擬機監控器也會進入到相應狀態當中,以實現對數據信息的保護,防止出現網絡欺騙的現象。
VMM的攻擊主要表現在3個方面的內容:一是未通過授權的攻擊者對動態遷移的指令進行擅自的應用,利用此種方式將用戶的信息遷移到自己的服務器中,實現控制用戶虛擬機的目標;二是攻擊者利用動態遷移指令對大量用戶虛擬機做出誤導,以此種方式實現虛擬機用戶數據的轉移,讓該服務器中的VMM出現超負荷的狀態,最終導致其工作被迫處于暫停狀態;三是攻擊者在系統控制層中發布虛假信息,讓用戶虛擬機誤以為某服務器存有空間,以此種方式類對正常的VMM進行影響,最終將被攻擊的虛擬機中的信息數據遷移到已被劫持的VMM上。當前階段的大部分虛擬機產品依舊需要借助人工,但是在遷移的過程中存在著服務器跨多個管理與或主機地址不可預知的風險,因此安全性問題是必須要重點考慮的問題。
3.2.2針對遷移數據的攻擊
攻擊者會主動挑選一些遷移中沒有保護措施的虛擬機進行攻擊,獲取想要的數據信息,因此在開展虛擬機動態遷移工作時,必須要對數據的安全性進行保證,避免攻擊者對虛擬機狀態信息和數據實窺探或者篡改。被動偵聽和主動控制是動態遷移中數據內容容易遭遇的兩種攻擊,其中被動偵聽指的就是攻擊者攻擊遷移數據,使其處于被動狀態,而主動控制指的就是攻擊者劫持數據應對其進行隱藏,以此達到對數據的主動控制。
遷移數據的被動偵聽會泄露用戶的敏感信息,因為攻擊者會對遷移的具體路徑和相關的數據流進行監測,并對虛擬機儲存器中的信息進行提取。例如,密碼、密鑰等已經處于加密狀態且受到保護的數據也可能會受到偵聽攻擊的風險。因為攻擊者可以對動態遷移流的特點進行利用,利用此種方式實現對用戶虛擬機的識別,再從自身的邏輯位置發動相應的網絡攻擊,以路由劫持等攻擊方式比較常見;遷移數據的主動控制指的是利用中間人的方式,實施對虛擬機內存的攻擊,從而達到攻擊、劫持客戶機操作系統的目的。
3.2.3針對遷移模塊的攻擊
VMM組件要具有抵御攻擊者的功能,因為遷移模塊是保證網絡服務正常運行的重要模塊,但是基于此,攻擊者也可以實現對動態遷移中的各類軟件功能的合理利用,通過各種遠程操作的方式來實現對VMM的破壞。VMM作為客戶機操作系統的基礎性內容,所有操作系統都集中在此,一旦出現漏洞問題,其中的普通軟件也會受到攻擊風險的影響。以VMM被劫持為例,其中的普通模塊都會受到安全威脅的影響,最終會影響到VMM目的端的客戶虛擬機的正常運行。
4.虛擬機動態遷移中的安全對策
4.1動態遷移架構控制
4.1.1受保護數據的遷移
虛擬機動態遷移的安全性與VMM以及目的VMM的相互認證有著密切的聯系,利用此種方式來實現對數據安全性的保護,因為管理員的靈活訪問在一定程度上代表著風險性[6]。在開展虛擬機動態遷移的過程當中,數據防護是非常重要的一項內容。比如,開展虛擬機動態遷移工作之前,需要對內存頁的訪問做出一定的限制,并對可能會出現的攻擊方式實施有效防范。管理器在對內存頁實施訪問的時候,要限制對其中已加密保護的文本文件的訪問,以此種方式來保證受保護文件遷移過程的安全性。對于普通內存頁而言,將其直接映射到管理器的內存空間當中,再利用動態遷移管理將其傳輸到虛擬機當中,就可以實現內存頁的加密處理,讓內存頁的遷移數據安全保護力度得以提升。若要將會話密鑰設置在每個內存頁當中,需要在解密之前對受保護內存頁的哈希值進行比較,將其與頁幀號綁定之后,以期實現對傳輸安全性的有效提升。
4.1.2元數據的遷移
遷移平臺中的元數據憑借數組、鏈表和哈希表的形式而實現存儲,這種存儲方式方便對數據的高效處理[7]。在遷移的過程當中,需要將虛擬機相關的元數據從原有的數據結構中剝離出來,在遷入端服務器的虛擬機中實現對元數據的整合處理。預拷貝階段的元數據依舊存在被控制的可能,因此可以將元數據的封裝和發送設置在停止和復制的,當內存映像被目的端所接收之后,再實施對元數據的接收和解封處理。
4.2動態遷移的安全模塊
在開展虛擬機動態遷移的過程中,可能會出現不同類型的問題,需要針對這些問題來對動態遷移的方法作出一定的優化和調整。
4.2.1對分時檢測與利用進行關注
在虛擬機動態遷移的過程中,對內存頁進行映射和發送的時候,會存在分時檢查分析利用攻擊。此時的虛擬機正處在一個運行的階段當中,虛擬機上的用戶程序也處在運行狀態中,在該階段對內存頁實施檢查,對其是否為保護頁作出一定判斷。如果其為保護頁,就可以采取直接解密的安全保護方式。如果不是保護頁,需要對敏感頁作出加密操作之后,將其遷移到另一個程序當中。應用這種安全遷移的策略,可以對撤銷重定向內存映射到零頁時的漏洞進行解決,也能對安全性進行保證。
4.2.2對遷移虛擬機的恢復進行關注
當虛擬機處于恢復階段時,如果采用了錯誤的恢復順序也會造成一定的安全性問題。比如,遷移管理器在對所有頁表頁面進行標記的時候,遷出端服務器上的虛擬機會被接收,并在遷入端的恢服務器上進行恢復。實際上,頁面的恢復屬于一種過程,它是將內存頁映射的權限賦予到了虛擬機的身上,以此來作出頁表是否授權的考量,確保在無法完成恢復操作之前,實現對安全信息元數據的完全接收,以來完成動態遷移中所存在序列恢復問題。
4.2.3對重放攻擊進行關注
在虛擬機動態遷移的過程中,預拷貝階段已經完成了對內存頁數據的多輪傳送,如果上一輪的頁面顯示為標記狀態,就會在遷移管理器中的得到頁面的加密映像,然后網絡進行發送[8]。如果上一輪被保護的頁面被弄臟過多次,則說明其為惡意遷移管理器所發送的內容,而不是新內存頁的重放攻擊。想要對這種攻擊類型進行有效預防,當受保護的頁面處于停止和復制階段時候,需要對其進行哈希計算,并與之前匹配的哈希值進行對比,以此來作出恢復處理。
4.3重視虛擬機安全遷移協議
在開展一定的仿真實驗后可以得出,虛擬動態遷移的過程中若不采用任何安全協議,會讓內存頁遭遇較大的網絡攻擊,攻擊者甚至可以對用戶數據進行輕松獲取并對其實施篡改。將安全協議內容應用在其中,當攻擊者企圖對用戶數據進行修改時,遷入端服務器能夠實現對其檢測,隨之就會出現數據企圖被修改的提示性信息,從而減少虛擬機動態遷移的安全漏洞。
5結語
總之,在虛擬化技術不斷發展及影響下,虛擬機的動態遷移技術也正在持續升級和發展,并且有著越來越更廣泛的發展前景。現階段的虛擬機動態遷移中依舊存在著不少的安全問題需要關注,在對其進行應用的過程中,一定要從動態遷移中的攻擊點出發,實現對虛擬機動態遷移的安全保護。在未來的發展當中,需要注意資源的合理配置,重視安全協議的構建以及各端口的驗證,進一步提升安全防護效果。
參考文獻
[1]張從越.云計算環境下基于多目標優化的虛擬機遷移研究[D].南京:南京郵電大學,2020..
[2]賀王凱.移動邊緣計算環境下虛擬機動態遷移策略研究[D].保定:河北大學,2021.
[3]吳宇飛,焦嘉.云計算環境下面向能耗降低的虛擬機選擇策略[J].網絡安全技術與應用,2022(1):68-70.
[4]陳雙喜,趙若琰,劉會,等.基于KVM的虛擬機Post-Copy動態遷移算法穩定性優化[J].電信科學,2021,37(7):57-66.
[5]胡康立,曾嵐,石方,等.云數據中心虛擬機調度研究綜述[J].廣州大學學報:自然科學版,2021,20(3):59-68.
[6]沈華峰.一種云計算環境下的虛擬機動態遷移策略[J].計算機測量與控制,2019,27(3):159-163.
[7]曾少慧,邱彬.云計算中虛擬機臟頁實時遷移的改進策略[J].汕頭大學學報:自然科學版,2019,34(2):15-22.
[8]周震,袁正道,李俊峰.云數據中心基于溫度感知的虛擬機遷移模型[J].計算機應用與軟件,2021,38(11):70-76.