OpenStack虛擬機遷移機制安全問題分析

責任編輯:editor005

作者:羅楊

2015-05-15 14:11:49

摘自:羅楊的博客

虛擬機動態(tài)遷移會利用虛擬機調度機制來進行目標主機的選擇,虛擬機調度機制的基本原理如下圖所示?,F(xiàn)有的方案主要針對數(shù)據(jù)平面安全和遷移模塊安全進行了安全防護,缺乏對控制平面安全的分析,該領域有待進一步研究。

目前的云平臺主要有兩種遷移類型:動態(tài)遷移和塊遷移。動態(tài)遷移需要實例保存在NFS共享存儲中,這種遷移主要是實例的內存狀態(tài)的遷移,速度很快。塊遷移除了實例內存狀態(tài)要遷移外,還得遷移磁盤文件,速度會慢些,但是它不要求實例存儲在共享文件系統(tǒng)中。(NFS允許一個系統(tǒng)在網(wǎng)絡上與他人共享目錄和文件。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統(tǒng)上的文件。)

在云計算基礎架構中,虛擬機動態(tài)遷移已成為公有云和私有云的必備功能。虛擬機動態(tài)遷移是指將一臺虛擬機從一個物理機器遷移至另一個物理機器,而遷移過程中虛擬機繼續(xù)執(zhí)行原有指令而不會中斷的一種技術。云服務提供商利用虛擬機動態(tài)遷移技術進行負載均衡、集中管理、容錯等技術。虛擬機動態(tài)遷移在提供可伸縮性和靈活性的同時,也帶來了很多安全問題。當前業(yè)界通常把動態(tài)遷移的安全問題歸為三類:控制平面安全、數(shù)據(jù)平面安全和遷移模塊安全。

一. 虛擬機遷移安全問題分類

1. 控制平面安全:

虛擬機監(jiān)控器(VMM)之間的用來發(fā)起和管理虛擬機動態(tài)遷移的通信機制應該加入身份鑒別和防篡改機制。攻擊者有可能通過攻陷VMM來影響虛擬機動態(tài)遷移從而實現(xiàn)對虛擬機的完全控制。

2. 數(shù)據(jù)平面安全:

虛擬機遷移的數(shù)據(jù)通信信道必須進行安全加固,來防止可能的監(jiān)聽攻擊和篡改攻擊。被動的監(jiān)聽攻擊可能導致被遷移虛擬機敏感數(shù)據(jù)的泄露,而主動的篡改攻擊則可能導致整個虛擬機被攻破。

3. 遷移模塊安全

執(zhí)行遷移功能的VMM模塊必須具有抵御外部攻擊的能力。如果記者能夠利用遷移模塊中的漏洞攻陷VMM的話,攻擊者就可以完全獲取VMM以及VMM之上所有虛擬機的權限。

虛擬機動態(tài)遷移會利用虛擬機調度機制來進行目標主機的選擇,虛擬機調度機制的基本原理如下圖所示。

 OpenStack虛擬機遷移機制安全性分析

  圖1 虛擬機調度機制基本原理

二. 現(xiàn)有的針對虛擬機遷移的攻擊方法

目前安全研究人員已經(jīng)針對數(shù)據(jù)平面安全提出了很多攻擊方法,針對的實驗平臺包括目前流行的Xen平臺和VMware平臺。而遷移模塊安全主要是對虛擬機監(jiān)控器的安全漏洞的挖掘,與一般的軟件漏洞挖掘無異,因此其安全分析方法可歸于普通軟件漏洞挖掘一類。目前還沒有針對控制平面安全挖掘的相關技術出現(xiàn)。

1. 動態(tài)遷移中控制平面的攻擊方法

VMM之間的用來發(fā)起和管理虛擬機動態(tài)遷移的通信機制應該加入身份鑒別和防篡改機制,另外,控制平面中所使用的協(xié)議應該能夠防止監(jiān)聽攻擊和重放攻擊。缺乏訪問控制機制可能導致攻擊者能夠執(zhí)行任意的虛擬機遷移。

1)遷入控制:

通過發(fā)起未授權的遷入,攻擊者能夠把目標虛擬機遷移到攻擊者自己的物理機上,從而實現(xiàn)對虛擬機的完全控制。

2)遷出控制:

通過發(fā)起未授權的遷出,攻擊者能夠將大量的虛擬機遷到一個合法的物理機上,造成其過載,從而實現(xiàn)DoS拒絕服務攻擊。

3)虛假資源通告:

在一個動態(tài)遷移自動在云主機之間執(zhí)行的環(huán)境中,攻擊者可以通過控制平面通告虛假的可用資源,假裝擁有很多空閑CPU,從而影響控制平面將虛擬機遷入到攻擊者所擁有的物理機上。

