孫志勇,季新生,游 偉,李英樂
(國家數字交換系統工程技術研究中心,鄭州 450002)
第五代移動通信系統(5G)需要適應增強移動寬帶、海量機器類通信和超高可靠低時延通信三大應用場景,而不同應用場景在移動性、計費、安全、策略控制、延時和可靠性等方面具有差異化的要求,需要不同類型的網絡服務。為此,5G網絡引入網絡功能虛擬化(Network Function Virtualization,NFV)[1]技術,通過在通用IT硬件平臺上部署虛擬網絡功能(Virtual Network Function,VNF)的方式,實現網元功能和專屬硬件平臺的解耦,并以網絡切片[2]的形式向不同應用場景的用戶提供靈活、多樣的定制化服務。網絡切片技術通過共用底層物理資源,能夠達到資源靈活調度、資源利用率提升、網絡服務按需部署的目的,但是虛擬節點共享物理資源也帶來了一些安全問題,如攻擊者通過側信道攻擊(Side-Channel Attack,SCA)[3-4]、虛擬節點溢出攻擊(Virtual Node Escape Attack,VNEA)[5]等方式竊取用戶隱私信息。
目前,針對虛擬化環境下節點信息泄露問題的研究主要分為兩類。第1類方法對物理服務器的軟硬件進行修改[6]。文獻[7]提出一種Stopwatch架構來預防側信道攻擊,其主要解決I/O接口受攻擊的問題。文獻[8-9]通過對操作系統層進行修改和分區加密,以抵御側信道攻擊。文獻[10]通過在物理主機中設置能隱藏程序運行時間的管理程序來抵御側信道攻擊,該方法主要預防特定類型的信息竊取攻擊,難以應對多種類型或未知類型的攻擊。第2類方法對虛擬機進行動態遷移,這種方法能夠抵御不同類型的因共享物理資源導致的攻擊。文獻[11-13]利用移動目標防御[14]的思想對同一物理節點上的虛擬機進行動態遷移,通過限制共存時間來保證目標虛擬機不被惡意主機竊取隱私信息,從而增加了側信道攻擊的難度。與第1類方法相比,第2類方法不需要修改物理服務器的軟硬件,但虛擬機的動態遷移受制于遷移算法、遷移開銷和網絡環境,并且虛擬機動態遷移過程存在遷移失敗的風險。文獻[15]設計了一個簡單的攻擊實驗,證明在虛擬化環境下虛擬機進行動態遷移的過程容易受到網絡攻擊。文獻[16]指出虛擬機在遷移過程中會削弱或抵消遷出節點虛擬機入侵防御系統和入侵檢測系統的作用。文獻[17]介紹了在虛擬機遷移時攻擊者針對系統控制平面、數據平面和遷移控制模塊的非法攻擊手段、過程以及后果。文獻[18]指出了內部人員利用虛擬機遷移的相關漏洞獲取用戶數據的可能性。
現有虛擬機遷移方法大多忽略了遷移本身帶來的風險,尤其在移動核心網中的高可靠通信場景下,頻繁遷移引起的安全問題不容忽視。本文對遷移頻率過快的虛擬節點采用冗余跳變的工作機制,以解決虛擬節點的信息泄露問題。在此基礎上,建立虛擬機遷移頻率計算模型并提出一種基于冗余跳變的虛擬機遷移方法,以抵御信息竊取攻擊并最小化遷移資源開銷。
基于虛擬化技術的網絡切片部署過程可抽象為服務功能鏈(Service Function Chain,SFC)的映射過程[19-20],其中,實現網絡服務的一組網絡功能集合被稱為SFC[21]。服務提供商將SFC動態實例化至通用的底層物理設施網絡上以向用戶提供服務[22]。SFC映射過程及網絡結構組成如下:
1)底層物理網絡。底層物理網絡由通用的硬件設備平臺組成,用一個賦權無向圖Gs=(Ns,Ls)表示,其中,Ns表示物理服務器的集合,Ls表示物理鏈路的集合。對于每一個物理服務器u∈Ns,都有一個可用的CPU計算處理能力,其值大小用C(u)表示。同樣,對于每個物理鏈路(u,v)∈Ls,都有一個可用的物理帶寬資源,用B(u,v)表示。
2)服務功能鏈。在虛擬化云環境中實現網絡服務需要一組有序的網絡功能VNF組成SFC,采用賦權有向圖Gv=(Nv,Lv)表示SFC中全部VNF節點及其關系的邏輯視圖,其中,Nv表示VNF的邏輯節點集合,Lv表示邏輯鏈路集合。
3)SFC映射。系統的資源管理和編排模塊根據SFC的請求信息和底層物理資源狀況,完成映射f:Gv→Gs,根據映射過程中的指標需求設置約束條件和目標函數,然后設計相應的虛擬映射算法,求解并找到滿足映射需求的VNF和虛擬鏈路對應的最優位置[23]。



