專利名稱:在虛擬環(huán)境中保護系統(tǒng)的設(shè)備和方法
技術(shù)領(lǐng)域:
與本發(fā)明一致的設(shè)備和方法涉及系統(tǒng)保護,更具體地說,涉及在虛擬環(huán) 境中保護系統(tǒng),其中,保護系統(tǒng)資源不受惡意訪問,并且在虛擬環(huán)境中確保 可靠的安全服務(wù)。
背景技術(shù):
通常,諸如個人計算機(PC)、個人數(shù)字助理(PDA)、無線終端和數(shù)字 電視(DTV)的裝置使用虛擬化技術(shù)來增強安全性并實現(xiàn)各種應(yīng)用和服務(wù)。 為了提供安全環(huán)境,虛擬化技術(shù)需要諸如安全引導(dǎo)、安全軟件和訪問控制的 功能。
圖1是相關(guān)虛擬化系統(tǒng)設(shè)備的框圖。參照圖1,相關(guān)虛擬化系統(tǒng)設(shè)備使 用虛擬機監(jiān)控器(VMM) 10來創(chuàng)建虛擬環(huán)境。相關(guān)虛擬化系統(tǒng)設(shè)備包括 域單元20,具有多個域21、22、...;系統(tǒng)資源單元30,具有只讀存儲器(ROM )、 中央處理單元(CPU)、存儲器、電池和輸入/輸出(I/O)裝置。
域單元20的域21、 22、...的每一個包括一個或多個裝置驅(qū)動器21a、 22a、...。另外,域21、 22、...中的至少一個(例如,域21 )包括直接存儲 器訪問(DMA )驅(qū)動器21b。在相關(guān)虛擬化系統(tǒng)設(shè)備中,域單元20處理DMA, 并且對域21、 22、...之間的信道的形成沒有限制。另外,當(dāng)域21、 22、...的 每一個嘗試訪問系統(tǒng)資源單元30時,域單元20或VMM 10執(zhí)行筒單的訪問 控制。
然而,因為域單元20處理DMA,并且VMM 10對系統(tǒng)資源單元30不 執(zhí)行用于防止域單元20的可能惡意訪問的訪問控制,所以上述相關(guān)虛擬化系 統(tǒng)設(shè)備具有安全性問題。更具體地說,域21處理DMA,并且對物理存儲器的訪問不受控制。因 此,如果存在不安全域或者存在包括具有缺陷的裝置驅(qū)動器的域,則所述域 可訪問VMM 10的物理存儲器或者另一域,并且竊取機密數(shù)據(jù)或覆寫空數(shù)據(jù) (dummy data ), 乂人而導(dǎo)致系統(tǒng)故障。
如果特定域過度使用系統(tǒng)存儲器,則可能出現(xiàn)系統(tǒng)故障,這樣,降低了 系統(tǒng)可用性。
能夠在兩個域之間形成的事件信道的數(shù)量受到限制。因此,如果惡意域 使用所有可用事件信道,則在剩余域之間不能形成事件信道。因此,可能出 現(xiàn)系統(tǒng)故障。
發(fā)明內(nèi)容
本發(fā)明的各方面提供一種用于在虛擬環(huán)境中保護系統(tǒng)的設(shè)備和方法,其 中,保護系統(tǒng)資源不受例如惡意軟件的惡意訪問,解決了系統(tǒng)故障,并且在 虛擬環(huán)境中確??煽康陌踩?wù)。
然而,本發(fā)明的各方面不限于在此闡述的一個方面。通過參照下面給出 的本發(fā)明的詳細描述,對于本發(fā)明所屬領(lǐng)域的一個普通技術(shù)人員,本發(fā)明的 上述和其它方面將變得更加明顯。
才艮據(jù)本發(fā)明的一方面,提供一種在虛擬環(huán)境中保護系統(tǒng)的設(shè)備。所述設(shè) 備包括域單元,包括多個域,每個域都具有一個或多個裝置驅(qū)動器;系統(tǒng) 資源單元,形成系統(tǒng)的硬件;直接存儲器訪問(DMA)驅(qū)動器;以及控制單 元,包括控制在虛擬環(huán)境中域單元對系統(tǒng)資源單元的訪問的訪問控制模塊。
根據(jù)本發(fā)明的另一方面,提供一種在虛擬環(huán)境中保護系統(tǒng)的方法。所述 方法包括請求訪問控制模塊將訪問系統(tǒng)資源單元所需的輸入/輸出(I/O)空 間和中斷請求(IRQ)數(shù)量分配給多個域的一個中的裝置驅(qū)動器;確定預(yù)定 訪問策略是否允許執(zhí)行裝置驅(qū)動器的域訪問系統(tǒng)資源單元;以及如果預(yù)定訪 問策略允許所述域訪問系統(tǒng)資源單元,則將請求的I/O空間和IRQ數(shù)量分配 給所述域中的裝置驅(qū)動器,如果預(yù)定訪問策略不允許所述域訪問系統(tǒng)資源單 元,則不將請求的I/O空間和IRQ數(shù)量分配給所述域中的裝置驅(qū)動器。
根據(jù)本發(fā)明的另一方面,提供一種在虛擬環(huán)境中保護系統(tǒng)的方法。所述 方法包括通過使用多個域的一個中的裝置驅(qū)動器請求訪問控制模塊允許通 過DMA驅(qū)動器訪問系統(tǒng)資源單元的存儲器;確定預(yù)定訪問控制策略是否允許執(zhí)行裝置驅(qū)動器的域訪問存儲器;以及如果預(yù)定訪問控制策略允許所述域 訪問存儲器,則允許所述域中的裝置驅(qū)動器訪問存儲器,如果預(yù)定訪問控制 策略不允許所述域訪問存儲器,則不允許所述域中的裝置驅(qū)動器訪問存儲器。 根據(jù)本發(fā)明的另一方面,提供一種在虛擬環(huán)境中保護系統(tǒng)的方法。所述 方法包括使用多個域的一個請求訪問控制模塊分配系統(tǒng)資源;確定所述域 請求的系統(tǒng)資源量是否超過預(yù)定訪問控制策略設(shè)置的允許限額;以及如果所 述域請求的系統(tǒng)資源量小于允許限額,則允許將請求的系統(tǒng)資源分配給所述 域,如果所述域請求的系統(tǒng)資源量超過允許限額,則不允許將請求的系統(tǒng)資 源分配給所述域。
通過參照附圖對本發(fā)明的特定示例性實施例進行的描述,本發(fā)明的上述 和其它方面將會變得更加明顯,其中 圖1是相關(guān)虛擬化系統(tǒng)設(shè)備的框圖2是示出根據(jù)本發(fā)明的示例性實施例的在虛擬環(huán)境中保護系統(tǒng)的設(shè)備 的框圖3是示出將輸入/輸出(I/O)空間分配給裝置驅(qū)動器的處理的流程圖, 的方法中;
圖4是示出控制裝置驅(qū)動器通過直接存儲器訪問(DMA)驅(qū)動器對系統(tǒng) 存儲器的訪問的處理的流程圖,其中,所述處理包括在根據(jù)本發(fā)明的示例性 實施例的系統(tǒng)保護方法中;以及
圖5是示出控制域?qū)ο到y(tǒng)資源的訪問的處理的流程圖,其中,所述處理 包括在才艮據(jù)本發(fā)明的示例性實施例的系統(tǒng)保護方法中。
具體實施例方式
現(xiàn)將參照附圖更加全面地描述本發(fā)明,本發(fā)明的示例性實施例在附圖中 顯示。然而,本發(fā)明可按不同的形式體現(xiàn),并且不限于在此闡述的實施例。 此外,提供這些實施例從而本公開將會徹底和完整并完全地將本發(fā)明的構(gòu)思 傳達給本領(lǐng)域的技術(shù)人員,并且本發(fā)明僅由權(quán)利要求來限定。在附圖中,相 同的標(biāo)號是指相同的部件,因此將省略它們的描述。以下,將參照附圖更加詳細地描述根據(jù)本發(fā)明的在虛擬環(huán)境中保護系統(tǒng)
的i殳備和方法。
當(dāng)確定現(xiàn)有技術(shù)或結(jié)構(gòu)的詳細描述可能不必要地使本發(fā)明模糊時,可能
省略詳細描述。
圖2是示出根據(jù)本發(fā)明的示例性實施例的在虛擬環(huán)境中保護系統(tǒng)的設(shè)備 的框圖。
參照圖2,所述設(shè)備包括域單元100、系統(tǒng)資源單元200和控制單元
300。
域單元100包括多個域110、 120、...,每個都具有一個或多個裝置驅(qū) 動器111、 121、...。域單元100包括至少一個安全域(例如,域110)和多 個普通域(例如,域120、...)。這里,安全域是非常安全的,普通域在一定 程度上不安全。
在此使用的術(shù)語"域"是指這樣的環(huán)境可分別在一個或多個相應(yīng)操作 系統(tǒng)(OS)上^l行一個或多個相應(yīng)裝置驅(qū)動器。
系統(tǒng)資源單元200形成系統(tǒng)的硬件。系統(tǒng)資源單元200包括只讀存儲 器(ROM) 210、中央處理器(CPU) 220、電池230、存儲器240、事件信 道250和輸入/輸出(I/O )裝置260。
ROM 210是未授權(quán)用戶或系統(tǒng)不能改變的存儲空間。
存儲器240是存儲數(shù)據(jù)的存儲空間。存儲器240可以是諸如閃存的非易 失性存儲器。
存儲器240包括用于稍后將描述的直接存儲器訪問(DMA)的物理存儲 器和系統(tǒng)存儲器。
存儲器240被劃分成多個存儲區(qū),以根據(jù)類型和安全等級對各種數(shù)據(jù)信 息進行分類,并相應(yīng)地存儲所述數(shù)據(jù)信息。相應(yīng)地,可在一個存儲區(qū)中對重 要數(shù)據(jù)信息進行加密并存儲。
使用虛擬機監(jiān)控器(VMM),控制單元300在虛擬環(huán)境中(例如,在無 線互聯(lián)網(wǎng)環(huán)境中)控制域單元100對系統(tǒng)資源單元200的訪問。
控制單元300包括DMA驅(qū)動器310和訪問控制模塊320。訪問控制模 塊320在虛擬環(huán)境中控制域單元100對系統(tǒng)資源單元200的訪問。
DMA驅(qū)動器310是執(zhí)行DMA操作的模塊。
訪問控制模塊320控制域110、 120、...的各個裝置驅(qū)動器111、 121、...的每一個通過DMA驅(qū)動器310對系統(tǒng)資源單元200的訪問。具體地,訪問 控制模塊320限制安裝在不安全的普通域120、...中的一個(例如,域120 ) 中的惡意裝置驅(qū)動器(例如,裝置驅(qū)動器121 )對與DMA驅(qū)動器310相關(guān)的 1/0空間和中斷請求(IRQ)的訪問。更具體地,當(dāng)根據(jù)預(yù)定訪問控制策略允 許訪問系統(tǒng)資源單元200的域110、 120、...的一個中的裝置驅(qū)動器嘗試通過 DMA驅(qū)動器310訪問系統(tǒng)資源單元200時,訪問控制才莫塊320允許該裝置驅(qū) 動器訪問與DMA驅(qū)動器310相關(guān)的I/O空間。然而,如果根據(jù)預(yù)定訪問控制 策略不允許嘗試通過DMA驅(qū)動器310訪問系統(tǒng)資源單元200的裝置驅(qū)動器 訪問系統(tǒng)資源單元200,則訪問控制模塊320限制該裝置驅(qū)動器對與DMA驅(qū) 動器310相關(guān)的I/O空間和IRQ的訪問。
訪問控制模塊320為域110、 120、...的每一個設(shè)置不同的訪問系統(tǒng)資源 單元200的選項,并且基于設(shè)置的選項,對于域110、 120、...的每一個中的 裝置驅(qū)動器lll、 121、...的每一個,控制所述裝置驅(qū)動器111、 121、...的每 一個請求的I/O空間和IRQ數(shù)量的分配。更具體地說,如果預(yù)定訪問控制策 略允許裝置驅(qū)動器111、 121、…中的一個訪問系統(tǒng)資源單元200,則訪問控 制模塊320將請求的I/O空間和IRQ數(shù)量分配給域中的裝置驅(qū)動器。如果預(yù) 定訪問控制策略不允許裝置驅(qū)動器訪問系統(tǒng)資源單元200,則訪問控制模塊 320不將請求的I/O空間和IRQ數(shù)量分配給裝置驅(qū)動器。
訪問控制才莫塊320限制域110、 120、...的每一個過度使用系統(tǒng)資源單元 200。更具體地說,當(dāng)域IIO、 120、…的每一個中的裝置驅(qū)動器111、 121、... 中的一個使用系統(tǒng)資源單元200的存儲器240超過才艮據(jù)預(yù)定訪問控制策略允 許的限額時,訪問控制模塊320限制該裝置驅(qū)動器對存儲器240的訪問。另 外,訪問控制模塊320禁止域110、 120、...的每一個與域110、 120、…的另 一個形成超過根據(jù)預(yù)定訪問控制策略允許的數(shù)量的更多數(shù)量的事件信道。
以下,將參照圖3至圖5描述才艮據(jù)本發(fā)明的示例性實施例的在虛擬環(huán)境 中保護系統(tǒng)的方法。
圖3是示出將I/O空間分配給裝置驅(qū)動器的處理的流程圖,其中,所述 處理包括在才艮據(jù)本發(fā)明的示例性實施例的在虛擬環(huán)境中保護系統(tǒng)的方法中。
參照圖3,控制單元300的訪問控制模塊320為域110、 120、...的每一 個設(shè)置用于訪問系統(tǒng)資源單元200的不同選項,并且基于設(shè)置的選項,對于 域IIO、 120、...的每一個中的裝置驅(qū)動器111、 121、...的每一個,控制所述裝置驅(qū)動器lll、 121、…的每一個請求的I/0空間和IRQ數(shù)量的分配。
更具體地說,域110、 120、...的一個中的裝置驅(qū)動器111、 121、...的一
個請求訪問控制模塊320分配訪問系統(tǒng)資源單元200所需的I/O空間(操作 SlOl)。接下來,確定由控制單元300的訪問控制模塊320確定的訪問控制策 略是否允許域訪問系統(tǒng)資源單元200 (操作S102)。如果訪問控制策略允許域 訪問系統(tǒng)資源單元200,則訪問控制模塊320將請求的I/O空間和IRQ數(shù)量 分配給域中的裝置驅(qū)動器(操作S103)。然而,如果訪問控制策略不允許域 訪問系統(tǒng)資源單元200,則訪問控制模塊320不將請求的I/O空間和IRQ數(shù) 量分配給域中的裝置驅(qū)動器。
圖4是示出控制裝置驅(qū)動器通過DMA驅(qū)動器310對系統(tǒng)存儲器的訪問 的處理的流程圖,其中,所述處理包括在根據(jù)本發(fā)明的示例性實施例的系統(tǒng) 保護方法中。
參照圖4,控制單元300的訪問控制^^莫塊320控制域110、 120、...的每 一個中的裝置驅(qū)動器111、 121、...的每一個通過DMA驅(qū)動器310對系統(tǒng)資 源單元200的訪問。
更具體地說,域IIO、 120、...的一個中的裝置驅(qū)動器111、 121、...的一 個請求訪問控制才莫塊320允許其通過DMA驅(qū)動器310訪問系統(tǒng)資源單元200 的存儲器240 (操作S201)。接下來,確定訪問控制策略是否允許執(zhí)行裝置驅(qū) 動器的域訪問存儲器240 (操作S202 )。如果訪問控制策略允許域訪問存儲器 240,則訪問控制模塊320允許裝置驅(qū)動器訪問存儲器240 (操作S203 )。然 而,如果訪問控制策略不允許域訪問存儲器240,則訪問控制模塊320限制 裝置驅(qū)動器對存儲器240的訪問。
圖5是示出控制域?qū)ο到y(tǒng)資源的訪問的處理的流程圖,其中,所述處理 包括在根據(jù)本發(fā)明的示例性實施例的系統(tǒng)保護方法中。
參照圖5,訪問控制模塊320限制域110、 120、...的每一個過度使用系 統(tǒng)資源單元200。
更具體地說,域IIO、 120、…中的至少一個請求訪問控制模塊320分配 系統(tǒng)資源(操作S301)。接下來,確定所述域請求的系統(tǒng)資源量是否超過訪 問控制策略設(shè)置的允許限額(操作S302)。如果所述域請求的系統(tǒng)資源量小 于允許限額,則訪問控制模塊320允許將請求的系統(tǒng)資源分配給域(操作 S303 )。然而,如果所述域請求的系統(tǒng)資源量超過允許限額,則訪問控制模塊320不允許將系統(tǒng)資源分配給域。例如,當(dāng)域110、 120、...的每一個的裝置 驅(qū)動器lll、 121、…的一個使用存儲器240多于允許限額時,訪問控制模塊 320限制域?qū)Υ鎯ζ?40的訪問。另夕卜,訪問控制模塊320禁止域110、 120、... 的每一個與域IIO、 120、...的另一個形成超過允許數(shù)量的更多數(shù)量事件信道。
如上所述,用于在虛擬環(huán)境中保護系統(tǒng)的設(shè)備和方法中,能夠保護系統(tǒng) 資源不受例如惡意軟件的惡意訪問,并且能夠解決系統(tǒng)故障。因此,能夠提 供可靠的安全服務(wù)。
盡管已經(jīng)參照本發(fā)明的示例性實施例顯示并描述了本發(fā)明,但是本領(lǐng)域 的技術(shù)人員將理解,在不脫離由權(quán)利要求限定的本發(fā)明的精神和范圍的情況 下,可以對其進行各種形式和細節(jié)的改變。所述示例性實施例應(yīng)該被認為僅 是描述性的,而不是以限制為目的。
權(quán)利要求
1、一種在虛擬環(huán)境中保護系統(tǒng)的設(shè)備,所述設(shè)備包括域單元,包括多個域,多個域包括裝置驅(qū)動器;系統(tǒng)資源單元;以及控制單元,包括直接存儲器訪問(DMA)驅(qū)動器和訪問控制模塊,所述訪問控制模塊控制在虛擬環(huán)境中域單元通過DMA驅(qū)動器對系統(tǒng)資源單元的訪問。
2、 如權(quán)利要求l所述的設(shè)備,其中,所述多個域包括至少一個安全域。
3、 如權(quán)利要求l所述的設(shè)備,其中,所述系統(tǒng)資源單元包括下述中的至 少一個系統(tǒng)存儲器、用于DMA驅(qū)動器的物理存儲器和所述多個域的至少 兩個域之間的事件信道。
4、 如權(quán)利要求l所述的設(shè)備,其中,控制單元使用虛擬機監(jiān)控器執(zhí)行控 制操作。
5、 如權(quán)利要求l所述的設(shè)備,其中,訪問控制模塊控制所述多個域的每 一個中的裝置驅(qū)動器的每一個通過DMA驅(qū)動器對系統(tǒng)資源單元的訪問。
6、 如權(quán)利要求5所述的設(shè)備,其中,訪問控制模塊限制安裝在所述多個 域之中不安全域的任何一個中的惡意裝置驅(qū)動器對與DMA驅(qū)動器相關(guān)的輸 入/輸出(I/O )空間和中斷請求(IRQ )的訪問。
7、 如權(quán)利要求l所述的設(shè)備,其中,訪問控制模塊為所述多個域的每個 域設(shè)置不同的用于訪問系統(tǒng)資源單元的選項。
8、 如權(quán)利要求7所述的設(shè)備,其中,基于設(shè)置的選項,對于所述多個域 的一個中的裝置驅(qū)動器,控制所述裝置驅(qū)動器請求的與DMA驅(qū)動器相關(guān)的 I/O空間和IRQ數(shù)量的分配。
9、 如權(quán)利要求8所述的設(shè)備,其中,如果允許裝置驅(qū)動器訪問系統(tǒng)資源 單元,則訪問控制^^莫塊將請求的I/O空間和IRQ數(shù)量分配給所述多個域的一 個中的裝置驅(qū)動器,如果不允許裝置驅(qū)動器訪問系統(tǒng)資源單元,則訪問控制 模塊不將請求的I/O空間和IRQ數(shù)量分配給所述多個域的一個中的裝置驅(qū)動 器。
10、 如權(quán)利要求l所述的設(shè)備,其中,訪問控制模塊限制所述多個域過 度使用系統(tǒng)資源單元。
11、 如權(quán)利要求10所述的設(shè)備,其中,如果裝置驅(qū)動器使用存儲器多于 允許限額,則訪問控制模塊限制所述多個域的 一個中的裝置驅(qū)動器對系統(tǒng)資 源單元的存儲器的訪問。
12、 如權(quán)利要求10所述的設(shè)備,其中,訪問控制模塊禁止所述多個域中 的每個域與所述多個域中的另 一個域形成超過允許數(shù)量的多個事件信道。
13、 一種在虛擬環(huán)境中保護系統(tǒng)的方法,所述方法包括 請求訪問控制^f莫塊將訪問系統(tǒng)資源單元所需的與DMA有關(guān)的輸入/輸出(I/O)空間和中斷請求(IRQ)數(shù)量分配給多個域的一個中的裝置驅(qū)動器; 確定預(yù)定訪問策略是否允許執(zhí)行裝置驅(qū)動器的域訪問系統(tǒng)資源單元;以及如果預(yù)定訪問策略允許所述多個域的一個訪問系統(tǒng)資源單元,則將請求 的I/O空間和IRQ數(shù)量分配給所述多個域的一個中的裝置驅(qū)動器,如果預(yù)定 訪問策略不允許所述多個域的一個訪問系統(tǒng)資源單元,則不將請求的I/O空 間和IRQ數(shù)量分配給所述多個域的一個中的裝置驅(qū)動器。
14、 一種在虛擬環(huán)境中保護系統(tǒng)的方法,所述方法包括通過使用多個域的一個中的裝置驅(qū)動器請求訪問控制模塊允許通過直接 存儲器訪問(DMA)驅(qū)動器訪問系統(tǒng)資源單元的存儲器;確定預(yù)定訪問控制策略是否允許執(zhí)行裝置驅(qū)動器的所述多個域的 一個訪 問存儲器;以及如果預(yù)定訪問控制策略允許所述多個域的 一個訪問存儲器,則允許所述 多個域的一個中的裝置驅(qū)動器訪問存儲器,如果預(yù)定訪問控制策略不允許所 述多個域的一個訪問存儲器,則不允許所述多個域的一個中的裝置驅(qū)動器訪 問存儲器。
15、 一種在虛擬環(huán)境中保護系統(tǒng)的方法,所述方法包括 使用多個域的一個請求訪問控制模塊分配系統(tǒng)資源;確定所述域請求的系統(tǒng)資源量是否超過預(yù)定訪問控制策略設(shè)置的允許限 額;以及如果所述多個域的一個請求的系統(tǒng)資源量小于允許限額,則允許將請求 的系統(tǒng)資源分配給所述多個域的一個,如果所述多個域的一個請求的系統(tǒng)資 源量超過允許限額,則不允許將請求的系統(tǒng)資源分配給所述多個域的一個。
16、 如權(quán)利要求15所述的方法,其中,所述多個域的一個請求的系統(tǒng)資源量包括存儲器的使用量。
17、 如權(quán)利要求15所述的方法,其中,所述多個域的一個請求的系統(tǒng)資源量包括在所述多個域的至少兩個域之間形成的多個事件信道。
18、 如權(quán)利要求13所述的方法,其中,訪問控制策略由包括在VMM中 的訪問控制模塊來確定。
全文摘要
提供一種在虛擬環(huán)境中保護系統(tǒng)的設(shè)備和方法。所述設(shè)備包括域單元,包括多個域,每個域都具有一個或多個裝置驅(qū)動器;系統(tǒng)資源單元,形成系統(tǒng)的硬件;直接存儲器訪問(DMA)驅(qū)動器;以及控制單元,包括訪問控制模塊,控制在虛擬環(huán)境中域單元對系統(tǒng)資源單元的訪問。
文檔編號G06F21/02GK101290646SQ200810091100
公開日2008年10月22日 申請日期2008年4月16日 優(yōu)先權(quán)日2007年4月16日
發(fā)明者徐尚范, 李圣民, 牟相德, 鄭福得 申請人:三星電子株式會社