以函數(shù)為目標(biāo)的虛擬機(jī)切換的制作方法
【專利說(shuō)明】
【背景技術(shù)】
[0001 ] 除非在本文中另外表明,否則本部分中所述的材料對(duì)于本申請(qǐng)中的權(quán)利要求來(lái)說(shuō)不是現(xiàn)有技術(shù)并且不由于包括在本部分中而被承認(rèn)是現(xiàn)有技術(shù)。
[0002]移至“基礎(chǔ)設(shè)施即服務(wù)”云計(jì)算平臺(tái)帶來(lái)了實(shí)現(xiàn)規(guī)模經(jīng)濟(jì)的靈活計(jì)算。云計(jì)算還隨其帶來(lái)了新的安全挑戰(zhàn)。為了更好地使用資源,云計(jì)算提供商可在單個(gè)物理機(jī)器上復(fù)用來(lái)自不同客戶端的幾個(gè)虛擬機(jī)。這可能造成來(lái)自惡意客戶端的邊信道攻擊的危險(xiǎn)。具體地說(shuō),邊信道時(shí)序攻擊使用計(jì)時(shí)器從共同駐留的處理的處理時(shí)間搜集信息一一例如,使用用于密鑰散列化的占用時(shí)間確定該密鑰的性質(zhì)。這樣的攻擊可能從廣泛使用的加密標(biāo)準(zhǔn)盜取密鑰。時(shí)序還可提供關(guān)于按鍵時(shí)序的信息以提取密碼以及對(duì)用戶進(jìn)行計(jì)數(shù),等等。時(shí)序可進(jìn)一步用于檢測(cè)與目標(biāo)的共置,三個(gè)步驟之一是執(zhí)行數(shù)據(jù)中心攻擊。這可通過(guò)觀察與各種高速緩存或分支硬件相關(guān)聯(lián)的時(shí)序以檢測(cè)簽名計(jì)算模式和時(shí)序來(lái)進(jìn)行。
[0003]隨著云計(jì)算平臺(tái)變得越來(lái)越普遍,新的安全挑戰(zhàn)出現(xiàn)。許多云計(jì)算提供商在單個(gè)物理機(jī)器上復(fù)用來(lái)自不同客戶端的幾個(gè)虛擬機(jī),以利用現(xiàn)代處理器、存儲(chǔ)器和硬件架構(gòu)的能力。然而,這樣的資源共享可能便利了邊信道攻擊,在邊信道攻擊中,在共享的硬件上操作的惡意處理收集關(guān)于其它的共同駐留的處理的信息。
[0004]概述
[0005]本公開(kāi)一般地描述用于以函數(shù)為目標(biāo)的虛擬機(jī)切換的技術(shù)。
[0006]根據(jù)一些示例,提供一種用于數(shù)據(jù)中心中的以函數(shù)為目標(biāo)的虛擬機(jī)切換的方法。該方法可包括:選擇被配置為在第一虛擬機(jī)上執(zhí)行的至少一個(gè)函數(shù);調(diào)整與所述至少一個(gè)函數(shù)相關(guān)聯(lián)的虛擬機(jī)切換概率;并且當(dāng)所述至少一個(gè)函數(shù)在第一虛擬機(jī)上執(zhí)行時(shí),基于所調(diào)整的虛擬機(jī)切換概率從第一虛擬機(jī)切換到第二虛擬機(jī)。
[0007]根據(jù)其它示例,提供一種用于數(shù)據(jù)中心中的以函數(shù)為目標(biāo)的虛擬機(jī)切換的虛擬機(jī)管理器。該虛擬機(jī)管理器可包括概要分析模塊和處理模塊,概要分析模塊被配置為對(duì)在第一虛擬機(jī)上執(zhí)行的處理進(jìn)行概要分析。處理模塊可被配置為:選擇所述處理中所包括的至少一個(gè)函數(shù);調(diào)整與所述至少一個(gè)函數(shù)相關(guān)聯(lián)的虛擬機(jī)切換概率;并且當(dāng)所述至少一個(gè)函數(shù)在第一虛擬機(jī)上執(zhí)行時(shí),基于所調(diào)整的虛擬機(jī)切換概率從第一虛擬機(jī)切換到第二虛擬機(jī)。
[0008]根據(jù)另外的示例,提供一種利用以函數(shù)為目標(biāo)的虛擬機(jī)切換的基于云的數(shù)據(jù)中心。該數(shù)據(jù)中心可包括多個(gè)虛擬機(jī)和數(shù)據(jù)中心控制器,所述多個(gè)虛擬機(jī)可操作為在一個(gè)或多個(gè)物理機(jī)器上執(zhí)行。數(shù)據(jù)中心控制器可被配置為:選擇所述多個(gè)虛擬機(jī)中的第一虛擬機(jī)上所包括的至少一個(gè)函數(shù);調(diào)整與所述至少一個(gè)函數(shù)相關(guān)聯(lián)的虛擬機(jī)切換概率;并且當(dāng)所述至少一個(gè)函數(shù)在第一虛擬機(jī)上執(zhí)行時(shí),基于所調(diào)整的虛擬機(jī)切換概率從第一虛擬機(jī)切換到第二虛擬機(jī)。
[0009]根據(jù)還有的另外的示例,一種計(jì)算機(jī)可讀介質(zhì)可存儲(chǔ)用于數(shù)據(jù)中心中的以函數(shù)為目標(biāo)的虛擬機(jī)切換的指令。所述指令可包括:選擇被實(shí)現(xiàn)為在第一虛擬機(jī)上執(zhí)行的至少一個(gè)函數(shù);調(diào)整與所述至少一個(gè)函數(shù)相關(guān)聯(lián)的虛擬機(jī)切換概率;并且當(dāng)所述至少一個(gè)函數(shù)在第一虛擬機(jī)上執(zhí)行時(shí),基于所調(diào)整的虛擬機(jī)切換概率從第一虛擬機(jī)切換到第二虛擬機(jī)。
[0010]前述概要僅僅是說(shuō)明性的,而并不意圖以任何方式是限制性的。除了說(shuō)明性的方面,上述實(shí)施例和特征、另外的方面、實(shí)施例和特征將通過(guò)參考附圖和下面的詳細(xì)描述而變得顯而易見(jiàn)。
【附圖說(shuō)明】
[0011]通過(guò)結(jié)合附圖進(jìn)行的以下描述和所附權(quán)利要求,本公開(kāi)的前述和其它特征將變得更充分地顯而易見(jiàn)。理解,這些附圖僅僅描繪了根據(jù)本公開(kāi)布置的幾個(gè)實(shí)施例,因此,不應(yīng)被認(rèn)為是限制其范圍,將通過(guò)使用附圖來(lái)更具體地、更詳細(xì)地描述本公開(kāi),在附圖中:
[0012]圖1說(shuō)明其中可實(shí)現(xiàn)以函數(shù)為目標(biāo)的虛擬機(jī)切換的示例的基于數(shù)據(jù)中心的系統(tǒng);
[0013]圖2說(shuō)明其中圖1的數(shù)據(jù)中心硬件可執(zhí)行多個(gè)虛擬機(jī)的示例系統(tǒng);
[0014]圖3說(shuō)明具有其中邊信道攻擊可能發(fā)生的多個(gè)虛擬機(jī)的示例系統(tǒng)的操作;
[0015]圖4說(shuō)明用于實(shí)現(xiàn)以函數(shù)為目標(biāo)的虛擬機(jī)切換的示例處理;
[0016]圖5說(shuō)明可用于以函數(shù)為目標(biāo)的虛擬機(jī)切換的通用計(jì)算裝置;
[0017]圖6是說(shuō)明可由諸如圖5中的計(jì)算裝置的計(jì)算裝置執(zhí)行的用于以函數(shù)為目標(biāo)的虛擬機(jī)切換的示例方法的流程圖;以及
[0018]圖7說(shuō)明示例計(jì)算機(jī)程序產(chǎn)品的框圖,
[0019]所有附圖都是依照本文所述的至少一些實(shí)施例來(lái)安排的。
【具體實(shí)施方式】
[0020]在以下詳細(xì)描述中,對(duì)附圖進(jìn)行參考,所述附圖形成詳細(xì)描述的一部分。除非上下文另外指示,否則在附圖中,相似的符號(hào)通常標(biāo)識(shí)相似的部件。在詳細(xì)描述、附圖和權(quán)利要求中描述的說(shuō)明性實(shí)施例并不意味著是限制性的。在不脫離本文所提供的主題的精神或范圍的情況下,可以利用其它實(shí)施例,以及可以進(jìn)行其它改變。將易于理解的是,如在本文中一般地描述的和在圖中示出的那樣,本公開(kāi)的各方面可以以廣泛多樣的不同配置被布置、替代、組合、分割和設(shè)計(jì),所有這些在本文中都被明確地構(gòu)想。
[0021 ] 本公開(kāi)尤其是針對(duì)與以函數(shù)為目標(biāo)的虛擬機(jī)切換相關(guān)的方法、設(shè)備、系統(tǒng)、裝置和/或計(jì)算機(jī)程序產(chǎn)品進(jìn)行一般性的描寫(xiě)的。
[0022]簡(jiǎn)要地說(shuō),一般地描述了用于以函數(shù)為目標(biāo)的虛擬機(jī)切換的技術(shù)。在一些示例中,虛擬機(jī)(VM)上的函數(shù)使用時(shí)間可由虛擬機(jī)管理器(VMM)進(jìn)行概要分析,并且被用來(lái)管理VM切換以便在特定目標(biāo)函數(shù)期間優(yōu)先切換VM。目標(biāo)函數(shù)和/或VM切換優(yōu)先級(jí)可隨時(shí)間調(diào)整,以便提供切換不可預(yù)測(cè)性,例如,以通過(guò)如果邊信道攻擊者想要檢測(cè)或攻擊,則迫使他們?cè)陂L(zhǎng)得多的時(shí)間段(例如,數(shù)周或數(shù)月)收集數(shù)據(jù)來(lái)挫敗這些攻擊者。
[0023]圖1說(shuō)明根據(jù)本文中所述的至少一些實(shí)施例布置的、其中可實(shí)現(xiàn)以函數(shù)為目標(biāo)的虛擬機(jī)切換的示例的基于數(shù)據(jù)中心的系統(tǒng)。
[0024]如示圖100中所示,物理數(shù)據(jù)中心102可包括一個(gè)或多個(gè)物理服務(wù)器110、111和113,其中每個(gè)物理服務(wù)器均可被配置為提供一個(gè)或多個(gè)虛擬機(jī)104。例如,物理服務(wù)器111和113可被配置為分別提供四個(gè)虛擬機(jī)和兩個(gè)虛擬機(jī)。在一些實(shí)施例中,一個(gè)或多個(gè)虛擬機(jī)可組合到一個(gè)或多個(gè)虛擬數(shù)據(jù)中心中。例如,由服務(wù)器111提供的四個(gè)虛擬機(jī)可組合到虛擬數(shù)據(jù)中心112中。虛擬機(jī)104和/或虛擬數(shù)據(jù)中心112可被配置為經(jīng)由云106將云相關(guān)的數(shù)據(jù)/計(jì)算服務(wù)(諸如各種應(yīng)用程序、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理)或可比的數(shù)據(jù)/計(jì)算服務(wù)提供給一組客戶108 (諸如單個(gè)的用戶或企業(yè)客戶)。
[0025]圖2說(shuō)明根據(jù)本文中所述的至少一些實(shí)施例布置的、其中同一數(shù)據(jù)中心硬件可執(zhí)行多個(gè)虛擬機(jī)的示例系統(tǒng)。
[0026]如示圖200中所示,多個(gè)虛擬機(jī)204、206、208和210可在單個(gè)物理服務(wù)器202 (類似于圖1中的物理服務(wù)器111)上操作。虛擬機(jī)204、206、208和210中的每個(gè)均可被配置為執(zhí)行一個(gè)或多個(gè)處理。例如,處理212可在虛擬機(jī)204上執(zhí)行,處理214可在虛擬機(jī)206上執(zhí)行,處理216可在虛擬機(jī)208上執(zhí)行,處理218可在虛擬機(jī)210上執(zhí)行。在一些實(shí)施例中,處理212、214、216和218中的每個(gè)均可包括一個(gè)或多個(gè)函數(shù),并且處理的執(zhí)行可涉及該處理中所包括的函數(shù)的順序執(zhí)行。在一些實(shí)施例中,物理服務(wù)器202可被配置為通過(guò)在虛擬機(jī)之間迅速地切換其硬件來(lái)執(zhí)行多個(gè)虛擬機(jī)。例如,物理服務(wù)器202可一次執(zhí)行虛擬機(jī)204 (并且執(zhí)行其相關(guān)聯(lián)的處理212),然后迅速地切換到另一虛擬機(jī),并執(zhí)行其相關(guān)聯(lián)的處理。這樣,物理服務(wù)器202的硬件可在不同的虛擬機(jī)(和相關(guān)聯(lián)的處理)之間共享。在一些實(shí)施例中,虛擬機(jī)管理器(VMM)可負(fù)責(zé)精確地實(shí)現(xiàn)虛擬機(jī)如何被切換。
[0027]當(dāng)其中每個(gè)均執(zhí)行處理或函數(shù)的多個(gè)虛擬機(jī)在同一物理硬件(例如,物理服務(wù)器202)上操作時(shí),攻擊者可能能夠?qū)λ鶊?zhí)行的處理/函數(shù)中的一個(gè)或多個(gè)執(zhí)行邊信道攻擊。例如,攻擊者可提供被配置為在物理服務(wù)器202上操作的虛擬機(jī)之一上執(zhí)行的處理(例如,處理218)。因?yàn)槎鄠€(gè)虛擬機(jī)(和處理)在同一硬件上操作,所以攻擊者可能能夠使用該處理來(lái)觀察與其它虛擬機(jī)和處理的執(zhí)行相關(guān)聯(lián)的物理參數(shù)。例如,攻擊者可使用處理218來(lái)觀察與虛擬機(jī)204、206和208和/或處理212、214和216的執(zhí)行相關(guān)聯(lián)的參數(shù)。例如,可觀察的物理參數(shù)可包括與物理服務(wù)器202中的高速緩存輸入/輸出和其它共享資源/硬件相關(guān)聯(lián)的時(shí)序。
[0028]圖3說(shuō)明根據(jù)本文中所述的至少一些實(shí)施例布置的、具有其中邊信道攻擊可發(fā)生的多個(gè)虛擬機(jī)的示例系統(tǒng)的操作。
[0029]如示圖300中所示,虛擬機(jī)302和虛擬機(jī)320可被配置為在同一物理硬件(例如,圖2中的物理服務(wù)器202)上執(zhí)行。虛擬機(jī)302可執(zhí)行具有函數(shù)304、306、308和310的處理,而虛擬機(jī)320可執(zhí)行具有函數(shù)322和324的處理。該物理硬件可被配置為在虛擬機(jī)302和虛擬機(jī)320之間切換。例如,時(shí)序圖350可描繪預(yù)計(jì)供特定時(shí)間執(zhí)行的特定函數(shù)。在時(shí)間352,該硬件可執(zhí)行函數(shù)304 (在虛擬機(jī)302上)。隨后,在時(shí)間354,函數(shù)304的執(zhí)行可結(jié)束,并且該硬件可執(zhí)行函數(shù)306 (在同一虛擬機(jī)302上)。
[0030]在接著的時(shí)