圖1 服務功能鏈共享物理資源示例
Fig.1 Example of shared physical resources of service function chain
攻擊者利用運行在同一物理節點上的虛擬機,可以發動攻擊竊取用戶信息,其中,主要攻擊類型是側信道攻擊和虛擬節點溢出攻擊。將圖1中的物理節點B、D放大,分別示例2種攻擊過程。側信道攻擊過程如圖2(a)所示:1)目標節點b對共用的CPU cache、內存總線等物理節點資源發生作用;2)惡意虛擬節點e通過共用的物理節點資源對虛擬節點b進行探測;3)根據探測結果完成1 bit信息的隱蔽傳輸,然后不斷重復上述過程。虛擬節點溢出攻擊過程如圖2(b)所示:1)目標節點f上運行的自定義協議存在漏洞,惡意用戶向其發送特定報文;2)目標節點f崩潰退出,向管理程序發送事件消息,進而觸發漏洞或注入惡意代碼;3)管理程序被控制,從而泄露其他虛擬節點的信息。

圖2 2種虛擬節點信息泄露過程示例
Fig.2 Example of information disclosure process of 2 kinds of virtual nodes
在虛擬節點信息被攻擊者竊取的過程中,主要存在如表1所示的3個安全影響因素[24]。

表1 虛擬節點安全影響因素
因此,為了避免攻擊者發動側信道攻擊并成功竊取用戶隱私信息,系統需要滿足式(1)。
SΓε≤I
(1)
其中,I表示信息被攻擊者成功竊取所需的最小信息量。
隨著服務功能鏈中虛擬機數量的增多,部分虛擬機的CPU資源和隱私信息承載量較大,遷移需要達到較高頻率才能有效抵御信息竊取攻擊。但是,對所有虛擬機不斷遷移會帶來開銷過大和算法收斂時間過長的問題,這不僅增大了網絡資源消耗,同時遷移失敗概率和遷移安全風險也會加大。在移動通信網絡中,需要對用戶隱私進行保護,但同時應該保證移動通信網絡的高可靠性要求。本文考慮遷移本身的安全風險,提出一種基于冗余跳變的虛擬機遷移方法。在現有遷移方法的基礎上,以承載隱私信息量和虛擬機CPU資源大小作為評判標準,將虛擬機可能泄露信息的速率進行排序,根據用戶需求按等級分類處理,從而縮短虛擬機遷移算法的收斂時間并降低遷移開銷。
以承載隱私信息量和虛擬機CPU資源大小作為評判標準,將虛擬機可能泄露信息的速率進行排序并根據用戶需求按等級分類處理。將虛擬機隱私信息泄露速率定義為:
D=kIC
(2)
其中,k為常數,I為虛擬機承載的隱私信息量,C為虛擬機調用的CPU資源。根據D的大小對不同虛擬機采用不同的遷移頻率,虛擬機的遷移周期為:
(3)
對于共享物理基礎設施資源的虛擬機,為避免用戶隱私信息泄露,在達到限制的共存時間后即進行遷移,參數D越大,遷移的周期越短,遷移頻率也越高,網絡中可能存在一部分虛擬機的參數D過大,需要遷移的周期很短,但遷移頻率過高會給網絡帶來較高的安全風險。對于這部分虛擬機,如圖3中的b節點,本文在映射階段先將其冗余備份為節點b′,在網絡部署完成后,相同功能的節點以遷移周期T進行交替跳變工作,既避免了因共存時間過長引起的隱私泄露問題,也解決了虛擬機頻繁遷移帶來的開銷和風險。在圖3中,箭頭上的數字表示鏈路帶寬資源值。

圖3 節點冗余備份示例
本節基于上述服務功能鏈部署網絡模型,對虛擬機設計具體的映射約束條件和映射目標約束,對虛擬機遷移設置具體的遷移條件和遷移目標約束,并提出可在計算機上實現的虛擬機映射算法。
2.1.1 備份映射模型
虛擬機映射即將服務功能鏈部署到物理底層網絡以提供網絡服務的過程,此過程需要考慮3個因素:采用冗余跳變工作方式的虛擬機的冗余備份,映射過程需滿足底層物理節點和鏈路資源約束,映射的目標函數。變量說明如下:


