欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

虛擬化環(huán)境中促進的自檢的制作方法

文檔序號:6601408閱讀:174來源:國知局
專利名稱:虛擬化環(huán)境中促進的自檢的制作方法
技術領域
本發(fā)明的實施方式涉及用于對虛擬機的執(zhí)行進行管理的技術。更具體地,本發(fā)明 的實施方式涉及用于促進虛擬機的自檢(introspection)的方法和系統(tǒng)。
背景技術
虛擬化可以用來在單個物理機器上運行多個操作系統(tǒng)實例。例如,虛擬化可以允 許多種類型的操作系統(tǒng)在單個服務器上的虛擬機內(nèi)運行,并且共享服務器的物理資源。因 此,計算系統(tǒng)中的虛擬化提供了多個優(yōu)點,諸如改善的資源利用、成本的降低、服務器整合 和/或避繞互操作性約束。然而,虛擬化環(huán)境可能受制于與本機環(huán)境相同的安全性和完整性風險。具體地,物 理機器內(nèi)的每個虛擬機可能易受來自各種源的入侵和攻擊。而且,在單個計算系統(tǒng)上執(zhí)行 多種類型的操作系統(tǒng)可能由于需要安全性測量考慮該計算系統(tǒng)上的每類操作系統(tǒng)的安全 隱患,而使計算系統(tǒng)的安全性測量的實現(xiàn)復雜化。因此,對單個物理機器中的虛擬機的攻擊 可能難以檢測、分析和/或管理。因此,需要一種促進對虛擬機上的攻擊和漏洞利用進行檢測、分析和管理的機制。

發(fā)明內(nèi)容
某些實施方式提供了一種管理虛擬化環(huán)境中的軟件組件的執(zhí)行的系統(tǒng)。在操作期 間,該系統(tǒng)從虛擬化環(huán)境的外部位置監(jiān)測軟件組件的執(zhí)行。接下來,該系統(tǒng)通過將監(jiān)測到的 執(zhí)行與軟件組件的預期操作進行比較,來評估軟件組件的完整性,其中預期操作基于軟件 組件的源代碼而確定。最后,該系統(tǒng)使用所評估的軟件組件的完整性,來促進軟件組件的執(zhí) 行。在某些實施方式中,該系統(tǒng)還附加地從外部位置監(jiān)測與軟件組件的等同軟件組件 的執(zhí)行,并且通過將軟件組件的監(jiān)測到的執(zhí)行與等同軟件組件的附加監(jiān)測到的執(zhí)行進行比 較,來進一步評估軟件組件的完整性。在某些實施方式中,促進軟件組件的執(zhí)行包括以下至少一個驗證軟件組件的執(zhí) 行,調(diào)試軟件組件,以及對軟件組件的漏洞利用做出響應。在某些實施方式中,評估軟件組件的完整性包括以下至少一個檢測監(jiān)測到的執(zhí) 行相對于軟件組件的預期操作的偏離,以及確定相對于預期操作的偏離的源。 在某些實施方式中,軟件組件是非開源的。 在某些實施方式中,軟件組件是操作系統(tǒng)和應用的至少一個。
5
在某些實施方式中,通過在虛擬機中執(zhí)行操作系統(tǒng)的管理程序(hypervisor)來 監(jiān)測操作系統(tǒng)的執(zhí)行。在某些實施方式中,通過在虛擬化環(huán)境中執(zhí)行應用的內(nèi)核來監(jiān)測應用的執(zhí)行。


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