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