約束條件如下:
1)虛擬節點映射約束:
(4)
(5)
(6)
式(4)表示SFC中一個虛擬節點只能被映射至一個物理節點;式(5)表示一個SFC中的不同虛擬節點不能被映射至一個物理節點;式(6)表示一個物理節點上承載的所有虛擬節點的CPU資源需求之和不能大于該物理節點的CPU資源。
2)虛擬鏈路映射約束:
?(u,v)∈Ls
(7)
(8)
(9)

在滿足上述SFC資源請求的條件下,目標函數為映射成本最小,具體如下:
(10)
其中,δt和φB分別表示虛擬機和虛擬鏈路的單位資源映射開銷。SFC映射成本主要有虛擬節點映射的資源開銷和虛擬鏈路映射的物理鏈路帶寬資源開銷兩部分。
2.1.2 備份映射算法
本文基于冗余跳變的虛擬機映射算法描述如下:
算法1基于冗余跳變的虛擬機映射算法

輸出虛擬節點映射方案f:Gv→Gs



5.continue
6.end if

9.end if
10.end for
13.for each(u,v)∈Lsdo

18.end if
19.end for
20.end for
在映射過程中,將隱私信息泄露速率D較大的虛擬節點優先映射到物理資源大的物理節點上,以提高節點的映射成功率,該過程利用貪婪算法實現。為使映射資源開銷最小,在對虛擬鏈路進行映射時本文采用最短路徑算法選擇目標物理鏈路。
2.2.1 虛擬機遷移模型
工作在同一個物理主機上的虛擬機在達到共存時間閾值后需要遷移至另一個物理服務器工作,遷移過程中主要考慮3個因素:虛擬機的共存時間是否超過閾值,遷移過程中底層物理節點和鏈路的資源約束,遷移的目標函數。變量說明如下:



(11)
其中,t=λε,λ∈[1,Γ],ε為最小時間間隔。
在對虛擬機進行遷移時,在虛擬節點之間共存時間約束下,本文以最小化遷移資源開銷作為目標函數。遷移開銷為遷移過程中虛擬節點和虛擬鏈路的遷移開銷總和:
(12)
其中,δ為虛擬節點單位資源遷移開銷,φ為虛擬鏈路單位資源遷移開銷。式(12)的第1項是虛擬節點遷移的資源開銷,第2項是虛擬鏈路遷移的資源開銷。
2.2.2 虛擬機遷移算法
本文基于冗余跳變的虛擬機遷移算法描述如下:
算法2基于冗余跳變的虛擬機遷移算法

輸出虛擬機遷移方案M:Gv1→Gs



5.end if
6.end if

9.將所有滿足遷移條件的物理節點放入集合N中
10.for(i=0;i≤length(N); i++)do
11.if migrate_node(N[i])==true&migrate_links(N[i])==true then//物理節點、物理鏈路是否滿足資源//需求

//遷移到產生最小開銷的物理節點上
13.end if
14.end for
15.end if
16.end for
在對服務功能鏈遷移的過程中,首先遍歷所有已映射的虛擬節點,檢查虛擬機在物理主機已工作時間是否超過該虛擬節點的共存時間約束值T,超過時標記該節點時間共存值為1,否則為0。對所有節點檢查完后,在滿足資源需求的條件下將時間共存值為1的虛擬機遷移至開銷最小的物理節點上。
本文實驗在Inter(R)Core(TM)i7-8750 CPU 2.2 GHz、8 GB RAM的計算機上進行,利用GT-IMT工具生成服務功能鏈和物理網絡拓撲,使用Matlab軟件編程實現服務功能鏈映射算法和遷移算法,最后分析仿真結果。
底層網絡物理主機設為15個,物理鏈路為24條。物理網絡中的節點計算資源(300≤C≤500)、鏈路的帶寬資源(150≤B≤350)為固定值。每條SFC中虛擬節點數目服從[4,6]的整數隨機均勻分布。SFC平均每10個單位時間發送一次映射請求,SFC的生命周期服從參數為40的指數分布。虛擬節點的計算資源需求服從[40,140]區間的均勻分布,帶寬資源需求服從[20,120]區間的均勻分布,遷移節點的平均共存時間閾值設為10個單位時間。
將本文基于冗余跳變的虛擬機遷移方法與文獻[12]提出的一般虛擬機遷移方法作對比,本文方法記為Backup,一般虛擬機遷移方法記為General。由上文可知,本文方法中所有虛擬機與現有一般動態遷移方法中所有虛擬機具有相同的共存時間約束,即與一般動態遷移方法相比,本文方法可取得相同的信息安全防護效果。下文在虛擬機映射和遷移的資源開銷、映射成功率、遷移算法收斂時間和遷移失效率等5個方面進行仿真,并對比分析仿真結果。
1)虛擬機映射資源開銷。如圖4所示,相比一般遷移方法,本文20%冗余跳變的方法(指選取遷移頻率前20%的虛擬節點進行冗余備份)映射平均資源消耗增加了21.81%,10%冗余跳變的方法(指選取遷移頻率前10%的虛擬節點進行冗余備份)映射平均資源消耗增加了10.91%。本文方法對部分頻繁遷移的節點采取冗余跳變的工作方式,且冗余備份節點的映射增加了虛擬機映射資源的開銷。

