專利名稱:基于優(yōu)先中國墻策略的虛擬機(jī)隱形流控制方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)領(lǐng)域的強(qiáng)制訪問控制技術(shù),具體涉及一種
基于優(yōu)先中國墻策略的虛擬機(jī)隱形流控制方法。優(yōu)先中國墻(Prioritized Chinese Wall, PCW)策略是指用于虛擬機(jī)系統(tǒng)隱形流控制的策略方法。
背景技術(shù):
當(dāng)前, 一方面,計(jì)算系統(tǒng)的資源規(guī)模不斷擴(kuò)展,處理能力快速增強(qiáng), 資源種類日益豐富;另一方面,計(jì)算系統(tǒng)日趨復(fù)雜,軟件支撐環(huán)境類型多, 版本多,管理配置困難,使用不夠方便,高性能計(jì)算資源難以有效利用, 尤其是難以適應(yīng)靈活多樣的應(yīng)用需求,針對當(dāng)前硬件和系統(tǒng)軟件的異構(gòu)性 問題,以及以多核為代表的高性能計(jì)算技術(shù)的發(fā)展趨勢,虛擬機(jī)技術(shù)已成 為了當(dāng)前信息技術(shù)的熱點(diǎn)。虛擬化計(jì)算系統(tǒng)展示了新型計(jì)算機(jī)理與模式, 具有非常廣泛的應(yīng)用,其發(fā)展和應(yīng)用給人類生活和生產(chǎn)的各個領(lǐng)域帶來深
遠(yuǎn)影響o
虛擬機(jī)系統(tǒng)提供一個虛擬的接口給硬件資源,允許操作系統(tǒng)共享被安 全隔離的資源。在不同的虛擬機(jī)之間通過進(jìn)行信息傳遞是很普遍要求,但 是虛擬機(jī)間的通信可能導(dǎo)致虛擬機(jī)之間的信息泄露。針對這個問題,基于 虛擬機(jī)的強(qiáng)制訪問控制系統(tǒng)就被提出來,在虛擬機(jī)系統(tǒng)中實(shí)現(xiàn)強(qiáng)制訪問策 略能夠提供比虛擬機(jī)本身更強(qiáng)的隔離機(jī)制和具有更多的靈活性,它保證對 系統(tǒng)信息流的全面控制。
實(shí)施強(qiáng)制訪問策略的虛擬機(jī)系統(tǒng),能夠管理通過授權(quán)的公開通道傳遞 的信息流,卻不能夠控制通過隱形通道傳遞的潛在風(fēng)險的信息流。在一個
虛擬機(jī)系統(tǒng)上,兩個虛擬機(jī)(VM)雖然被禁止公開的信息傳遞,但可能存 在通過隱形通道傳遞信息。隱形通道很難鑒定,也不可能完全的消除掉,在虛擬機(jī)系統(tǒng)中我們可以通過使用強(qiáng)制訪問策略通過可控的資源調(diào)度管理 控制虛擬機(jī)間的隱形流
但現(xiàn)有的強(qiáng)制訪問策略來處理隱形流,會使系統(tǒng)有太多的限制而缺乏
靈活性和難以在實(shí)施。如使用基于訪問范圍的Caernarvon模型這需要事先 劃分通信集合,在一些分布式環(huán)境下,事先確定每一個通信集合幾乎是不 可能的;基于流約束的中國墻策略則需要每個節(jié)點(diǎn)只能運(yùn)行單個虛擬機(jī), 過強(qiáng)的約束條件使的中國墻策略沒有實(shí)施的意義。
虛擬機(jī)系統(tǒng)是指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一 個完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng)。隱形流是指通過隱形通道傳遞的信 息流,隱形通道是指通過訪問共享資源或觀察訪問時間操作序列進(jìn)行安全 策略禁止的信息傳遞。使用傳統(tǒng)的強(qiáng)制訪問策略在虛擬機(jī)之間控制隱形流, 因?yàn)槠湎拗茥l件太強(qiáng),而不可能在系統(tǒng)中進(jìn)行實(shí)施。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于優(yōu)先中國墻策略的虛'擬機(jī)隱形流控制 方法,該方法能夠給用戶提供一個可配置的調(diào)度方式來調(diào)度管理虛擬機(jī)資 源從而控制隱形通道,又能保持靈活性和便于實(shí)施。
本發(fā)明提供的基于優(yōu)先中國墻策略的虛擬機(jī)隱形流控制方法,虛擬機(jī) 安全監(jiān)視器內(nèi)設(shè)置有歷史中國墻類型數(shù)組HCWTA,該數(shù)組作于記錄該節(jié)點(diǎn)上
被分配標(biāo)簽虛擬機(jī)的運(yùn)行歷史記錄和現(xiàn)在的運(yùn)行狀態(tài);
在單節(jié)點(diǎn)系統(tǒng)中虛擬機(jī)安全監(jiān)視器分別按照過程(A)和(B)根據(jù)虛 擬機(jī)的標(biāo)簽監(jiān)控該節(jié)點(diǎn)內(nèi)任一虛擬機(jī)VMA的啟動和關(guān)閉過程,該虛擬機(jī)VM A對應(yīng)自己安全級別分配中國墻類型標(biāo)簽為Tl;
在分布式系統(tǒng)內(nèi),每個節(jié)點(diǎn)的虛擬機(jī)安全監(jiān)視器,按照過程(C)、和 (E)監(jiān)控該節(jié)點(diǎn)內(nèi)任一虛擬機(jī)VMB啟動、關(guān)閉過程;按照過程(D)監(jiān)控 其他節(jié)點(diǎn)上任一虛擬機(jī)VMC發(fā)出的遷移和通信請求,假定虛擬機(jī)VM B與 VMC對應(yīng)自己安全級別分配中國墻類型標(biāo)簽為T2和T3;過程(A):虛擬機(jī)安全監(jiān)視器按照下述步驟監(jiān)控具有Tl標(biāo)簽的虛擬機(jī) VM A的啟動過程,
(Al)檢測歷史中國墻類型數(shù)組HCWTA,判斷HCWTA是否為空若HCWTA 為空,轉(zhuǎn)到步驟(A4);若HCWTA不為空,則進(jìn)入步驟(A2);
(A2)遍歷HCWTA,判斷虛擬機(jī)VMA所對應(yīng)的標(biāo)簽T1是否屬于HCWTA: 若Tle HCWTA,轉(zhuǎn)到(A5);若T1《HCWTA,則轉(zhuǎn)到(A3);
(A3)遍歷HCWTA,判斷虛擬機(jī)VM A標(biāo)簽Tl是否與該節(jié)點(diǎn)上的HCWTA 中的標(biāo)簽相沖突,即判斷T1是否屬于U {ClS(xi) I xiEHCWTAh若Tle U {ClS(xi) I xiEHCWTA),轉(zhuǎn)到步驟(A6);若Tlg U (CIS(xi) |xieHCWTA}, 則轉(zhuǎn)到步驟(A4);
(A4)虛擬機(jī)VM A允許啟動,將虛擬機(jī)VM A的標(biāo)簽Tl加入到HCWTA, 其中HCWTA={T1},轉(zhuǎn)到步驟(A7);
(A5)存在與此虛擬機(jī)在該節(jié)點(diǎn)運(yùn)行過,虛擬機(jī)VMA允許啟動,不修 改HCWTA,轉(zhuǎn)到步驟(A7);
(A6)在HCWTA中存在類型T與虛擬機(jī)VMA所對應(yīng)的類型沖突,虛擬 機(jī)VMA不允許啟動;
(A7)輸出結(jié)束信息,結(jié)束;
過程(B):虛擬機(jī)安全監(jiān)視器按照下述步驟監(jiān)控虛擬機(jī)VMA的關(guān)閉過
程
(Bl)開始,若虛擬機(jī)VMA不是該節(jié)點(diǎn)的最后一個正在運(yùn)行的虛擬機(jī), 則關(guān)閉虛擬機(jī)VM A后不改變HCWTA,轉(zhuǎn)到步驟(B3);
(B2)若虛擬機(jī)VMA為該節(jié)點(diǎn)最后一個正在運(yùn)行的虛擬機(jī),則關(guān)閉虛 擬機(jī)VM A后清空HCWTA;
(B3)輸出結(jié)束信息,結(jié)束;
過程(C):節(jié)點(diǎn)Nl上的虛擬機(jī)安全監(jiān)視器按照下述步驟監(jiān)控該節(jié)點(diǎn)中 任一虛擬機(jī)VM B在此節(jié)點(diǎn)上的啟動過程,虛擬機(jī)VM B其對應(yīng)的中國墻類 型標(biāo)簽為T2,節(jié)點(diǎn)Nl的歷史中國墻類型數(shù)組為HCWTA1;
(CI)開始,檢測HCWTA1,判斷HCWTA1是否為空若HCWTA1為空,轉(zhuǎn)到步驟(C5);若HCWTA1不為空,則轉(zhuǎn)到步驟(C2);
(C2)根據(jù)全局安全服務(wù)器中HCWTT更新本地節(jié)點(diǎn)的HCWTA1,對全局安 全服務(wù)器中與HCWTA1對應(yīng)的HCWTA加鎖;
(C3)遍歷HCWTA1,判斷T2是否屬于HCWTA1:若T2e HCWTA1,轉(zhuǎn)到 步驟(C6);若T2g HCWTA1,轉(zhuǎn)到步驟(C4);
(C4)遍歷HCWTA1,判斷虛擬機(jī)VM B標(biāo)簽T2是否與HCWTA1中的標(biāo)簽 相沖突,即判斷T2是否屬于U (CIS(x) IxE腹Alh若T2e U (CIS(x) I xEHCWTAl},在HCWTA中存在標(biāo)簽T與虛擬機(jī)VMB所對應(yīng)的類型沖突,則 虛擬機(jī)VM B不允許啟動轉(zhuǎn)到步驟(C8);若T2《U(CIS(x) | xEHCWTAl}, 則轉(zhuǎn)到步驟(C7);
(C5)允許虛擬機(jī)VMB在N1運(yùn)行,把虛擬機(jī)VMB所對應(yīng)的標(biāo)簽T2加 入到本節(jié)點(diǎn)HCWTA1中,同步全局安全服務(wù)器,在歷史中國墻類型表HCWTT 中增加新的數(shù)組HCWTA1,更新HCWTA1,轉(zhuǎn)到步驟(C9);
(C6)該則虛擬機(jī)VM B允許在節(jié)點(diǎn)Nl啟動,不修改HCWTA1 ,更新HCWTT 記錄運(yùn)行狀態(tài),轉(zhuǎn)到步驟(C8);
(C7)新啟動的虛擬機(jī)的標(biāo)簽不與正在運(yùn)行的虛擬機(jī)的標(biāo)簽相沖突, 允許虛擬機(jī)VM B在節(jié)點(diǎn)Nl啟動,把虛擬機(jī)VM B所對應(yīng)的標(biāo)簽T2加入到 本地HCWTA1中,同步全局安全服務(wù)器,更新HCWTT中對應(yīng)的HCWTA,轉(zhuǎn)到 步驟(C8);
(C8)對全局安全服務(wù)器中與HCWTA1對應(yīng)的HCWTA解鎖; (C9)輸出結(jié)束信息,結(jié)束; 過程(D):每個節(jié)點(diǎn)上的虛擬機(jī)安全監(jiān)視器按照下述步驟監(jiān)控系統(tǒng)中 各個節(jié)點(diǎn)上虛擬機(jī)間通信或虛擬機(jī)遷移請求的過程
假設(shè)節(jié)點(diǎn)N1上虛擬機(jī)VMB,其對應(yīng)的中國墻類型標(biāo)簽為T2,所屬 歷史中國墻類型數(shù)組為HCWTA1;節(jié)點(diǎn)N2上虛擬機(jī)VM C,其對應(yīng)的中國墻 類型標(biāo)簽為T3,所屬歷史中國墻類型數(shù)組為HCWTA2;請求為虛擬機(jī)VM B 與虛擬機(jī)VM C之間發(fā)起的通信請求,或者由虛擬機(jī)VM B發(fā)起從節(jié)點(diǎn)Nl遷 移到節(jié)點(diǎn)N2的遷移請求;(Dl)開始,根據(jù)全局安全服務(wù)器中HCWTT更新HCWTAl和HCWTA2,對 全局安全服務(wù)器中與HCWTAl及HCWTA2對應(yīng)的HCWTA加鎖;
(D2)檢測HCWTAl ,HCWTA2,比較HCWTAl和HCWTA2:若HCWTAl 二HCWTA2, 轉(zhuǎn)到步驟(D4);若HCWTAliHCWTA2,則轉(zhuǎn)到步驟(D3);
(D3)分別遍歷HCWTAl和HCWTA2,判斷HCWTAl中任一標(biāo)簽T是否屬于 U{CIS(x) |xEHCWTA2},即是否存在Te HCWTA1, T' e HCWTA2且TE CIS(T'):若VT EHCWTA1, T《U(CIS(x) 1xGHCWTA2h轉(zhuǎn)到(D5);若 存在T EHCWTA1, TeU{CIS(x) | xEHCWTA2},不允許虛擬機(jī)VMB與虛 擬機(jī)VMC的通信或虛擬機(jī)VMB由節(jié)點(diǎn)N1到N2的遷移請求,轉(zhuǎn)到步驟(D6);
(D4)允許虛擬機(jī)VM B與虛擬機(jī)VM C的通信或虛擬機(jī)VM B由節(jié)點(diǎn)Nl 到N2的遷移請求,轉(zhuǎn)到步驟(D6);
(D5)允許虛擬機(jī)VM B與虛擬機(jī)VM C的通信或虛擬機(jī)VM B由節(jié)點(diǎn)N1 到N2的遷移請求,更新全局安全服務(wù)器中的HCWTAl與HCWTA2為HCWTAl UHCWTA2,更新Nl和N2節(jié)點(diǎn)的歷史中國墻類型數(shù)組為HCWTAl UHCWTA2, 轉(zhuǎn)到步驟(D6);
(D6)對全局安全服務(wù)器中與節(jié)點(diǎn)對應(yīng)的HCWTAl和HCWTA2解鎖; (D7)輸出結(jié)束信息,結(jié)束; 過程(E):節(jié)點(diǎn)N1上的虛擬機(jī)安全監(jiān)視器按照下述步驟監(jiān)控系統(tǒng)中各 個節(jié)點(diǎn)上虛擬機(jī)的關(guān)閉過程
(El)開始,判斷虛擬機(jī)VMB是否為節(jié)點(diǎn)N1上最后一個正在運(yùn)行的虛 擬機(jī)若虛擬機(jī)VMB不是,轉(zhuǎn)到步驟(E3);
(E2)判斷節(jié)點(diǎn)Nl是否為其所屬通信邏輯集中最后一個正在運(yùn)行虛擬
機(jī)的節(jié)點(diǎn)若N1不是,轉(zhuǎn)到(E4);若N1是,則轉(zhuǎn)到步驟(E5);
(E3)關(guān)閉虛擬機(jī)VM B,不改變該節(jié)點(diǎn)上的HCWTA,轉(zhuǎn)到步驟(E6); (E4)關(guān)閉虛擬機(jī)VM B,清空本地HCWTA1,轉(zhuǎn)到步驟(E6); (E5)關(guān)閉虛擬機(jī)VMB,清空本地HCWTA1,同時清空在全局安全服務(wù) 器中HCWTT內(nèi)相對應(yīng)的HCWTAl; (E6)輸出結(jié)束信息,結(jié)束。在虛擬機(jī)系統(tǒng)實(shí)施本發(fā)明方法不需要重新修改虛擬機(jī)軟件細(xì)粒度資源 的控制代碼,該方法是在資源的虛擬機(jī)隔離粒度上,通過可控的資源調(diào)度 管理控制虛擬機(jī)間的隱形流,并給用戶提供一個可以配置的資源調(diào)度方式。 具體而言,本發(fā)明方法具有以下優(yōu)點(diǎn)
1) 解決了強(qiáng)制訪問控制模型用于隱形流控制時,無法在虛擬機(jī)系統(tǒng)中 實(shí)施的問題。首創(chuàng)了通過配置的資源控制方式,在高安全需求的虛擬機(jī)系 統(tǒng)提供了可實(shí)施的隱形流控制方法;
2) 本方法不需要事先確定通信集合,通信集合根據(jù)虛擬機(jī)運(yùn)行負(fù)載的 業(yè)務(wù)需求動態(tài)建立,具有靈活性和更大的應(yīng)用范圍;
3) 本方法降低了在系統(tǒng)中實(shí)施的過強(qiáng)的約束條件,具有更好的擴(kuò)展性, 使該方法更易于管理與實(shí)施。
圖1為系統(tǒng)通信邏輯集劃分示意圖2為單節(jié)點(diǎn)環(huán)境下PCW判定虛擬機(jī)啟動請求流程圖; 圖3為分布式環(huán)境下PCW判定虛擬機(jī)啟動請求流程圖4為分布式環(huán)境下PCW判定虛擬機(jī)間通信或虛擬機(jī)遷移請求流程圖; 圖5為實(shí)例系統(tǒng)結(jié)構(gòu)示意圖6為實(shí)例運(yùn)行示基于優(yōu)先中國墻策略的效果示意圖。
具體實(shí)施例方式
本方法對硬件環(huán)境沒有特殊要求,軟件環(huán)境為單虛擬機(jī)系統(tǒng)或分布式 虛擬機(jī)系統(tǒng)。
方法原理隱形通道很難鑒定,也不可能完全的消除掉,我們在虛擬
機(jī)粒度下通過強(qiáng)制訪問策略來控制隱形流,不是通過重寫虛擬機(jī)軟件細(xì)粒 度資源的控制代碼消除隱形通道,而是通過強(qiáng)制訪問策略為用戶提供一個 可以配置的資源調(diào)度方式對資源調(diào)度,對要防止隱形流的虛擬機(jī)進(jìn)行隔離, 使虛擬機(jī)之間不能產(chǎn)成隱形流?;趦?yōu)先中國墻策略的虛擬機(jī)系統(tǒng)隱形流控制方法中最重要的特點(diǎn)是 策略的判定邏輯取決于虛擬機(jī)的歷史運(yùn)行狀態(tài)。而控制算法最終將虛擬機(jī) 分為不同而相互隔離的通信集合,通信集合內(nèi)允許信息流動,通信集合之間 不允許信息流的存在。
策略的判定邏輯取決于虛擬機(jī)的歷史運(yùn)行狀態(tài),故在策略管理服務(wù)器 中必須有一個數(shù)據(jù)結(jié)構(gòu)記錄虛擬機(jī)運(yùn)行歷史狀態(tài)。該數(shù)據(jù)結(jié)構(gòu)記錄了所有 曾經(jīng)被策略邏輯允許的相互之間允許有信息流動的虛擬機(jī)標(biāo)簽集合。將這 種關(guān)系稱作有具有相互連接關(guān)系,相應(yīng)的集合稱作通信邏輯集
(Coalition),這里有信息流動表示被策略允許曾經(jīng)同時在同一節(jié)點(diǎn)上運(yùn) 行過和被策略允許建立通信關(guān)系。
支持強(qiáng)制訪問控制策略的虛擬機(jī)系統(tǒng),需要一套機(jī)制能夠檢測系統(tǒng)行 為,并與進(jìn)行策略判定的單元通信,執(zhí)行策略判定。我們沿襲Flask架構(gòu) 的稱謂,將這套機(jī)制稱謂虛擬機(jī)安全監(jiān)視器(Virtual Machine Security Monitor, VMSM),由它監(jiān)控虛擬機(jī)的中國墻類型,并執(zhí)行控制決定。
策略描述
針對系統(tǒng)的安全需求,在實(shí)施本策略的虛擬機(jī)系統(tǒng)中定義一系列中國 墻類型標(biāo)簽(Chinese Wall-Type Label),例如有以下中國墻標(biāo)簽 {T1,T2,T3,T4}。標(biāo)簽本質(zhì)上是以負(fù)載為分配單元的,因?yàn)槲覀兊目刂屏6?為虛擬機(jī),即每個虛擬機(jī)中只允許運(yùn)行單標(biāo)簽的負(fù)載,因此我們下文以虛 擬機(jī)標(biāo)簽,這一稱謂來區(qū)分運(yùn)行著標(biāo)簽不同負(fù)載的虛擬機(jī)。
策略的描述是通過使用上述的中國墻類型標(biāo)簽,不能有信息流的虛擬 機(jī)集合,通過沖突集(Conflict of Interest Set, CIS)進(jìn)行描述。如使 用上述的標(biāo)簽,我們的系統(tǒng)要確保T1與T3,T4之間不能存在隱形流,則可 以將Tl與T3、 Tl與T4定義為沖突集。需要注意的是在我們的策略中這種 沖突關(guān)系是對稱的,即如果T1與T2沖突,反之T2與T1也沖突。但這種 沖突關(guān)系通常不是自反與傳遞的,故可以將與Tl有沖突關(guān)系的虛擬機(jī)標(biāo)簽 的集合表示為CIS(T1) = {T3,T4},則一定存在T1屬于CIS(T3)和CIS(T4)。本發(fā)明(優(yōu)先中國墻策略,PCW)可以用于在單節(jié)點(diǎn)和分布式虛擬機(jī)系
統(tǒng)中在控制虛擬機(jī)之間的隱形流。在單節(jié)點(diǎn)環(huán)境中,由虛擬機(jī)安全監(jiān)視器
VMSM根據(jù)本節(jié)點(diǎn)的虛擬機(jī)運(yùn)行歷史和狀態(tài)信息監(jiān)控虛擬機(jī)的啟動/關(guān)閉。在 分布式環(huán)境中,需要收集每個子節(jié)點(diǎn)上虛擬機(jī)運(yùn)行的歷史記錄和狀態(tài)信息, 我們使用名為全局安全服務(wù)器(Overall Security Server, OSS)的一個 邏輯服務(wù)器,用來存放各個子節(jié)點(diǎn)上的歷史狀態(tài)數(shù)組,與每個子節(jié)點(diǎn)的虛 擬機(jī)監(jiān)視器通信。各個子節(jié)點(diǎn)監(jiān)控該環(huán)境中各個節(jié)點(diǎn)上虛擬機(jī)的啟動/關(guān) 閉,虛擬機(jī)間通信以及虛擬機(jī)間遷移。
下面說明在單節(jié)點(diǎn)環(huán)境中,應(yīng)用PCW策略的
具體實(shí)施例方式
在單節(jié)點(diǎn)環(huán)境中,由虛擬機(jī)安全監(jiān)視器(VMSM)根據(jù)優(yōu)先中國墻(PCW) 策略監(jiān)控虛擬機(jī)的啟動/關(guān)閉。即只有符合PCW策略要求的虛擬機(jī)才能同時 運(yùn)行在一個節(jié)點(diǎn)中。根據(jù)PCW策略的描述,在單節(jié)點(diǎn)環(huán)境中,只含有一個 通信邏輯集(Coalition),即包括所有該節(jié)點(diǎn)上正在運(yùn)行和曾經(jīng)運(yùn)行過的 虛擬機(jī)標(biāo)簽。用一個數(shù)組保存該節(jié)點(diǎn)上曾經(jīng)運(yùn)行過的和現(xiàn)在運(yùn)行的虛擬機(jī) 標(biāo)簽(通信邏輯集),記為歷史中國墻類型數(shù)組(History CW Types Array, HCWTA)。
在單節(jié)點(diǎn)環(huán)境下,VMSM根據(jù)PCW策略判定虛擬機(jī)VMA (其對應(yīng)的中國 墻類型標(biāo)簽為T1)的啟動流程(如圖2所示)如下
(1) 開始,檢測歷史中國墻類型數(shù)組(HCWTA),判斷HCWTA是否為空 若HCWTA為空,轉(zhuǎn)到(4);若HCWTA不為空,則轉(zhuǎn)到(2)。
(2) 遍歷HCWTA,判斷VM A所對應(yīng)的標(biāo)簽中Tl是否屬于HCWTA:若Tie HCWTA,轉(zhuǎn)到(5);若TlgHCWTA,則轉(zhuǎn)到(3)。
(3) 遍歷HCWTA,判斷VM A標(biāo)簽Tl是否與該節(jié)點(diǎn)上的HCWTA中的標(biāo)簽 相沖突,即判斷Tl是否屬于U(CIS(x) I xEHCWTA}:若Tle U {CIS(x) | xEHCWTA},在HCWTA中存在類型T與VMA所對應(yīng)的類型沖突,不允許VM A啟動。若Tlg U(CIS(x) I xEHCWTA },則轉(zhuǎn)到(4)
(4) 允許VMA啟動,將次虛擬機(jī)所對應(yīng)的標(biāo)簽T1加入到HCWTA,轉(zhuǎn)到 (7)。(5) 允許VMA啟動,不修改HCWTA,轉(zhuǎn)到(6)。
(6) 輸出結(jié)束信息,結(jié)束。
在單節(jié)點(diǎn)環(huán)境下,VMSM根據(jù)PCW策略監(jiān)控虛擬機(jī)的關(guān)閉過程如下 在關(guān)閉VM A時,根據(jù)PCW策略的描述;
(1) 開始,若VMA不是該節(jié)點(diǎn)的最后一個正在運(yùn)行的虛擬機(jī),則關(guān)閉 VM A后不改變HCWTA,轉(zhuǎn)到(3)。
(2) 若VM A為該節(jié)點(diǎn)最后一個正在運(yùn)行的虛擬機(jī),則關(guān)閉VMA后清 空HCWTA。
(3) 輸出結(jié)束信息,結(jié)束。
在分布式環(huán)境中,全局安全服務(wù)器(0SS)負(fù)責(zé)記錄各個節(jié)點(diǎn)上虛擬機(jī) 運(yùn)行的歷史記錄、運(yùn)行的狀態(tài)和通信狀態(tài)。每個節(jié)點(diǎn)應(yīng)該記錄運(yùn)行的歷史 記錄、運(yùn)行的狀態(tài)和與本地節(jié)點(diǎn)具有通信關(guān)系的虛擬機(jī)標(biāo)簽,在系統(tǒng)狀態(tài) 發(fā)生變化時,與全局安全策略服務(wù)器通信,同步全局策略服務(wù)器。各個子 節(jié)點(diǎn)虛擬機(jī)安全監(jiān)視器監(jiān)控該環(huán)境中各個節(jié)點(diǎn)上虛擬機(jī)的啟動/關(guān)閉,虛擬 機(jī)間通信以及虛擬機(jī)遷移。如圖1所示,在分布式的虛擬機(jī)系統(tǒng)中實(shí)現(xiàn)上 述方法,虛擬機(jī)系統(tǒng)被動態(tài)劃分為多個被優(yōu)先中國墻策略允許的通信邏輯 集(Coalition),每個邏輯集內(nèi)的虛擬機(jī)之間允許通過公開通道和隱形通 道傳遞信息流。在分布式環(huán)境中,可能存在多個通信邏輯集(Coalition)。 與單節(jié)點(diǎn)環(huán)境相類似的是, 一個通信邏輯集使用一個歷史中國墻類型數(shù)組 (HCWTA)記錄,在本地節(jié)點(diǎn)中保存著與正在該節(jié)點(diǎn)運(yùn)行的或運(yùn)行過的具有 通信狀態(tài)的虛擬機(jī)標(biāo)簽(通信邏輯集)。'全局安全服務(wù)器(0SS)收集各個 節(jié)點(diǎn)的歷史中國墻類型數(shù)組,全部歷史中國墻類型數(shù)組組成歷史中國墻類 型表(History CW Types Table, HCWTT), HCWTT被存放在全局安全服務(wù)器 中。在系統(tǒng)初始狀態(tài)下,每個節(jié)點(diǎn)的歷史中國墻類型數(shù)組(HCWTA)和全局 安全服務(wù)器(OSS)中HCWTT皆為空。
在分布式環(huán)境下,應(yīng)用PCW策略判斷節(jié)點(diǎn)N1 (歷史中國墻類型數(shù)組為 HCWTA1)上VMA (其對應(yīng)的中國墻類型標(biāo)簽為T1)啟動的流程(如圖3所示)如下;
(1) 開始,檢測HCWTA1,判斷HCWTA1是否為空若HCWTA1為空,轉(zhuǎn) 到(5);若HCWTA1不為空,則轉(zhuǎn)到(2)。
(2) 根據(jù)全局安全服務(wù)器中HCWTT更新本地節(jié)點(diǎn)的HCWTA1,對OSS中 與HCWTA1對應(yīng)的HCWTA加鎖。(加鎖是指該數(shù)據(jù)不能被兩個以上的節(jié)點(diǎn)同 時寫入,保證同一時間點(diǎn),只能有一個節(jié)點(diǎn)的信息寫入。)
(3) 遍歷HCWTA1,判斷T1是否屬于HCWTA1:若Tle HCWTA1,轉(zhuǎn)到(6); 若Tlg HCWTA1,轉(zhuǎn)到(4)。
(4) 遍歷HCWTA1,判斷VM A標(biāo)簽Tl是否與HCWTA1中的標(biāo)簽相沖突, 即判斷Tl是否屬于U (CIS(xi) I xiEHCWTAl}:若Tie U (CIS(xi) | xi EHCWTA1},在HCWTA中存在類型T與VM A所對應(yīng)的類型沖突,則VM A不 允許啟動轉(zhuǎn)到(8);若TlgU {ClS(xi) I xiEHCWTAl},則轉(zhuǎn)到(7)。
(5) 允許VM A在Nl運(yùn)行,把VM A所對應(yīng)的標(biāo)簽Tl加入到本地HCWTA1 中,依據(jù)本地HCWTA1更新OSS中HCWTT對應(yīng)的HCWTA,轉(zhuǎn)到(9)。
(6) 在該通信邏輯集歷史中運(yùn)行過,則允許在節(jié)點(diǎn)N1啟動VM A,不 修改HCWTA1,更新HCWTT對應(yīng)項(xiàng)記錄運(yùn)行狀態(tài),轉(zhuǎn)到(8)。
(7) 新啟動的虛擬機(jī)的標(biāo)簽不與正在運(yùn)行的虛擬機(jī)的標(biāo)簽相沖突,允 許VM A在節(jié)點(diǎn)Nl啟動,把VM A所對應(yīng)的標(biāo)簽Tl加入到本地HCWTA1中, 依據(jù)本地HCWTAl更新OSS中HCWTT對應(yīng)的HCWTA,轉(zhuǎn)到(8)。
(8) 對OSS中與HCWTA1對應(yīng)的HCWTA解鎖。
(9) 輸出結(jié)束信息,結(jié)束。
在分布式環(huán)境下,應(yīng)用PCW策略判斷各個節(jié)點(diǎn)上虛擬機(jī)間通信或虛擬 機(jī)遷移請求的流程(如圖4所示)如下
假設(shè)節(jié)點(diǎn)Nl上虛擬機(jī)VM A (其對應(yīng)的中國墻類型標(biāo)簽為Tl,歷史 中國墻類型數(shù)組為HCWTA1),節(jié)點(diǎn)N2上虛擬機(jī)VMB (其對應(yīng)的中國墻類型 標(biāo)簽為T2,歷史中國墻類型數(shù)組為HCWTA2)。請求為VM A與VM B之間發(fā) 起的通信請求,或者由VM A發(fā)起從節(jié)點(diǎn)Nl遷移到節(jié)點(diǎn)N2的遷移請求。
(1)開始,根據(jù)全局安全服務(wù)器中HCWTT更新HCWTA1和HCWTA2,對OSS中與HCWTAl及HCWTA2對應(yīng)的HCWTA加鎖。
(2) 節(jié)點(diǎn)N2的虛擬機(jī)安全監(jiān)視器檢測HCWTAl, HCWTA2,比較HCWTAl 和HCWTA2:若HCWTAl =HCWTA2,轉(zhuǎn)到(4);若HCWTAl,HCWTA2,則轉(zhuǎn)到(3)。
(3) 分別遍歷HCWTAl和HCWTA2,判斷HCWTAl中任一標(biāo)簽T是否屬于 U(CIS(x) |xEHCWTA2},即是否存在HCWTA1, T' e HCWTA2且 CIS(T'):若V T eHCWTAl, T《U {CIS(x) |xEHCWTA2},轉(zhuǎn)到(5);若 存在T EHCWTAl, TeU{CIS(x) | xEHCWTA2},不允許VMA與VMB的通 信或VM A由節(jié)點(diǎn)Nl到N2的遷移請求,轉(zhuǎn)到(6)。
(4) 允許VM A與VM B的通信或VM A由節(jié)點(diǎn)Nl到N2的遷移請求,轉(zhuǎn) 到(6)。
(5) 允許VM A與VM B的通信或VM A由節(jié)點(diǎn)Nl到N2的遷移請求,更 新全局安全服務(wù)器中HCWTT中對應(yīng)HCWTAl和HCWTA2的HCWTA為HCWTAl U HCWTA2,更新N1和N2節(jié)點(diǎn)的歷史中國墻類型數(shù)組為HCWTAl UHCWTA2,轉(zhuǎn) 到步驟(6);
(6) 對OSS中與HCWTA1、 HCWTA2對應(yīng)的HCWTA解鎖。 (7)輸出結(jié)束信息,結(jié)束。
在分布式環(huán)境下,應(yīng)用PCW策略監(jiān)控各個節(jié)點(diǎn)上虛擬機(jī)的關(guān)閉過程如
下;
例如,在關(guān)閉節(jié)點(diǎn)Nl上的VM A (其對應(yīng)的中國墻類型標(biāo)簽為Tl,所 屬歷史中國墻類型數(shù)組為HCWTAl)時,根據(jù)PCW策略的描述;
(1) 開始,判斷VM A是否為節(jié)點(diǎn)Nl上最后一個正在運(yùn)行的虛擬機(jī) 若VM A不是,轉(zhuǎn)到(3);
(2) 判斷節(jié)點(diǎn)Nl是否為其所屬通信邏輯集中最后一個正在運(yùn)行虛擬機(jī) 的節(jié)點(diǎn)若N1不是,轉(zhuǎn)到(4);若N1是,則轉(zhuǎn)到(5)。
(3) 關(guān)閉VM A,不改變該節(jié)點(diǎn)上的HCWTA,轉(zhuǎn)到(6)。
(4) 關(guān)閉VM A,清空本地HCWTA1,轉(zhuǎn)到(6)。
(5) 關(guān)閉VM A,清空本地HCWTA1,同時清空在OSS中HCWTT內(nèi)與HCWTAl 相對應(yīng)的HCWTA。(6)輸出結(jié)束信息,結(jié)束。
實(shí)例
為了驗(yàn)證基于優(yōu)先中國墻策略的虛擬機(jī)隱形流控制方法的有效性,我 們在單節(jié)點(diǎn)環(huán)境下實(shí)現(xiàn)了在虛擬機(jī)粒度下的強(qiáng)制訪問控制系統(tǒng),系統(tǒng)結(jié)構(gòu) 如圖5所示。系統(tǒng)采用開放源代碼Xen作為虛擬機(jī)監(jiān)視器(V畫)。在Xen 中添加強(qiáng)制訪問控制模塊虛擬機(jī)安全監(jiān)視器(VSMO,其結(jié)構(gòu)按照功能主要 分為三個部分
(1) 安全服務(wù)器(Security Server),主要功能是建立和管理(存儲、 修改、驗(yàn)證)安全策略。由于該安全服務(wù)器高安全和高可信的要求,在本 系統(tǒng)中,安全服務(wù)器運(yùn)行在VM 0中。系統(tǒng)通過SELinux保證VM 0的安全 和可信。
(2) 安全控制模塊(Security Control Module),維持策略狀態(tài),根據(jù) 當(dāng)前策略生成策略決策,從安全服務(wù)器中讀取安全策略,觸發(fā)回調(diào)
(Call-Back)函數(shù),在策略改變時重新驗(yàn)證V麗中的控制決策。
(3) 安全執(zhí)行代碼(Security Control Hook),根據(jù)安全控制模塊生成 的策略決策執(zhí)行該策略決策。
其中為了最小化VS,代碼的復(fù)雜度和保證安全性,安全服務(wù)器運(yùn)行在 VM 0中,安全控制模塊和安全執(zhí)行代碼添加至Xen源碼中。
根據(jù)PCW策略,歷史中國墻類型數(shù)組(HCWTA)由安全控制模塊維護(hù)。 HCWTA由中國墻類型標(biāo)簽索引,并包含一個標(biāo)志位表示該標(biāo)簽所代表的虛擬 機(jī)是否運(yùn)行(l為啟動,O為終止)。
當(dāng)某一個虛擬機(jī)發(fā)出啟動請求時,安全控制模塊根據(jù)HCWTA中的標(biāo)簽 及其標(biāo)志位判斷該虛擬機(jī)是否有權(quán)啟動;當(dāng)某一個虛擬機(jī)終止時,安全控 制模塊根據(jù)HCWTA中的標(biāo)簽及其標(biāo)志位判斷是否清空HCWTA。
圖6是實(shí)施優(yōu)先中國墻策略控制在一個單節(jié)點(diǎn)運(yùn)行簡單示意圖,標(biāo)簽 為0ilA和OilB的負(fù)載是利益相沖突的兩個負(fù)載,禁止信息流在它們之間 流動,策略禁止它們同時運(yùn)行,這樣使它們之間不能產(chǎn)生直接的隱形流。標(biāo)簽為BankC的負(fù)載不與它們兩者沖突,即可以存在信息流,但是一旦 BankC與0ilA—起運(yùn)行過,就會禁止它與OilB同時運(yùn)行,可以防止通過 BankC傳遞的間接隱形流。這樣使OilA與OilB之間不能進(jìn)行信息傳遞。
權(quán)利要求
1、一種基于優(yōu)先中國墻策略的虛擬機(jī)隱形流控制方法,虛擬機(jī)安全監(jiān)視器內(nèi)設(shè)置有歷史中國墻類型數(shù)組HCWTA,該數(shù)組作于記錄該節(jié)點(diǎn)上被分配標(biāo)簽虛擬機(jī)的運(yùn)行歷史記錄和現(xiàn)在的運(yùn)行狀態(tài);在單節(jié)點(diǎn)系統(tǒng)中虛擬機(jī)安全監(jiān)視器分別按照過程(A)和(B)根據(jù)虛擬機(jī)的標(biāo)簽監(jiān)控該節(jié)點(diǎn)內(nèi)任一虛擬機(jī)VM A的啟動和關(guān)閉過程,該虛擬機(jī)VMA對應(yīng)自己安全級別分配中國墻類型標(biāo)簽為T1;在分布式系統(tǒng)內(nèi),每個節(jié)點(diǎn)的虛擬機(jī)安全監(jiān)視器,按照過程(C)、和(E)監(jiān)控該節(jié)點(diǎn)內(nèi)任一虛擬機(jī)VM B啟動、關(guān)閉過程;按照過程(D)監(jiān)控其他節(jié)點(diǎn)上任一虛擬機(jī)VMC發(fā)出的遷移和通信請求,假定虛擬機(jī)VM B與VMC對應(yīng)自己安全級別分配中國墻類型標(biāo)簽為T2和T3;過程(A)虛擬機(jī)安全監(jiān)視器按照下述步驟監(jiān)控具有T1標(biāo)簽的虛擬機(jī)VM A的啟動過程,(A1)檢測歷史中國墻類型數(shù)組HCWTA,判斷HCWTA是否為空若HCWTA為空,轉(zhuǎn)到步驟(A4);若HCWTA不為空,則進(jìn)入步驟(A2);(A2)遍歷HCWTA,判斷虛擬機(jī)VM A所對應(yīng)的標(biāo)簽T1是否屬于HCWTA若T1∈HCWTA,轉(zhuǎn)到(A5);若<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><mi>T</mi><mn>1</mn><mo>∉</mo><mi>HCWTA</mi><mo>,</mo> </mrow>]]></math> id="icf0001" file="A2008100479460002C1.tif" wi="26" he="4" top= "162" left = "92" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>則轉(zhuǎn)到(A3);(A3)遍歷HCWTA,判斷虛擬機(jī)VM A標(biāo)簽T1是否與該節(jié)點(diǎn)上的HCWTA中的標(biāo)簽相沖突,即判斷T1是否屬于∪{CIS(xi)|xi∈HCWTA}若T1∈∪{CIS(xi)|xi∈HCWTA},轉(zhuǎn)到步驟(A6);若<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><mi>T</mi><mn>1</mn><mo>∉</mo><mo>∪</mo><mo>{</mo><mi>CIS</mi><mrow> <mo>(</mo> <mi>xi</mi> <mo>)</mo></mrow><mo>|</mo><mi>xi</mi><mo>∈</mo><mi>HCWTA</mi><mo>}</mo><mo>,</mo> </mrow>]]></math> id="icf0002" file="A2008100479460002C2.tif" wi="37" he="6" top= "188" left = "113" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>則轉(zhuǎn)到步驟(A4);(A4)虛擬機(jī)VM A允許啟動,將虛擬機(jī)VM A的標(biāo)簽T1加入到HCWTA,其中HCWTA={T1},轉(zhuǎn)到步驟(A7);(A5)存在與此虛擬機(jī)在該節(jié)點(diǎn)運(yùn)行過,虛擬機(jī)VM A允許啟動,不修改HCWTA,轉(zhuǎn)到步驟(A7);(A6)在HCWTA中存在類型T與虛擬機(jī)VM A所對應(yīng)的類型沖突,虛擬機(jī)VM A不允許啟動;(A7)輸出結(jié)束信息,結(jié)束;過程(B)虛擬機(jī)安全監(jiān)視器按照下述步驟監(jiān)控虛擬機(jī)VM A的關(guān)閉過程(B1)開始,若虛擬機(jī)VM A不是該節(jié)點(diǎn)的最后一個正在運(yùn)行的虛擬機(jī),則關(guān)閉虛擬機(jī)VM A后不改變HCWTA,轉(zhuǎn)到步驟(B3);(B2)若虛擬機(jī)VM A為該節(jié)點(diǎn)最后一個正在運(yùn)行的虛擬機(jī),則關(guān)閉虛擬機(jī)VM A后清空HCWTA;(B3)輸出結(jié)束信息,結(jié)束;過程(C)節(jié)點(diǎn)N1上的虛擬機(jī)安全監(jiān)視器按照下述步驟監(jiān)控該節(jié)點(diǎn)中任一虛擬機(jī)VM B在此節(jié)點(diǎn)上的啟動過程,虛擬機(jī)VM B其對應(yīng)的中國墻類型標(biāo)簽為T2,節(jié)點(diǎn)N1的歷史中國墻類型數(shù)組為HCWTA1;(C1)開始,檢測HCWTA1,判斷HCWTA1是否為空若HCWTA1為空,轉(zhuǎn)到步驟(C5);若HCWTA1不為空,則轉(zhuǎn)到步驟(C2);(C2)根據(jù)全局安全服務(wù)器中HCWTT更新本地節(jié)點(diǎn)的HCWTA1,對全局安全服務(wù)器中與HCWTA1對應(yīng)的HCWTA加鎖;(C3)遍歷HCWTA1,判斷T2是否屬于HCWTA1若T2∈HCWTA1,轉(zhuǎn)到步驟(C6);若<maths id="math0003" num="0003" ><math><![CDATA[ <mrow><mi>T</mi><mn>2</mn><mo>∉</mo><mi>HCWTA</mi><mn>1</mn><mo>,</mo> </mrow>]]></math> id="icf0003" file="A2008100479460003C1.tif" wi="28" he="5" top= "178" left = "57" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>轉(zhuǎn)到步驟(C4);(C4)遍歷HCWTA1,判斷虛擬機(jī)VM B標(biāo)簽T2是否與HCWTA1中的標(biāo)簽相沖突,即判斷T2是否屬于∪{CIS(x)|x∈HCWTA1}若T2∈∪{CIS(x)|x∈HCWTA1},在HCWTA中存在標(biāo)簽T與虛擬機(jī)VM B所對應(yīng)的類型沖突,則虛擬機(jī)VM B不允許啟動轉(zhuǎn)到步驟(C8);若<maths id="math0004" num="0004" ><math><![CDATA[ <mrow><mi>T</mi><mn>2</mn><mo>∉</mo><mo>∪</mo><mo>{</mo><mi>CIS</mi><mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo></mrow><mo>|</mo><mi>x</mi><mo>∈</mo><mi>HCWTA</mi><mn>1</mn><mo>}</mo><mo>,</mo> </mrow>]]></math> id="icf0004" file="A2008100479460003C2.tif" wi="31" he="5" top= "213" left = "118" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>則轉(zhuǎn)到步驟(C7);(C5)允許虛擬機(jī)VM B在N1運(yùn)行,把虛擬機(jī)VM B所對應(yīng)的標(biāo)簽T2加入到本節(jié)點(diǎn)HCWTA1中,同步全局安全服務(wù)器,在歷史中國墻類型表HCWTT中增加新的數(shù)組HCWTA1,更新HCWTA1,轉(zhuǎn)到步驟(C9);(C6)該則虛擬機(jī)VM B允許在節(jié)點(diǎn)N1啟動,不修改HCWTA1,更新HCWTT記錄運(yùn)行狀態(tài),轉(zhuǎn)到步驟(C8);(C7)新啟動的虛擬機(jī)的標(biāo)簽不與正在運(yùn)行的虛擬機(jī)的標(biāo)簽相沖突,允許虛擬機(jī)VM B在節(jié)點(diǎn)N1啟動,把虛擬機(jī)VM B所對應(yīng)的標(biāo)簽T2加入到本地HCWTA1中,同步全局安全服務(wù)器,更新HCWTT中對應(yīng)的HCWTA,轉(zhuǎn)到步驟(C8);(C8)對全局安全服務(wù)器中與HCWTA1對應(yīng)的HCWTA解鎖;(C9)輸出結(jié)束信息,結(jié)束;過程(D)每個節(jié)點(diǎn)上的虛擬機(jī)安全監(jiān)視器按照下述步驟監(jiān)控系統(tǒng)中各個節(jié)點(diǎn)上虛擬機(jī)間通信或虛擬機(jī)遷移請求的過程假設(shè)節(jié)點(diǎn)N1上虛擬機(jī)VM B,其對應(yīng)的中國墻類型標(biāo)簽為T2,所屬歷史中國墻類型數(shù)組為HCWTA1;節(jié)點(diǎn)N2上虛擬機(jī)VM C,其對應(yīng)的中國墻類型標(biāo)簽為T3,所屬歷史中國墻類型數(shù)組為HCWTA2;請求為虛擬機(jī)VM B與虛擬機(jī)VM C之間發(fā)起的通信請求,或者由虛擬機(jī)VM B發(fā)起從節(jié)點(diǎn)N1遷移到節(jié)點(diǎn)N2的遷移請求;(D1)開始,根據(jù)全局安全服務(wù)器中HCWTT更新HCWTA1和HCWTA2,對全局安全服務(wù)器中與HCWTA1及HCWTA2對應(yīng)的HCWTA加鎖;(D2)檢測HCWTA1,HCWTA2,比較HCWTA1和HCWTA2若HCWTA1=HCWTA2,轉(zhuǎn)到步驟(D4);若HCWTA1≠HCWTA2,則轉(zhuǎn)到步驟(D3);(D3)分別遍歷HCWTA1和HCWTA2,判斷HCWTA1中任一標(biāo)簽T是否屬于∪{CIS(x)|x∈HCWTA2},即是否存在T∈HCWTA1,T′∈HCWTA2且T∈CIS(T′)若<maths id="math0005" num="0005" ><math><![CDATA[ <mrow><mo>∀</mo><mi>T</mi><mo>∈</mo><mi>HCWTA</mi><mn>1</mn><mo>,</mo> </mrow>]]></math> id="icf0005" file="A2008100479460004C1.tif" wi="33" he="5" top= "204" left = "53" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths><maths id="math0006" num="0006" ><math><![CDATA[ <mrow><mi>T</mi><mo>∉</mo><mo>∪</mo><mo>{</mo><mi>CIS</mi><mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo></mrow><mo>|</mo><mi>x</mi><mo>∈</mo><mi>HCWTA</mi><mn>2</mn><mo>,</mo> </mrow>]]></math> id="icf0006" file="A2008100479460004C2.tif" wi="28" he="5" top= "204" left = "88" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>轉(zhuǎn)到(D5);若存在T∈HCWTA1,T∈∪{CIS(x)|x∈HCWTA2},不允許虛擬機(jī)VM B與虛擬機(jī)VM C的通信或虛擬機(jī)VM B由節(jié)點(diǎn)N1到N2的遷移請求,轉(zhuǎn)到步驟(D6);(D4)允許虛擬機(jī)VM B與虛擬機(jī)VM C的通信或虛擬機(jī)VM B由節(jié)點(diǎn)N1到N2的遷移請求,轉(zhuǎn)到步驟(D6);(D5)允許虛擬機(jī)VM B與虛擬機(jī)VM C的通信或虛擬機(jī)VM B由節(jié)點(diǎn)N1到N2的遷移請求,更新全局安全服務(wù)器中的HCWTA1與HCWTA2為HCWTA1∪HCWTA2,更新N1和N2節(jié)點(diǎn)的歷史中國墻類型數(shù)組為HCWTA1∪HCWTA2,轉(zhuǎn)到步驟(D6);(D6)對全局安全服務(wù)器中與節(jié)點(diǎn)對應(yīng)的HCWTA1和HCWTA2解鎖;(D7)輸出結(jié)束信息,結(jié)束;過程(E)節(jié)點(diǎn)N1上的虛擬機(jī)安全監(jiān)視器按照下述步驟監(jiān)控系統(tǒng)中各個節(jié)點(diǎn)上虛擬機(jī)的關(guān)閉過程(E1)開始,判斷虛擬機(jī)VM B是否為節(jié)點(diǎn)N1上最后一個正在運(yùn)行的虛擬機(jī)若虛擬機(jī)VM B不是,轉(zhuǎn)到步驟(E3);(E2)判斷節(jié)點(diǎn)N1是否為其所屬通信邏輯集中最后一個正在運(yùn)行虛擬機(jī)的節(jié)點(diǎn)若N1不是,轉(zhuǎn)到(E4);若N1是,則轉(zhuǎn)到步驟(E5);(E3)關(guān)閉虛擬機(jī)VM B,不改變該節(jié)點(diǎn)上的HCWTA,轉(zhuǎn)到步驟(E6);(E4)關(guān)閉虛擬機(jī)VM B,清空本地HCWTA1,轉(zhuǎn)到步驟(E6);(E5)關(guān)閉虛擬機(jī)VM B,清空本地HCWTA1,同時清空在全局安全服務(wù)器中HCWTT內(nèi)相對應(yīng)的HCWTA1;(E6)輸出結(jié)束信息,結(jié)束。
全文摘要
本發(fā)明公開了一種基于優(yōu)先中國墻策略的虛擬機(jī)訪問控制方法,該方法主要用于在虛擬機(jī)系統(tǒng)中進(jìn)行隱形流的控制,在資源的虛擬機(jī)隔離粒度上,針對于負(fù)載的安全與通信需求,為虛擬機(jī)的負(fù)載分配中國墻類型標(biāo)簽,在虛擬機(jī)啟動和遷入時,根據(jù)策略管理服務(wù)器中虛擬機(jī)運(yùn)行歷史狀態(tài)表進(jìn)行基于優(yōu)先中國墻策略的邏輯進(jìn)行判定,通過可控的資源調(diào)度管理控制虛擬機(jī)間的隱形流,并給用戶提供一個可以配置的資源調(diào)度方式。該方法虛擬機(jī)系統(tǒng)上的高安全性的應(yīng)用提供了隱形流控制,相比傳統(tǒng)強(qiáng)制控制策略,具有靈活性,可配置性并易于管理。
文檔編號G06F9/46GK101290586SQ20081004794
公開日2008年10月22日 申請日期2008年6月6日 優(yōu)先權(quán)日2008年6月6日
發(fā)明者磊 石, 戈 程, 峰 趙, 鄒德清, 海 金 申請人:華中科技大學(xué)