專利名稱:虛擬化環(huán)境中促進(jìn)的自檢的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施方式涉及用于對(duì)虛擬機(jī)的執(zhí)行進(jìn)行管理的技術(shù)。更具體地,本發(fā)明 的實(shí)施方式涉及用于促進(jìn)虛擬機(jī)的自檢(introspection)的方法和系統(tǒng)。
背景技術(shù):
虛擬化可以用來(lái)在單個(gè)物理機(jī)器上運(yùn)行多個(gè)操作系統(tǒng)實(shí)例。例如,虛擬化可以允 許多種類型的操作系統(tǒng)在單個(gè)服務(wù)器上的虛擬機(jī)內(nèi)運(yùn)行,并且共享服務(wù)器的物理資源。因 此,計(jì)算系統(tǒng)中的虛擬化提供了多個(gè)優(yōu)點(diǎn),諸如改善的資源利用、成本的降低、服務(wù)器整合 和/或避繞互操作性約束。然而,虛擬化環(huán)境可能受制于與本機(jī)環(huán)境相同的安全性和完整性風(fēng)險(xiǎn)。具體地,物 理機(jī)器內(nèi)的每個(gè)虛擬機(jī)可能易受來(lái)自各種源的入侵和攻擊。而且,在單個(gè)計(jì)算系統(tǒng)上執(zhí)行 多種類型的操作系統(tǒng)可能由于需要安全性測(cè)量考慮該計(jì)算系統(tǒng)上的每類操作系統(tǒng)的安全 隱患,而使計(jì)算系統(tǒng)的安全性測(cè)量的實(shí)現(xiàn)復(fù)雜化。因此,對(duì)單個(gè)物理機(jī)器中的虛擬機(jī)的攻擊 可能難以檢測(cè)、分析和/或管理。因此,需要一種促進(jìn)對(duì)虛擬機(jī)上的攻擊和漏洞利用進(jìn)行檢測(cè)、分析和管理的機(jī)制。
發(fā)明內(nèi)容
某些實(shí)施方式提供了一種管理虛擬化環(huán)境中的軟件組件的執(zhí)行的系統(tǒng)。在操作期 間,該系統(tǒng)從虛擬化環(huán)境的外部位置監(jiān)測(cè)軟件組件的執(zhí)行。接下來(lái),該系統(tǒng)通過(guò)將監(jiān)測(cè)到的 執(zhí)行與軟件組件的預(yù)期操作進(jìn)行比較,來(lái)評(píng)估軟件組件的完整性,其中預(yù)期操作基于軟件 組件的源代碼而確定。最后,該系統(tǒng)使用所評(píng)估的軟件組件的完整性,來(lái)促進(jìn)軟件組件的執(zhí) 行。在某些實(shí)施方式中,該系統(tǒng)還附加地從外部位置監(jiān)測(cè)與軟件組件的等同軟件組件 的執(zhí)行,并且通過(guò)將軟件組件的監(jiān)測(cè)到的執(zhí)行與等同軟件組件的附加監(jiān)測(cè)到的執(zhí)行進(jìn)行比 較,來(lái)進(jìn)一步評(píng)估軟件組件的完整性。在某些實(shí)施方式中,促進(jìn)軟件組件的執(zhí)行包括以下至少一個(gè)驗(yàn)證軟件組件的執(zhí) 行,調(diào)試軟件組件,以及對(duì)軟件組件的漏洞利用做出響應(yīng)。在某些實(shí)施方式中,評(píng)估軟件組件的完整性包括以下至少一個(gè)檢測(cè)監(jiān)測(cè)到的執(zhí) 行相對(duì)于軟件組件的預(yù)期操作的偏離,以及確定相對(duì)于預(yù)期操作的偏離的源。 在某些實(shí)施方式中,軟件組件是非開(kāi)源的。 在某些實(shí)施方式中,軟件組件是操作系統(tǒng)和應(yīng)用的至少一個(gè)。
5
在某些實(shí)施方式中,通過(guò)在虛擬機(jī)中執(zhí)行操作系統(tǒng)的管理程序(hypervisor)來(lái) 監(jiān)測(cè)操作系統(tǒng)的執(zhí)行。在某些實(shí)施方式中,通過(guò)在虛擬化環(huán)境中執(zhí)行應(yīng)用的內(nèi)核來(lái)監(jiān)測(cè)應(yīng)用的執(zhí)行。
圖1A示出了按照一個(gè)實(shí)施方式的計(jì)算系統(tǒng)。圖1B示出了按照一個(gè)實(shí)施方式的計(jì)算系統(tǒng)。圖2示出了說(shuō)明按照一個(gè)實(shí)施方式在虛擬化環(huán)境中管理軟件組件執(zhí)行的過(guò)程的 流程圖。
具體實(shí)施例方式給出下文描述以使本領(lǐng)域的任何技術(shù)人員能夠?qū)崿F(xiàn)和使用實(shí)施方式,并且下文描 述是在特定應(yīng)用及其需求的上下文中提供的。對(duì)所公開(kāi)實(shí)施方式的各種修改對(duì)于本領(lǐng)域技 術(shù)人員而言將是易見(jiàn)的,并且在此定義的一般性原理可以應(yīng)用于其他實(shí)施方式和應(yīng)用,而 不脫離本公開(kāi)的精神和范圍。由此,本發(fā)明不限于示出的實(shí)施方式,而是按照符合與在此公 開(kāi)的原理和特征的最寬泛范圍。本詳細(xì)描述中所描述的數(shù)據(jù)結(jié)構(gòu)和代碼通常存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上,該介 質(zhì)可以是能夠存儲(chǔ)供計(jì)算機(jī)系統(tǒng)使用的代碼和/或數(shù)據(jù)的任何設(shè)備或者介質(zhì)。計(jì)算機(jī)可讀 存儲(chǔ)介質(zhì)包括但不限于易失性存儲(chǔ)器;非易失性存儲(chǔ)器;磁性和光學(xué)存儲(chǔ)設(shè)備,諸如盤驅(qū) 動(dòng)、磁帶、CD (壓縮盤)、DVD(數(shù)字通用盤或者數(shù)字視頻盤);或者能夠存儲(chǔ)計(jì)算機(jī)可讀介質(zhì) 的現(xiàn)在已知或者今后開(kāi)發(fā)的其他介質(zhì)。在詳細(xì)描述部分中描述的方法和過(guò)程可以具體化為代碼和/或數(shù)據(jù),其可以存儲(chǔ) 在如上所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。當(dāng)計(jì)算機(jī)系統(tǒng)讀取和執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì)上的代碼和/或數(shù)據(jù)時(shí),該計(jì)算機(jī)系統(tǒng)執(zhí)行具體化為數(shù)據(jù)和結(jié)構(gòu)、并且被存儲(chǔ)在計(jì)算機(jī) 可讀存儲(chǔ)介質(zhì)中的方法和過(guò)程。此外,下面描述的方法和過(guò)程可以包括在硬件模塊中。例如,硬件模塊可以包括但 不限于專用集成電路(ASIC)芯片、現(xiàn)場(chǎng)可編程門陣列(FPGA)以及現(xiàn)在已知或今后開(kāi)發(fā)的 其他可編程邏輯器件。當(dāng)硬件模塊被激活時(shí),硬件模塊執(zhí)行包括在該硬件模塊中的方法和 過(guò)程。實(shí)施方式提供了一種用于在虛擬化環(huán)境中對(duì)軟件組件的執(zhí)行進(jìn)行管理的方法和 系統(tǒng)。軟件組件可以對(duì)應(yīng)于在計(jì)算系統(tǒng)上執(zhí)行的應(yīng)用、操作系統(tǒng)和/或驅(qū)動(dòng)。而且,可以通 過(guò)計(jì)算系統(tǒng)上的管理程序和/或操作系統(tǒng)內(nèi)核來(lái)管理虛擬化環(huán)境。例如,虛擬化環(huán)境可以 對(duì)應(yīng)于通過(guò)計(jì)算系統(tǒng)上的管理程序所提供的服務(wù)在操作系統(tǒng)上運(yùn)行的虛擬機(jī)。備選地,虛 擬化環(huán)境可以對(duì)應(yīng)于通過(guò)計(jì)算系統(tǒng)上的操作系統(tǒng)內(nèi)核來(lái)執(zhí)行的應(yīng)用的運(yùn)行時(shí)環(huán)境。更具體地,實(shí)施方式提供了一種用于促進(jìn)在虛擬化環(huán)境中執(zhí)行的軟件組件的自檢 的方法和系統(tǒng)??梢酝ㄟ^(guò)虛擬化環(huán)境的外部位置處的自檢模塊來(lái)監(jiān)測(cè)軟件組件的執(zhí)行。該 自檢模塊可以周期性地、隨機(jī)地和/或在檢測(cè)到與軟件組件相關(guān)聯(lián)的事件時(shí)監(jiān)測(cè)軟件組 件。自檢模塊還可以通過(guò)將軟件組件的監(jiān)測(cè)到的執(zhí)行與該軟件組件的預(yù)期操作和/或等同 軟件組件的監(jiān)測(cè)到的執(zhí)行進(jìn)行比較,來(lái)評(píng)估該軟件組件的完整性。
在一個(gè)或多個(gè)實(shí)施方式中,軟件組件的預(yù)期操作是基于該軟件組件的源代碼來(lái)確 定的。因此,由于自檢模塊包括理解從軟件組件觀測(cè)到的低層信息的功能性,這些低層信 息諸如存儲(chǔ)器頁(yè)面、網(wǎng)絡(luò)分組、系統(tǒng)調(diào)用、變量的域范圍、代碼模塊、數(shù)據(jù)結(jié)構(gòu)、硬件事件和/ 或輸入/輸出(I/O)事件,所以自檢模塊可以克服由虛擬化環(huán)境帶來(lái)的語(yǔ)義差異。在一個(gè)或多個(gè)實(shí)施方式中,評(píng)估軟件組件的完整性包括檢測(cè)監(jiān)測(cè)到的執(zhí)行相對(duì) 于軟件組件的預(yù)期操作的偏離,和/或確定相對(duì)于預(yù)期操作的偏離的源(例如,漏洞利用、 缺陷(bug)、錯(cuò)誤等)。繼而可以使用評(píng)估的軟件組件完整性來(lái)促進(jìn)軟件組件的執(zhí)行。具體 地,可以通過(guò)自檢模塊來(lái)驗(yàn)證和調(diào)試軟件組件的執(zhí)行。此外,自檢模塊可以支持對(duì)軟件組件 的漏洞利用的響應(yīng)。圖1A示出了按照一個(gè)實(shí)施方式的計(jì)算系統(tǒng)102。具體地,圖1A示出了用于對(duì)虛 擬化環(huán)境中的一個(gè)或多個(gè)操作系統(tǒng)(例如,操作系統(tǒng)126-128)的執(zhí)行進(jìn)行管理的計(jì)算系統(tǒng) 102中的配置。該配置包括硬件104,管理程序106,控制域108,一組服務(wù)域110-112,以 及一組訪客域114-116。這些組件中的每一個(gè)都將在下文進(jìn)一步詳述。計(jì)算系統(tǒng)102可以對(duì)應(yīng)于向用戶提供一個(gè)或多個(gè)服務(wù)或功能的電子計(jì)算設(shè)備。例 如,計(jì)算系統(tǒng)102可以作為個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、服務(wù)器和/或工作站來(lái)進(jìn)行操作。此 外,計(jì)算系統(tǒng)102的功能性可以由計(jì)算系統(tǒng)102中諸如處理器、存儲(chǔ)器、輸入/輸出(I/O) 設(shè)備和/或網(wǎng)絡(luò)接口卡等的硬件104組件上的軟件的執(zhí)行來(lái)提供。例如,計(jì)算系統(tǒng)102可 以包括操作系統(tǒng),其協(xié)調(diào)對(duì)計(jì)算系統(tǒng)102上的硬件104和軟件資源的使用;以及一個(gè)或多 個(gè)應(yīng)用,其為用戶執(zhí)行專門化任務(wù)。更具體地,計(jì)算系統(tǒng)102上的軟件(諸如操作系統(tǒng)和應(yīng)用)可以在一個(gè)或多個(gè)虛 擬機(jī)中執(zhí)行。每個(gè)虛擬機(jī)可以對(duì)應(yīng)于用于物理機(jī)器(例如,計(jì)算系統(tǒng)102)的在硬件104上 執(zhí)行的基于軟件的虛擬化環(huán)境。每個(gè)虛擬機(jī)還可以配置用于獨(dú)立于計(jì)算系統(tǒng)102上的其他 虛擬機(jī)來(lái)執(zhí)行各種應(yīng)用、過(guò)程和/或操作系統(tǒng)。換言之,在單組硬件104資源上的多個(gè)虛擬 機(jī)的獨(dú)立執(zhí)行可以提供提高的通用性、資源利用率和/或計(jì)算系統(tǒng)102的安全性。在一個(gè)或多個(gè)實(shí)施方式中,計(jì)算系統(tǒng)102充當(dāng)服務(wù)器,諸如應(yīng)用服務(wù)器、Web服 務(wù)器和/或電子郵件服務(wù)器。因此,計(jì)算系統(tǒng)102可以配置用于處理來(lái)自多個(gè)用戶的傳 入事件和/或向用戶提供種類廣泛的服務(wù)。為了改善基于服務(wù)器的功能性和性能,計(jì)算 系統(tǒng)102可以在虛擬機(jī)中執(zhí)行各種操作系統(tǒng)實(shí)例。例如,計(jì)算系統(tǒng)102可以包括分別 運(yùn)行 Linux、Solaris (Solaris 是 Sun Microsystems 公司的注冊(cè)商標(biāo))和 Microsoft Windows (Microsoft Windows 是微軟公司的注冊(cè)商標(biāo))的三個(gè)虛擬機(jī)。由此,特定于操作 系統(tǒng)的應(yīng)用和/或過(guò)程可以在計(jì)算系統(tǒng)102上包含該操作系統(tǒng)的虛擬機(jī)中運(yùn)行。此外,可 以將對(duì)一個(gè)操作系統(tǒng)的安全性漏洞利用限定于包含該操作系統(tǒng)的虛擬機(jī),并且可以不影響 計(jì)算系統(tǒng)102中其他虛擬機(jī)上的其他操作系統(tǒng)的執(zhí)行。在一個(gè)或多個(gè)實(shí)施方式中,計(jì)算系統(tǒng)102上的虛擬機(jī)作為訪客域(例如,訪客域 114-116)來(lái)執(zhí)行。計(jì)算系統(tǒng)102還可以包括其他域,諸如控制域108和服務(wù)域110-112。每 個(gè)域可以對(duì)應(yīng)于計(jì)算系統(tǒng)102中的軟件、資源和/或標(biāo)識(shí)的區(qū)別于其他域的邏輯分組。例 如,每個(gè)域可以包括操作系統(tǒng)內(nèi)核、內(nèi)核補(bǔ)丁以及針對(duì)內(nèi)核的調(diào)節(jié)參數(shù);一組用戶賬戶和 /或管理員;一組盤;和/或一組網(wǎng)絡(luò)接口和地址。而且,管理程序106可以允許對(duì)計(jì)算系 統(tǒng)102上的域的控制和執(zhí)行。
管理程序106可以對(duì)應(yīng)于計(jì)算系統(tǒng)102上的固件層,其作為針對(duì)域的硬件控制來(lái) 操作。換言之,管理程序106可以通過(guò)控制從每個(gè)域?qū)τ布?04資源的訪問(wèn)以及保持這些 域之間的隔離來(lái)管理域的執(zhí)行。例如,管理程序106可以向給定的域分配計(jì)算系統(tǒng)102上 的處理器、存儲(chǔ)器和/或I/O資源的子集。因此,管理程序106可以支持計(jì)算系統(tǒng)102上的 多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行,其中每個(gè)操作系統(tǒng)都在訪客域中。備選地,管理程序106可以對(duì) 應(yīng)于托管的管理程序,其在計(jì)算系統(tǒng)102上的本機(jī)操作系統(tǒng)中運(yùn)行,并且通過(guò)本機(jī)操作系 統(tǒng)來(lái)獲得用于域的資源。在一個(gè)或多個(gè)實(shí)施方式中,通過(guò)控制域108來(lái)執(zhí)行對(duì)計(jì)算系統(tǒng)102中域的管理。更 具體地,在控制域108中執(zhí)行的域管理器118可以包括通過(guò)管理程序106獲得的、用以創(chuàng)建 和管理域以及為域分配資源的功能性。換言之,域管理器118可以對(duì)應(yīng)于控制域108中的 軟件組件,其向控制域108的用戶外露管理程序106的能力。可以通過(guò)域管理器118向管 理程序106發(fā)送來(lái)自用戶的用于管理域的命令,管理程序106可以通過(guò)與硬件104對(duì)接來(lái) 實(shí)現(xiàn)命令。例如,可以由域管理器118從用戶處獲得域之間的資源分配改變,并且將其發(fā)送 至管理程序106,以便更新與域相關(guān)聯(lián)的硬件104資源分區(qū)。服務(wù)域110-112可以向計(jì)算系統(tǒng)102的其他域提供虛擬設(shè)備服務(wù)122-124。例如, 服務(wù)域110-112可以向其他域提供虛擬化設(shè)備,諸如虛擬交換機(jī)、盤服務(wù)器和/或網(wǎng)絡(luò)接口 卡。其他域可以按照其與物理設(shè)備交互的相同方式來(lái)進(jìn)一步與虛擬化設(shè)備交互。本領(lǐng)域技術(shù)人員將會(huì)理解,操作系統(tǒng)126-128可能包括安全性隱患。盡管對(duì)安全 性隱患的漏洞利用可能僅影響包含該安全性隱患的操作系統(tǒng),但是此類漏洞利用可能禁用 或者不利地影響由受影響的操作系統(tǒng)提供的特性或者服務(wù)。此外,由于操作系統(tǒng)在其中執(zhí) 行的虛擬化環(huán)境(例如,訪客域114-116)與該虛擬化環(huán)境外部的監(jiān)測(cè)機(jī)制之間的語(yǔ)義差 異,可能難以檢測(cè)或者分析該漏洞利用。為了解決與虛擬機(jī)相關(guān)的安全性問(wèn)題,可以使用自檢技術(shù)來(lái)管理虛擬機(jī)在計(jì)算系 統(tǒng)102上的執(zhí)行,該自檢技術(shù)允許檢測(cè)和分析對(duì)虛擬機(jī)的漏洞利用。具體地,可以由控制域 108或者其他域中的自檢模塊120在執(zhí)行期間監(jiān)測(cè)每個(gè)虛擬機(jī)的異常操作。自檢模塊120 可以對(duì)應(yīng)于如下軟件組件,該軟件組件基于虛擬機(jī)的預(yù)期基本操作來(lái)執(zhí)行針對(duì)虛擬機(jī)的完 整性檢查。而且,自檢模塊120可以克服與虛擬機(jī)的語(yǔ)義差異,因?yàn)樵撟詸z模塊是基于該虛 擬機(jī)的源代碼來(lái)操作的。具體地,自檢模塊120可以在對(duì)應(yīng)的操作系統(tǒng)126-128的隔離虛擬環(huán)境(例如,訪 客域114-116)的外部位置處執(zhí)行。因此,自檢模塊120可以不受操作系統(tǒng)執(zhí)行中的改變、漏 洞利用和/或錯(cuò)誤的影響。此外,如果對(duì)應(yīng)的操作系統(tǒng)發(fā)生故障或者被禁用,自檢模塊120 可以繼續(xù)執(zhí)行。在一個(gè)或多個(gè)實(shí)施方式中,自檢模塊120通過(guò)將操作系統(tǒng)的監(jiān)測(cè)到的執(zhí)行與操作 系統(tǒng)的預(yù)期操作進(jìn)行比較,來(lái)評(píng)估操作系統(tǒng)的完整性。在一個(gè)或多個(gè)實(shí)施方式中,基于操作 系統(tǒng)的源代碼來(lái)確定每個(gè)操作系統(tǒng)的預(yù)期操作。換言之,操作系統(tǒng)的預(yù)期操作可以對(duì)應(yīng)于 按照該操作系統(tǒng)的設(shè)計(jì)師、架構(gòu)師和/或工程師的意圖的操作系統(tǒng)的基本功能性。因此,自 檢模塊120可以由熟悉自檢模塊120將要監(jiān)測(cè)的操作系統(tǒng)的架構(gòu)和/或預(yù)計(jì)功能性的人員 來(lái)編與。例如,對(duì)于Microsoft Windows操作系統(tǒng)而言,可以由MicrosoftWindows的架構(gòu)師來(lái)編寫一個(gè)或多個(gè)自檢模塊。架構(gòu)師可以熟悉Microsoft Windows的預(yù)計(jì)功能性和/或 行為二者,并且還可以訪問(wèn)Microsoft Windows的源代碼。因此,架構(gòu)師可能能夠?qū)崿F(xiàn)針 對(duì)Microsoft Windows的一組自檢模塊,其從Microsoft Windows實(shí)例的外部準(zhǔn)確地評(píng)估 在計(jì)算系統(tǒng)102中執(zhí)行的一個(gè)或多個(gè)MicrosoftWindows實(shí)例的完整性。此外,在創(chuàng)建針對(duì) Microsoft Windows的自檢模塊時(shí),架構(gòu)師無(wú)需公開(kāi)Microsoft Windows的源代碼。換言 之,架構(gòu)師可以創(chuàng)建用于準(zhǔn)確評(píng)估Microsoft Windows實(shí)例的完整性的自檢模塊,同時(shí)維持 Microsoft Windows的非開(kāi)源特性。在一個(gè)或多個(gè)實(shí)施方式中,監(jiān)測(cè)操作系統(tǒng)的執(zhí)行包括監(jiān)測(cè)低層信息,諸如存儲(chǔ)器 頁(yè)面、網(wǎng)絡(luò)分組、系統(tǒng)調(diào)用、變量的域范圍、代碼模塊、數(shù)據(jù)結(jié)構(gòu)、硬件事件以及輸入/輸 出(I/O)事件。自檢模塊120可以理解從操作系統(tǒng)觀測(cè)到的此類低層、外部觀測(cè)的信息, 因?yàn)樽詸z模塊120是由熟悉操作系統(tǒng)的結(jié)構(gòu)和預(yù)計(jì)操作的人員創(chuàng)建的。由此,自檢模塊 120可以克服操作系統(tǒng)中的低層信息與高層數(shù)據(jù)表示之間的語(yǔ)義差異。而且,由熟悉操作 系統(tǒng)的預(yù)計(jì)功能性的人員來(lái)創(chuàng)建自檢模塊120,這使得即使是在非開(kāi)源操作系統(tǒng)(諸如 Microsoftffindows)中也可以克服語(yǔ)義差異。本領(lǐng)域技術(shù)人員將會(huì)理解,計(jì)算系統(tǒng)102可以包括用于監(jiān)測(cè)一個(gè)或多個(gè)操作系統(tǒng) 的多個(gè)自檢模塊。例如,每個(gè)自檢模塊可以監(jiān)測(cè)對(duì)應(yīng)操作系統(tǒng)的一個(gè)或多個(gè)組件。因此,在 計(jì)算系統(tǒng)102中的訪客域(例如,虛擬機(jī))內(nèi)執(zhí)行的一個(gè)操作系統(tǒng)可以包括多個(gè)自檢模塊, 每個(gè)自檢模塊監(jiān)測(cè)操作系統(tǒng)中執(zhí)行的不同區(qū)域。類似地,操作系統(tǒng)的每個(gè)實(shí)例可以由用于 該操作系統(tǒng)的獨(dú)立自檢模塊組來(lái)監(jiān)測(cè),或者同一自檢模塊組可以用來(lái)并發(fā)地監(jiān)測(cè)在計(jì)算系 統(tǒng)102中執(zhí)行的操作系統(tǒng)的多個(gè)實(shí)例。由此,自檢模塊和操作系統(tǒng)的不同配置可以允許對(duì) 每個(gè)操作系統(tǒng)的周期性監(jiān)測(cè)、隨機(jī)監(jiān)測(cè)和/或基于事件的監(jiān)測(cè)。因?yàn)椴僮飨到y(tǒng)可以在計(jì)算環(huán)境102中的虛擬化環(huán)境中執(zhí)行,因此操作系統(tǒng)可以在 與一組等同虛擬機(jī)相結(jié)合的虛擬機(jī)中執(zhí)行。例如,操作系統(tǒng)126-128可以對(duì)應(yīng)于Microsoft Windows,Solaris和/或Linux的等同實(shí)例。兩個(gè)實(shí)例可以包括計(jì)算系統(tǒng)102上的應(yīng)用、過(guò) 程和/或硬件資源使用的等同配置。因此,可以通過(guò)以下來(lái)檢測(cè)計(jì)算系統(tǒng)102中的一個(gè)操 作系統(tǒng)實(shí)例的操作中的錯(cuò)誤和/或改變,即,附加地監(jiān)測(cè)計(jì)算系統(tǒng)102中的等同操作系統(tǒng)實(shí) 例的執(zhí)行、以及將該一個(gè)操作系統(tǒng)實(shí)例的監(jiān)測(cè)到的執(zhí)行與其他操作系統(tǒng)實(shí)例的執(zhí)行進(jìn)行比 較。例如,計(jì)算系統(tǒng)102可以包括Microsoft Windows的n個(gè)實(shí)例。每個(gè)實(shí)例可以等同地配 置,并且執(zhí)行相同的應(yīng)用和/或過(guò)程。由此,通過(guò)將一個(gè)Microsoft Windows實(shí)例的監(jiān)測(cè)到 的執(zhí)行與其他n-1個(gè)MicrosoftWindows實(shí)例的執(zhí)行進(jìn)行比較,可以檢測(cè)該一個(gè)Microsoft Windows實(shí)例的操作中的錯(cuò)誤和/或改變。換言之,一個(gè)Microsoft Windows實(shí)例的行為相 對(duì)于其他Microsoft Windows實(shí)例的行為的偏離可以指示該Microsoft Windows實(shí)例中的 錯(cuò)誤、故障和/或漏洞利用。在一個(gè)或多個(gè)實(shí)施方式中,評(píng)估軟件組件的完整性包括檢測(cè)監(jiān)測(cè)到的執(zhí)行相對(duì) 于操作系統(tǒng)的預(yù)期操作的偏離,和/或確定相對(duì)于預(yù)期操作的偏離的源。檢測(cè)監(jiān)測(cè)到的執(zhí) 行相對(duì)于預(yù)期操作的偏離可以對(duì)應(yīng)于對(duì)操作系統(tǒng)的監(jiān)測(cè)到的執(zhí)行所確定的操作系統(tǒng)正確 性的一般性分析。例如,存儲(chǔ)器頁(yè)面、系統(tǒng)調(diào)用、變量域范圍和/或從操作系統(tǒng)監(jiān)測(cè)到的其 他信息較之此類信息的預(yù)期表示的改變,可以代表監(jiān)測(cè)到的執(zhí)行相對(duì)于預(yù)期操作的偏離。 另一方面,確定相對(duì)于預(yù)期操作的偏離的源可以涉及對(duì)從操作系統(tǒng)觀測(cè)到的不正確行為的具體分析,以確定該不正確行為的原因。例如,可以分析來(lái)自操作系統(tǒng)的外部觀測(cè)信息的 改變來(lái)得到對(duì)該改變的特定源進(jìn)行揭示的模式和/或趨勢(shì),該改變的特定源諸如引起該改 變的特定漏洞利用、錯(cuò)誤和/或缺陷。最后,可以使用評(píng)估出的操作系統(tǒng)完整性來(lái)促進(jìn)該操作系統(tǒng)的執(zhí)行。具體地,可以 使用評(píng)估出的操作系統(tǒng)完整性來(lái)驗(yàn)證操作系統(tǒng)的執(zhí)行、調(diào)試操作系統(tǒng)和/或?qū)Σ僮飨到y(tǒng)的 漏洞利用做出響應(yīng)。例如,可以使用操作系統(tǒng)的經(jīng)過(guò)檢驗(yàn)的完整性來(lái)驗(yàn)證操作系統(tǒng)的執(zhí)行。 類似地,可以使用操作系統(tǒng)的完整性的失效來(lái)防止該失效擴(kuò)散到其他操作系統(tǒng)、掛起該操 作系統(tǒng)的執(zhí)行和/或恢復(fù)該操作系統(tǒng)的執(zhí)行的完整性。在一個(gè)或多個(gè)實(shí)施方式中,促進(jìn)操作系統(tǒng)的執(zhí)行包括實(shí)現(xiàn)用于操作系統(tǒng)的快照和 損壞包含(damage containment)技術(shù)。這種快照和損壞包含技術(shù)可以允許在受影響的操 作系統(tǒng)中包含和/或修正漏洞利用。在與本申請(qǐng)同日提交的、序列號(hào)和申請(qǐng)日待分配的、名 ^"Virtual Machine Snapshotting and Damage Containment" (SUN09-0136) 的共同未決非臨時(shí)申請(qǐng)中,描述了虛擬機(jī)快照和損壞包含。圖1B示出了按照一個(gè)實(shí)施方式的計(jì)算系統(tǒng)。更具體地,圖1B示出了用于管理一 個(gè)或多個(gè)應(yīng)用(例如,應(yīng)用142-144)在虛擬化運(yùn)行時(shí)環(huán)境(例如,運(yùn)行時(shí)環(huán)境134-136)中 的執(zhí)行的計(jì)算系統(tǒng)102中的配置。該配置包括硬件104、內(nèi)核130、一組自檢模塊138-140 以及運(yùn)行時(shí)環(huán)境134-136。在一個(gè)或多個(gè)實(shí)施方式中,圖1B中計(jì)算系統(tǒng)102的配置用來(lái)促進(jìn)在運(yùn)行時(shí)環(huán)境 134-136中執(zhí)行的應(yīng)用142-144的自檢。每個(gè)應(yīng)用142-144可以對(duì)應(yīng)于電子郵件客戶端、地 址本、文檔編輯器、報(bào)稅應(yīng)用、Web瀏覽器和/或配置用于為計(jì)算系統(tǒng)102的一個(gè)或多個(gè)用 戶執(zhí)行專門任務(wù)的其他軟件組件。為了執(zhí)行用戶的任務(wù),應(yīng)用142-144可以從內(nèi)核130(例 如,操作系統(tǒng)內(nèi)核)獲得對(duì)計(jì)算系統(tǒng)102上的硬件104 (例如,處理器、存儲(chǔ)器、I/O組件、無(wú) 線發(fā)射機(jī)等)的使用。此外,可以由內(nèi)核130來(lái)管理應(yīng)用142-144在計(jì)算系統(tǒng)102上的執(zhí) 行。例如,內(nèi)核130可以包括用于初始化、運(yùn)行和/或終止應(yīng)用142-144的功能性,以及用 于執(zhí)行應(yīng)用142-144的一個(gè)或多個(gè)過(guò)程。如圖1B所示,可以由自檢模塊138-140來(lái)監(jiān)測(cè)應(yīng)用142-144。與圖1A的自檢模 塊120類似,自檢模塊138-140可以用來(lái)評(píng)估計(jì)算系統(tǒng)102中的軟件組件的完整性。更具 體地,自檢模塊138-140可以用來(lái)評(píng)估由內(nèi)核130管理的、在運(yùn)行時(shí)環(huán)境134-136中執(zhí)行 的應(yīng)用142-144的完整性。例如,自檢模塊138可以用來(lái)監(jiān)測(cè)和分析Java (Java 是Sun Microsystems公司的注冊(cè)商標(biāo))應(yīng)用142在計(jì)算系統(tǒng)102上的Java運(yùn)行時(shí)環(huán)境中的執(zhí)行。 另一方面,自檢模塊140可以用來(lái)評(píng)估計(jì)算系統(tǒng)102上的本機(jī)應(yīng)用144的完整性。與針對(duì)操作系統(tǒng)的自檢模塊類似,自檢模塊138-140可以用來(lái)以各種方式監(jiān)測(cè)計(jì) 算系統(tǒng)102中的應(yīng)用。例如,一個(gè)應(yīng)用可以由一個(gè)自檢模塊來(lái)監(jiān)測(cè)。備選地,如果應(yīng)用較大 和/或復(fù)雜,該應(yīng)用可以由一組自檢模塊來(lái)監(jiān)測(cè)和分析。該組自檢模塊還可以用來(lái)監(jiān)測(cè)計(jì) 算系統(tǒng)102中應(yīng)用的等同實(shí)例,或者,應(yīng)用的每個(gè)實(shí)例可以由自檢模塊的獨(dú)立實(shí)例來(lái)監(jiān)測(cè)。與圖1A中的自檢模塊120類似,自檢模塊138-140可以基于應(yīng)用142-144的源代 碼。例如,自檢模塊138可以由應(yīng)用142的工程師和/或架構(gòu)師來(lái)編寫。自檢模塊138還 可以利用應(yīng)用142來(lái)發(fā)布,以允許在執(zhí)行期間針對(duì)攻擊來(lái)測(cè)試、調(diào)試和/或分析應(yīng)用142。 而且,自檢模塊138-140獨(dú)立于應(yīng)用142-144執(zhí)行可以允許自檢模塊138-140保持不包含應(yīng)用142-144中的攻擊和/或缺陷,以及檢測(cè)應(yīng)用142-144中的此類包含。由此,自檢模塊138-140可以用于通過(guò)檢測(cè)應(yīng)用142-144中的漏洞利用和/或支 持對(duì)所檢測(cè)漏洞利用的響應(yīng),來(lái)增強(qiáng)應(yīng)用142-144的安全性。例如,自檢模塊138-140可以 包括用于通過(guò)內(nèi)核130以各種方式來(lái)監(jiān)測(cè)和分析應(yīng)用142-144的功能性,包括觀測(cè)從應(yīng)用 142-144的執(zhí)行獲得的信息(例如,存儲(chǔ)器、系統(tǒng)調(diào)用、變量域范圍、網(wǎng)絡(luò)分組、代碼模塊、數(shù) 據(jù)結(jié)構(gòu)、事件等);掛起應(yīng)用142-144的執(zhí)行;對(duì)應(yīng)用142-144應(yīng)用儀器;和/或修改應(yīng)用 142-144的執(zhí)行。在一個(gè)或多個(gè)實(shí)施方式中,圖1B的自檢模塊138-140可以用來(lái)監(jiān)測(cè)運(yùn)行于不同于 圖1A中自檢模塊120的抽象級(jí)別的軟件組件。圖1A中的計(jì)算系統(tǒng)102可以配置用于在虛 擬化硬件環(huán)境(例如,虛擬機(jī))中執(zhí)行操作系統(tǒng),而圖1B中的計(jì)算系統(tǒng)102可以配置用于 在虛擬化抽象環(huán)境、虛擬化操作系統(tǒng)平臺(tái)、動(dòng)態(tài)語(yǔ)言運(yùn)行時(shí)抽象環(huán)境和/或用于應(yīng)用的其 他虛擬化運(yùn)行時(shí)環(huán)境134-136中來(lái)執(zhí)行應(yīng)用142-144。此外,圖1B的配置可以完全在圖1A的一個(gè)或多個(gè)組件中執(zhí)行。例如,內(nèi)核130、自 檢模塊138-140和/或運(yùn)行時(shí)環(huán)境134-136可以在圖1A的訪客域(例如,訪客域114-116) 中執(zhí)行。由此,在計(jì)算系統(tǒng)102上的硬件能夠支持此類嵌套的程度上,多組應(yīng)用、操作系統(tǒng)、 虛擬機(jī)和/或自檢模塊可以相互嵌套。在管理程序和/或操作系統(tǒng)內(nèi)核所提供的抽象級(jí)別 之外,還可以進(jìn)行對(duì)計(jì)算系統(tǒng)102上的其他軟件組件的自檢。例如,可以通過(guò)與管理程序 106 一起執(zhí)行和/或在管理程序106中執(zhí)行的自檢模塊,來(lái)分析用于計(jì)算系統(tǒng)102的硬件組 件的軟件驅(qū)動(dòng)。換言之,圖1A-圖1B的配置可以促進(jìn)在計(jì)算系統(tǒng)102中的不同平臺(tái)、虛擬 環(huán)境和/或抽象級(jí)別中運(yùn)行的軟件組件的執(zhí)行。圖2示出了說(shuō)明按照一個(gè)實(shí)施方式的管理虛擬化環(huán)境中的軟件組件執(zhí)行的過(guò)程 的流程圖。在一個(gè)或多個(gè)實(shí)施方式中,一個(gè)或多個(gè)步驟可以省略、重復(fù)和/或以不同的順序 執(zhí)行。因此,圖2中所示的特定步驟安排不應(yīng)認(rèn)為是限制本發(fā)明的范圍。最初,從軟件組件的外部位置監(jiān)測(cè)該軟件的執(zhí)行(操作202)。監(jiān)測(cè)可以周期性地 (例如,每幾秒鐘)進(jìn)行、隨機(jī)進(jìn)行和/或在檢測(cè)到與軟件組件相關(guān)聯(lián)的事件(例如,硬件事 件、I/O事件、基于網(wǎng)絡(luò)的事件等)時(shí)進(jìn)行。如上所述,軟件組件可以指在計(jì)算系統(tǒng)中執(zhí)行 的任何軟件組件,諸如操作系統(tǒng)、應(yīng)用和/或驅(qū)動(dòng)。而且,軟件組件可以在虛擬化運(yùn)行時(shí)環(huán) 境中執(zhí)行。例如,軟件組件可以在虛擬機(jī)、動(dòng)態(tài)語(yǔ)言運(yùn)行時(shí)抽象環(huán)境、虛擬化過(guò)程抽象環(huán)境 和/或虛擬操作系統(tǒng)平臺(tái)中執(zhí)行。可選地,還可以監(jiān)測(cè)該軟件組件的等同軟件組件(操作204)。等同軟件組件可以 對(duì)應(yīng)于與該軟件組件等同地安裝、配置和/或執(zhí)行的軟件組件。例如,軟件組件可以對(duì)應(yīng)于 一個(gè)操作系統(tǒng)實(shí)例,該操作系統(tǒng)實(shí)例與在相同物理計(jì)算環(huán)境(例如,圖1A-圖1B的計(jì)算系 統(tǒng)102)中和/或跨多個(gè)計(jì)算系統(tǒng)(例如,在數(shù)據(jù)中心中)分布的多個(gè)其他等同操作系統(tǒng)實(shí) 例一起執(zhí)行。接下來(lái),評(píng)估軟件組件的完整性(操作206)。具體地,可以通過(guò)將軟件組件的監(jiān) 測(cè)到的執(zhí)行與該組件的預(yù)期操作進(jìn)行比較,來(lái)評(píng)估軟件組件的完整性。組件的預(yù)期操作可 以進(jìn)一步基于該軟件組件的源代碼。例如,軟件組件的預(yù)期操作可以由該軟件組件的工程 師、設(shè)計(jì)師和/或架構(gòu)師來(lái)確定。因此,即使軟件組件是非開(kāi)源的,在評(píng)估該軟件組件完整 性時(shí)使用源代碼可以克服從軟件組件外部觀測(cè)到的低層信息與該軟件組件所關(guān)聯(lián)的高層數(shù)據(jù)結(jié)構(gòu)和/或?qū)ο笾g的語(yǔ)義差異。此類低層信息可以包括存儲(chǔ)器頁(yè)面、網(wǎng)絡(luò)分組、系統(tǒng) 調(diào)用、變量的域范圍、代碼模塊、數(shù)據(jù)結(jié)構(gòu)、硬件事件和/或輸入/輸出(I/O)事件。評(píng)估的軟件組件的完整性還可以基于在操作204中附加監(jiān)測(cè)的等同軟件組件的 執(zhí)行。換言之,通過(guò)將軟件組件的監(jiān)測(cè)到的執(zhí)行與附加監(jiān)測(cè)的任何等同軟件組件的執(zhí)行進(jìn) 行比較,可以進(jìn)一步評(píng)估該軟件組件的完整性。軟件組件的執(zhí)行相對(duì)于等同軟件組件的執(zhí) 行的改變可以指示該軟件中存在錯(cuò)誤、故障、缺陷和/或漏洞利用。最后,所評(píng)估的完整性用于促進(jìn)軟件組件的執(zhí)行(操作208)。促進(jìn)軟件組件的執(zhí) 行可以包括出于測(cè)試和/或發(fā)布目的而驗(yàn)證軟件組件的執(zhí)行,調(diào)試軟件組件,和/或?qū)υ?評(píng)估軟件組件完整性中檢測(cè)到的軟件組件的漏洞利用做出響應(yīng)。例如,可以使用所評(píng)估的 軟件組件完整性來(lái)批準(zhǔn)軟件組件的發(fā)布、掛起或者變更軟件組件的執(zhí)行和/或改變軟件組 件的源代碼和/或后續(xù)執(zhí)行。僅僅出于說(shuō)明和描述目的而給出了對(duì)各種實(shí)施方式的上文描述。其并非意在是窮 盡性的或是將本發(fā)明限于所公開(kāi)的形式。因此,多種修改和變形對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō) 將是易見(jiàn)的。而且,上述公開(kāi)并非意在限制本發(fā)明。
權(quán)利要求
一種用于管理虛擬化環(huán)境中的軟件組件的執(zhí)行的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括從所述虛擬化環(huán)境的外部位置監(jiān)測(cè)所述軟件組件的執(zhí)行;通過(guò)將監(jiān)測(cè)到的執(zhí)行與所述軟件組件的預(yù)期操作進(jìn)行比較,來(lái)評(píng)估所述軟件組件的完整性,其中所述預(yù)期操作基于所述軟件組件的源代碼而確定;以及使用所評(píng)估的所述軟件組件的完整性,來(lái)促進(jìn)所述軟件組件的執(zhí)行。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,進(jìn)一步包括從所述外部位置附加地監(jiān)測(cè)所述軟件組件的等同軟件組件的執(zhí)行;以及 通過(guò)對(duì)所述軟件組件的監(jiān)測(cè)到的執(zhí)行與所述等同軟件組件的附加監(jiān)測(cè)到的執(zhí)行進(jìn)行 比較,進(jìn)一步評(píng)估所述軟件組件的完整性。
3.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中促進(jìn)所述軟件組件的執(zhí)行包括以下 至少一個(gè)驗(yàn)證所述軟件組件的執(zhí)行; 調(diào)試所述軟件組件;以及 對(duì)所述軟件組件的漏洞利用做出響應(yīng)。
4.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中評(píng)估所述軟件組件的完整性包括以 下至少一個(gè)檢測(cè)所述監(jiān)測(cè)到的執(zhí)行相對(duì)于所述軟件組件的所述預(yù)期操作的偏離;以及 確定相對(duì)于所述預(yù)期操作的所述偏離的源。
5.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述軟件組件是非開(kāi)源的。
6.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述軟件組件是操作系統(tǒng)和應(yīng)用中 的至少一個(gè)。
7.根據(jù)權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中通過(guò)在虛擬機(jī)中執(zhí)行所述操作系統(tǒng) 的管理程序來(lái)監(jiān)測(cè)所述操作系統(tǒng)的執(zhí)行。
8.根據(jù)權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中通過(guò)在所述虛擬化環(huán)境中執(zhí)行所述 應(yīng)用的內(nèi)核來(lái)監(jiān)測(cè)所述應(yīng)用的執(zhí)行。
9.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中監(jiān)測(cè)所述軟件組件的執(zhí)行包括監(jiān)測(cè) 以下至少一個(gè)存儲(chǔ)器頁(yè)面; 網(wǎng)絡(luò)分組; 系統(tǒng)調(diào)用; 變量的域范圍; 代碼模塊; 數(shù)據(jù)結(jié)構(gòu); 硬件事件;以及 輸入/輸出(I/O)事件。
10.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中周期性地、隨機(jī)地或者在檢測(cè)到與 所述軟件組件相關(guān)聯(lián)的事件時(shí)監(jiān)測(cè)所述軟件組件的執(zhí)行。
11.一種用于管理虛擬機(jī)的執(zhí)行的系統(tǒng),包括管理程序,其配置用于執(zhí)行所述虛擬機(jī)以及所述虛擬機(jī)外部的一個(gè)或多個(gè)自檢模塊,其中所述一個(gè)或多個(gè)自檢模塊配置用于 監(jiān)測(cè)所述虛擬機(jī)的執(zhí)行;以及通過(guò)將監(jiān)測(cè)到的執(zhí)行與所述虛擬機(jī)的預(yù)期操作進(jìn)行比較來(lái)評(píng)估所述虛擬機(jī)的完整性, 其中所述預(yù)期操作基于所述虛擬機(jī)的源代碼而確定。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述管理程序進(jìn)一步配置用于執(zhí)行所述虛擬機(jī)的一組等同虛擬機(jī),以及 其中所述一個(gè)或多個(gè)自檢模塊進(jìn)一步配置用于 附加地監(jiān)測(cè)每個(gè)所述等同虛擬機(jī)的執(zhí)行;以及通過(guò)對(duì)所述虛擬機(jī)的監(jiān)測(cè)到的執(zhí)行與所述等同虛擬機(jī)的附加監(jiān)測(cè)到的執(zhí)行進(jìn)行比較, 進(jìn)一步評(píng)估所述虛擬機(jī)的完整性。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其中通過(guò)以下來(lái)使用所評(píng)估的所述虛擬機(jī)的完整性 促進(jìn)所述虛擬機(jī)的執(zhí)行驗(yàn)證所述虛擬機(jī)的執(zhí)行; 調(diào)試所述虛擬機(jī);以及 對(duì)所述虛擬機(jī)的漏洞利用做出響應(yīng)。
14.根據(jù)權(quán)利要求11所述的系統(tǒng),其中評(píng)估所述虛擬機(jī)的完整性包括以下至少一個(gè) 檢測(cè)所述監(jiān)測(cè)到的執(zhí)行相對(duì)于所述虛擬機(jī)的所述預(yù)期操作的偏離;以及確定相對(duì)于所述預(yù)期操作的所述偏離的源。
15.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述虛擬機(jī)包括非開(kāi)源操作系統(tǒng)。
16.根據(jù)權(quán)利要求11所述的系統(tǒng),其中監(jiān)測(cè)所述虛擬機(jī)的執(zhí)行包括監(jiān)測(cè)以下至少一個(gè)存儲(chǔ)器頁(yè)面; 網(wǎng)絡(luò)分組; 系統(tǒng)調(diào)用; 變量的域范圍; 代碼模塊; 數(shù)據(jù)結(jié)構(gòu); 硬件事件;以及 輸入/輸出(I/O)事件。
17.根據(jù)權(quán)利要求11所述的系統(tǒng),其中周期性地、隨機(jī)地或者在檢測(cè)到與所述虛擬機(jī) 相關(guān)聯(lián)的事件時(shí)監(jiān)測(cè)所述虛擬機(jī)的執(zhí)行。
18.一種用于管理虛擬化環(huán)境中的應(yīng)用的執(zhí)行的系統(tǒng),包括內(nèi)核,其配置用于執(zhí)行所述應(yīng)用以及所述虛擬化環(huán)境外部的一個(gè)或多個(gè)自檢模塊, 其中所述一個(gè)或多個(gè)自檢模塊配置用于 監(jiān)測(cè)所述應(yīng)用的執(zhí)行;以及通過(guò)將監(jiān)測(cè)到的執(zhí)行與所述應(yīng)用的預(yù)期操作進(jìn)行比較來(lái)評(píng)估所述應(yīng)用的完整性,其中 所述預(yù)期操作基于所述應(yīng)用的源代碼而確定,其中評(píng)估的所述應(yīng)用的完整性用來(lái)增強(qiáng)所述應(yīng)用的安全性。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中評(píng)估所述應(yīng)用的完整性包括以下至少一個(gè)檢測(cè)所述監(jiān)測(cè)到的執(zhí)行相對(duì)于所述應(yīng)用的所述預(yù)期操作的偏離;以及 確定相對(duì)于所述預(yù)期操作的所述偏離的源。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中增強(qiáng)所述應(yīng)用的安全性包括對(duì)與所述偏離的 源相對(duì)應(yīng)的漏洞利用做出響應(yīng)。
全文摘要
本發(fā)明涉及虛擬化環(huán)境中促進(jìn)的自檢。一些實(shí)施方式提供了管理虛擬化環(huán)境中的軟件組件執(zhí)行的系統(tǒng)。在操作期間,該系統(tǒng)從虛擬化環(huán)境的外部位置監(jiān)測(cè)軟件組件的執(zhí)行。接下來(lái),該系統(tǒng)通過(guò)將監(jiān)測(cè)到的執(zhí)行與軟件組件的預(yù)期操作進(jìn)行比較,來(lái)評(píng)估軟件組件的完整性,其中所述預(yù)期操作基于該軟件組件的源代碼而確定。最后,該系統(tǒng)使用所評(píng)估的軟件組件的完整性來(lái)促進(jìn)該軟件組件的執(zhí)行。
文檔編號(hào)G06F11/36GK101853175SQ201010158239
公開(kāi)日2010年10月6日 申請(qǐng)日期2010年3月30日 優(yōu)先權(quán)日2009年3月31日
發(fā)明者C·L·舒巴, T·P·瑪斯蘭德 申請(qǐng)人:甲骨文美國(guó)公司