圖4 服務功能鏈映射開銷對比
2)虛擬機遷移資源開銷。如圖5所示,相比一般遷移方法,本文20%冗余跳變的方法遷移平均資源消耗減少了25.27%,10%冗余跳變的方法遷移平均資源消耗減少了12.63%,原因是進行跳變工作的虛擬節點不需要再尋找物理節點進行遷移,降低了虛擬機遷移開銷。

圖5 服務功能鏈遷移資源開銷
3)映射成功率。圖6顯示了不同遷移方式下服務功能鏈映射成功率隨時間的變化情況。從圖6可以看出,相比一般遷移映射方法,本文10%冗余跳變的方法備份成功率平均降低4.22%,20%冗余跳變的方法平均降低9.73%。由于基于冗余跳變的遷移方法有較多備份節點需要映射,因此映射成功率較低。

圖6 服務功能鏈映射成功率
4)遷移算法收斂時間。圖7所示為一般遷移方法和20%冗余跳變方法的遷移算法收斂時間對比,從圖7可以看出,20%冗余跳變方法的遷移算法收斂時間比一般遷移方法平均減少了24.79%。由于冗余跳變方法部分節點不需要遷移算法進行節點的遷移,因此本文方法可明顯減少遷移算法的收斂時間。在實際網絡中,因為頻繁遷移需要跳變工作的虛擬機占比較小,所以不會對網絡映射資源開銷、遷移資源開銷、映射成功率以及遷移算法收斂時間產生太大影響。

圖7 遷移算法收斂時間
5)遷移成功率。在仿真中設SFC所有節點、30%冗余備份節點、20%冗余備份節點和10%冗余備份節點的平均節點遷移成功率分別為99.9%、98.0%、99.0%、99.5%,其中,遷移失敗包括遷移過程失敗和遷移過程中系統被攻擊成功2種情況。仿真結果如圖8所示,從圖8可以看出,在100個單位時間內,服務功能鏈采用一般遷移方法、10%節點冗余跳變方法、20%節點冗余跳變方法、30%節點冗余跳變方法的遷移成功率分別為65.53%、80.20%、88.68%、93.24%;在200個單位時間內,各方法服務功能鏈遷移成功率分別為42.94%、64.32%、78.64%、86.93%。因此,可得出如下結論:對遷移高風險虛擬機進行跳變工作,遷移失效概率將顯著降低。在實際網絡中,虛擬機遷移失敗風險主要由少部分的高風險虛擬機引發,由實驗結果可知,本文方法可明顯降低網絡中虛擬機遷移失敗的概率。

圖8 服務功能鏈遷移成功率
核心網引入虛擬化技術使得未來電信設備不再使用專用硬件設備,而是通過軟件下發到統一的硬件上實現網絡功能,這種方式能夠提高資源利用率,但虛擬節點共享物理資源也帶來了信息泄露的安全隱患。本文考慮主動防御技術的動態遷移方法中遷移本身存在的安全風險,提出一種基于冗余跳變的虛擬機遷移方法。通過建立虛擬機隱私信息泄露速率計算模型,得到各虛擬機的遷移周期。根據用戶需求和網絡環境選擇不同比例的虛擬機進行冗余備份映射,采取冗余跳變的工作方式解決虛擬機之間共存時間過長帶來的信息泄露問題,剩余虛擬機則在達到共存時間閾值后進行動態遷移。實驗結果表明,該方法雖然增加了映射開銷并降低了映射成功率,但減少了遷移資源開銷和遷移算法收斂時間,并且在滿足SFC服務性能要求的同時顯著降低了網絡中虛擬機遷移失敗的概率。但是,如果頻繁遷移的虛擬機占比較大,本文方法將存在資源開銷較大的問題,因此,下一步將研究一種兼顧資源開銷與網絡安全性的防護方法。