目前大多數(shù)云平臺都需要人工來發(fā)起虛擬機遷移,其控制平面的訪問控制機制是非常簡單的。例如,Xen平臺利用主機地址白名單來確定可以執(zhí)行遷移命令的主體。然而由于基于負載均衡的虛擬機之間的自動化遷移可能橫跨了多個管理域,多個管理域內部的主機地址是無法預知的,因此這個白名單機制實用性并不高,需要提出新型的控制平面的策略機制。

2. 動態(tài)遷移中數(shù)據(jù)平面的攻擊方法

為了防止監(jiān)聽和篡改攻擊,虛擬機遷移的數(shù)據(jù)平面必須進行安全加固。攻擊者有可能利用ARP欺騙、DNS污染、路由劫持等技術將自己置于遷移路徑之間,此刻攻擊者可以發(fā)起中間人攻擊。

1)被動監(jiān)聽:

針對數(shù)據(jù)平面的被動監(jiān)聽攻擊可能導致敏感信息的泄露。通過監(jiān)控遷移路徑以及相關的網(wǎng)絡數(shù)據(jù)流,攻擊者能夠從被遷移虛擬機的內存中提取出很多數(shù)據(jù),包括密碼、秘鑰、應用數(shù)據(jù)以及其他重要資源。

2)主動修改:

內部攻擊者可能在虛擬機進行網(wǎng)絡遷移時對內存數(shù)據(jù)進行篡改,從而造成巨大威脅。這樣的中間人攻擊可能導致虛擬機完全被攻陷。

即使采用了適當?shù)募用芎蜕矸蓁b別管理機制,攻擊者還是有可能通過監(jiān)聽遷移數(shù)據(jù)流來捕獲關鍵信息的。例如,攻擊者可以通過遷移數(shù)據(jù)流的特征,如數(shù)據(jù)遷移大小和耗時來鑒別是哪個虛擬機進行的遷移,從而確定該虛擬機遷移的目標主機。這個信息可能被攻擊者用來針對某個特殊虛擬機或者遷移虛擬機所在的主機發(fā)起第二輪攻擊。

目前主流的云平臺,如Xen和VMware,默認都不開啟數(shù)據(jù)平面保護功能,從而造成安全隱患。

3. 動態(tài)遷移中遷移模塊的攻擊方法

執(zhí)行動態(tài)遷移功能的VMM模塊需要能夠抵御外部的攻擊。遷移模塊提供了虛擬機遷移的網(wǎng)絡服務。通用的軟件漏洞,如棧溢出、堆溢出、整數(shù)溢出等可能被遠程攻擊者用來攻陷整個VMM。由于虛擬機遷移一般不認為是一個公用服務接口,因此遷移模塊中的代碼很可能不像其他部分代碼一樣經(jīng)過了嚴格的源代碼安全審計,這就更有可能引發(fā)安全漏洞。

這種軟件漏洞攻擊幾乎在各種軟件中都很常見,在VMM遷移模塊中這種漏洞需要格外注意。由于VMM控制著其上運行的所有虛擬機,因此VMM自身的漏洞相比其他普通軟件漏洞的危害要大得多。如果攻擊者試圖通過遷移模塊來攻陷VMM,此VMM上運行的所有虛擬機以及將來可能遷入到此VMM上的虛擬機都會被攻陷。在Xen平臺上就曾經(jīng)多次曝出整數(shù)溢出漏洞,這些漏洞都有可能導致整個VMM被攻擊者所完全控制,從而造成安全威脅。

三. 現(xiàn)有幾種方法的缺點和局限性

1)動態(tài)遷移中數(shù)據(jù)平面的攻擊方法和動態(tài)遷移中遷移模塊的攻擊方法只是針對數(shù)據(jù)平面和遷移模塊進行攻擊演示,但是一般的云平臺的數(shù)據(jù)遷移都是經(jīng)過加密的,因此數(shù)據(jù)平面攻擊不會奏效,而針對遷移模塊進行攻擊需要依靠遷移模塊的安全漏洞才能完成,隨著云平臺軟件版本的不斷提供,現(xiàn)有的安全漏洞會被不斷修復,從而導致無安全漏洞可用,針對遷移模塊的攻擊方法也就無法實現(xiàn)。

2)現(xiàn)有的動態(tài)遷移中控制平面的攻擊方法,只是提出了大概概念,缺乏具體的實施方法,因此對實踐中的云平臺控制平面安全加固指導作用不大。

目前云環(huán)境下的虛擬機動態(tài)遷移安全問題,主要分為控制平面安全、數(shù)據(jù)平面安全和遷移模塊安全三類?,F(xiàn)有的方案主要針對數(shù)據(jù)平面安全和遷移模塊安全進行了安全防護,缺乏對控制平面安全的分析,該領域有待進一步研究。

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號