專利名稱:一種虛擬化用戶準(zhǔn)入安全檢測(cè)和隔離方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)檢測(cè)和防護(hù)以及虛擬化安全計(jì)算,具體涉及一種虛擬化計(jì)算下的用戶準(zhǔn)入安全檢測(cè)和隔離技術(shù)。
背景技術(shù):
對(duì)于現(xiàn)有操作系統(tǒng)安全來說,錯(cuò)誤的軟件架構(gòu)和用戶誤操作或者惡意病毒對(duì)用戶操作系統(tǒng)的破壞在所難免,先前的大多數(shù)訪問控制技術(shù)只是阻止可疑程序?qū)ο到y(tǒng)訪問,容易判斷失誤。而沙箱技術(shù)則是把可以程序的阻止系統(tǒng)訪問,轉(zhuǎn)變成將可疑程序?qū)Υ疟P、注冊(cè)表等的訪問重定向到指定文件夾下,從而更大程度上的保護(hù)用戶操作系統(tǒng)?,F(xiàn)有的沙箱技術(shù)在瀏覽器或其他程序中的使用主要出自Greenborder公司的沙箱技術(shù),根據(jù)其使用環(huán)境和技術(shù)路線可分為兩種第一種是采用虛擬技術(shù)的傳統(tǒng)沙盤,如sandboxie ;第二種就是采用策略限制的沙盤,主要有·windows下的ACL文件訪問控制列表和SID安全標(biāo)識(shí)符;Iinux的chroot權(quán)限隔離技術(shù)和SElinux技術(shù);MAC OS X 的 Seatbelt 技術(shù);Linux 的 seccomp 技術(shù);其中Seccomp (Secure Computing Mode)既安全計(jì)算模式是在 Iinux 2· 6· 23 和以后的一種內(nèi)核模式,當(dāng)進(jìn)程進(jìn)入此模式中,只能進(jìn)行exit O、sigreturnO > read O和write O四種系統(tǒng)調(diào)用,而其他的syscall則會(huì)使內(nèi)核發(fā)送SIGKILL信號(hào)結(jié)束進(jìn)程?,F(xiàn)有的沙箱技術(shù)是運(yùn)行在進(jìn)程級(jí)的粒度。這就意味著沙盒需要獨(dú)占一個(gè)進(jìn)程。最小化的沙箱應(yīng)該有兩個(gè)模塊一個(gè)模塊可以被稱為代理人機(jī)制,即沙箱進(jìn)程中會(huì)產(chǎn)生一個(gè)或多個(gè)被稱為特權(quán)控制器的線程來控制在沙箱內(nèi)部運(yùn)行的狀態(tài)。另一個(gè)則是包括一個(gè)靜態(tài)庫在內(nèi)的模塊,這個(gè)模塊必須與前面的代理人和目標(biāo)可執(zhí)行文件一致。現(xiàn)有使用的沙箱技術(shù)是一個(gè)基于用戶模式下的沙箱。一方面,在云環(huán)境下運(yùn)行其上的程序需要給網(wǎng)絡(luò)中不同用戶提供服務(wù),甚至其執(zhí)行的代碼也是由不同網(wǎng)絡(luò)用戶申請(qǐng)?zhí)峤徊⑦M(jìn)行運(yùn)行的,這就需要用到強(qiáng)制訪問控制MAC來提供可靠的白名單訪問,但是原有的模型只是基于自身判斷,容易由于自身的原因產(chǎn)生誤操作,從而錯(cuò)誤的撤銷并回滾無關(guān)用戶并行執(zhí)行的服務(wù)。另一方面,雖然Seccomp使用的系統(tǒng)調(diào)用過濾技術(shù),允許進(jìn)程將其本身嚴(yán)格的限制到受限的系統(tǒng)調(diào)用集。但是Seccomp模式的進(jìn)程不能動(dòng)態(tài)分配內(nèi)存、不能與其它進(jìn)程使用共享內(nèi)存、不能使用新的文件描述符,這無形就限制了沙箱系統(tǒng)的一些安全功能的實(shí)現(xiàn)。并且PR_SET_SECC0MP功能也在其運(yùn)行中存在錯(cuò)誤,允許本地用戶通過將32位進(jìn)程切換到64位模式并在64位進(jìn)程中使用syscall指令或interrupt 80h繞過安全執(zhí)行某些受限制的系統(tǒng)調(diào)用,從而對(duì)現(xiàn)有操作系統(tǒng)產(chǎn)生威脅。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種虛擬化用戶準(zhǔn)入安全檢測(cè)和隔離方法,對(duì)在使用虛擬化技術(shù)的沙箱中用戶和其代碼的準(zhǔn)入進(jìn)行判定,通過前期歷史數(shù)據(jù)中一些異常行為檢出并且阻止其惡意代碼進(jìn)行特殊的系統(tǒng)調(diào)用,以便于減少用戶代碼對(duì)系統(tǒng)的破壞;同時(shí)希望提高原有seccomp沙箱對(duì)資源消耗和讀取的判定速度,阻止惡意代碼對(duì)系統(tǒng)內(nèi)核的特殊調(diào)用,并且能夠在判定文件訪問等經(jīng)常性的系統(tǒng)調(diào)用操作中體現(xiàn)出較快的檢測(cè)速度和較高的檢測(cè)性能。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案包括以下步驟步驟I :在中間件中,建立目標(biāo)主機(jī)的操作系統(tǒng)上執(zhí)行的代碼和操作系統(tǒng)內(nèi)核之間的可觀察行動(dòng)和不完全信息的模型,并在沙箱保護(hù)下的目標(biāo)主機(jī)上記錄syscall調(diào)用情況,針對(duì)記錄的數(shù)據(jù)傳遞給策略引擎進(jìn)行處理;步驟2 :策略引擎接收到用戶代碼和用戶相關(guān)的特征信息后,則通過引擎中建立的信號(hào)博弈模型對(duì)這些信息進(jìn)行識(shí)別,根據(jù)原有概率計(jì)算用戶代碼是否為惡意代碼的概率;同時(shí)在策略引擎中建立內(nèi)核驗(yàn)證模型,把通過算法分類的特征信息放入決策集中,在決 策集中使用被改進(jìn)的代價(jià)策略認(rèn)證機(jī)制的完美貝葉斯算法對(duì)用戶行為進(jìn)行判斷,并且同時(shí)使用目標(biāo)主機(jī)中的中斷器對(duì)用戶代碼的運(yùn)行狀況進(jìn)行記錄,然后在沙箱中運(yùn)行的用戶進(jìn)程進(jìn)行系統(tǒng)調(diào)用運(yùn)行,在運(yùn)行的同時(shí)IPC終端中對(duì)用戶代碼產(chǎn)生的用戶進(jìn)程進(jìn)行重定向;步驟3 :在策略引擎進(jìn)行判斷后,中間件的IPC服務(wù)器利用目標(biāo)進(jìn)程和主機(jī)的交互信息核查其同步處理狀況;同時(shí)中間件把目標(biāo)進(jìn)程和主機(jī)處理的作業(yè)在轉(zhuǎn)移到中斷管理器中,并且沙箱對(duì)在其內(nèi)部運(yùn)行的仿真代碼產(chǎn)生的內(nèi)核信號(hào)進(jìn)行記錄,當(dāng)這些信號(hào)傳遞給運(yùn)行時(shí)軟件的時(shí)候,如果編譯器正在執(zhí)行解釋,則其會(huì)在運(yùn)行時(shí)把解釋例程傳遞給用戶中斷例程,并且解釋例程也會(huì)同時(shí)把控制權(quán)傳遞給用戶中斷例程進(jìn)行處理;如果編譯器未在執(zhí)行,則軟件對(duì)信號(hào)自行處理。在結(jié)束處理的時(shí)候,目標(biāo)主機(jī)中的中斷器更新中斷處理表;步驟4:針對(duì)放入虛擬化沙箱的用戶策略,策略平臺(tái)使用歷史數(shù)據(jù)比較來逐漸剔除劣勢(shì)策略,并且根據(jù)歷史數(shù)據(jù)計(jì)算回滾代價(jià)和用戶期望,形成相對(duì)優(yōu)化策略;然后把這些寫入策略引擎數(shù)據(jù)庫形成歷史數(shù)據(jù),之后運(yùn)行的時(shí)候策略引擎通過認(rèn)證的方式觸發(fā)或者進(jìn)程保護(hù)方式觸發(fā)提取策略引擎數(shù)據(jù)庫中的歷史數(shù)據(jù);同時(shí)策略引擎使用步驟2的改進(jìn)的完美貝葉斯算法對(duì)用戶在主機(jī)內(nèi)運(yùn)行產(chǎn)生的代價(jià)進(jìn)行記錄更新,從而形成相對(duì)準(zhǔn)確的沙箱完美貝葉斯算法優(yōu)化模型。本發(fā)明還提供一種實(shí)現(xiàn)上述虛擬化用戶準(zhǔn)入安全檢測(cè)和隔離方法的系統(tǒng),包括以下子模塊中間件模塊,包含中斷管理器子模塊,策略平臺(tái)子模塊,策略引擎子模塊和IPC服務(wù)子模塊;其中中間件模塊主要是進(jìn)行算法的預(yù)處理,中斷管理子模塊負(fù)責(zé)接收各個(gè)目標(biāo)主機(jī)沙箱內(nèi)的中斷發(fā)出的信號(hào),策略子平臺(tái)負(fù)責(zé)對(duì)信號(hào)進(jìn)行提取分類和儲(chǔ)存策略數(shù)據(jù),策略引擎子模塊則進(jìn)行算法處理,IPC服務(wù)子模塊負(fù)責(zé)和目標(biāo)機(jī)中的IPC模塊進(jìn)行通信,包括交換中斷信號(hào)和命令處理;沙箱模塊,包括目標(biāo)子模塊下的IPC終端子模塊,策略引擎終端子模塊和中斷器子模塊;其中沙箱模塊負(fù)責(zé)目標(biāo)主機(jī)中各個(gè)用戶程序或代碼的單獨(dú)運(yùn)行,在各個(gè)目標(biāo)主機(jī)中的策略引擎終端負(fù)責(zé)根據(jù)中間件中的策略引擎的給出的算法進(jìn)行相應(yīng)的執(zhí)行處理,中斷器則負(fù)責(zé)中斷處理,并且把中斷場(chǎng)景中的相應(yīng)數(shù)據(jù)傳輸?shù)街虚g件中進(jìn)行相應(yīng)的算法處理。本發(fā)明的有益效果是本發(fā)明使用完美均衡博弈策略對(duì)于沙箱判定用戶行為和相應(yīng)準(zhǔn)入代價(jià)形成算法,在策略引擎中進(jìn)行判定,從而減小用戶代價(jià),并且對(duì)歷史數(shù)據(jù)中一些異常行為能夠檢出并且阻止其惡意代碼進(jìn)行特殊的系統(tǒng)調(diào)用從而減少其對(duì)系統(tǒng)的破壞。針對(duì)用戶準(zhǔn)入判斷的方法,能夠?qū)ο到y(tǒng)資源等消耗和讀取判定速度一定程度上較原來seccomp沙箱中惡意代碼的特殊系統(tǒng)調(diào)用能夠有效地阻止,并且在判定文件訪問等幾項(xiàng)經(jīng)常性的系統(tǒng)調(diào)用操作體現(xiàn)出較好的檢測(cè)速度和性能。
圖I是資源代理機(jī)制圖;圖2是認(rèn)證策略代價(jià);圖3是中斷觸發(fā)處理。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明。I.系統(tǒng)模型改進(jìn)原則本方法根據(jù)如下四點(diǎn)設(shè)計(jì)原則進(jìn)行方法和系統(tǒng)的設(shè)計(jì)其一,假設(shè)云環(huán)境下幾乎所有云用戶的軟件代碼都在其平臺(tái)上執(zhí)行I/O操作。那么現(xiàn)有的很多行為是在Seccomp中嚴(yán)格受限的。這就要求軟件打開文件描述符的時(shí)候作為通信信道確保非可信代碼在進(jìn)行操作時(shí)候嚴(yán)格受到安全監(jiān)控。這就意味著必須在應(yīng)用程序代碼進(jìn)行調(diào)整的時(shí)候分離其更新的部分,進(jìn)行安全檢查來確保其更新部分的安全。其二,系統(tǒng)最大程度設(shè)計(jì)于執(zhí)行非可信程序代碼。這就要求沙箱控制普通用戶不能提升到超級(jí)用戶的權(quán)限。其三,現(xiàn)有的模擬環(huán)境和虛擬化安全解決方案本身并不能提供安全保障。沙箱不應(yīng)該依賴代碼仿真、代碼轉(zhuǎn)換或代碼修補(bǔ)來提供安全保障[8]。其四,改進(jìn)的Seccomp模式應(yīng)該通過智能算法對(duì)進(jìn)程進(jìn)行動(dòng)態(tài)分配內(nèi)存、并且其算法或者策略也能夠讓其保護(hù)的應(yīng)用程序產(chǎn)生的進(jìn)程與其它進(jìn)程使用共享內(nèi)存、也可以使用新的文件描述符。2.沙箱的資源認(rèn)證和服務(wù)模型根據(jù)上述原則,以避免本地用戶通過進(jìn)程切換繞過seccomp對(duì)系統(tǒng)產(chǎn)生破壞,應(yīng)該建立操作系統(tǒng)上執(zhí)行的代碼和操作系統(tǒng)內(nèi)核之間的可觀察行動(dòng)和不完全信息的多階段模型。其中沙箱內(nèi)資源的提供與使用通過提供服務(wù)但隨時(shí)可能回滾的方式來實(shí)現(xiàn)安全性,但回滾的同時(shí)可能因?yàn)轭w粒度原因會(huì)撤銷回滾在同一進(jìn)程或者服務(wù)組的其他正常服務(wù)用戶?,F(xiàn)有針對(duì)服務(wù)分為兩種角色代理人(Broker)和代理對(duì)象(Target),雙方的目的是實(shí)現(xiàn)資源最大化使用從而提供最大化服務(wù)。相當(dāng)于對(duì)服務(wù)資源的交易[9]??疾靤yscall調(diào)用的情況實(shí)際就是一種資源的交易情況假設(shè)代理對(duì)象提供的若干種資源可靠性可能不相同,資源的重要屬性為K。這里的“可靠性”是指,在實(shí)際使用時(shí),代理對(duì)象不會(huì)因?yàn)槟撤N原因而中斷服務(wù)并實(shí)現(xiàn)回滾的概率。代理對(duì)象知道自身服務(wù)可靠性但不知道對(duì)方使用可靠性,如果判斷服務(wù)行為錯(cuò)誤則重新提供服務(wù)F,任務(wù)代理根據(jù)觀察到的F決定成交策略。我們可以通過建立信號(hào)傳遞博弈方式,根據(jù)用戶代碼可靠性來選擇代理對(duì)象類型,并且依據(jù)此類型作為代理對(duì)象進(jìn)行服務(wù)并向代理人發(fā)出信號(hào),之后就可以利用回滾概率推斷資源代理的類型并做出相應(yīng)的決策,據(jù)此以建立相應(yīng)的信號(hào)博弈模型。3.沙箱中用戶準(zhǔn)入的PBE模型針對(duì)信號(hào)博弈模型,可以得出現(xiàn)有的信息傳遞博弈中對(duì)于認(rèn)證策略的組合公式定義一信息傳遞博弈的一個(gè)完美貝葉斯均衡是一個(gè)認(rèn)證策略組合σ *和后驗(yàn)信念μ (· I B1),使得
權(quán)利要求
1.一種虛擬化用戶準(zhǔn)入安全檢測(cè)和隔離方法,其特征在于包括下述步驟 步驟I :在中間件中,建立目標(biāo)主機(jī)的操作系統(tǒng)上執(zhí)行的代碼和操作系統(tǒng)內(nèi)核之間的可觀察行動(dòng)和不完全信息的模型,并在沙箱保護(hù)下的目標(biāo)主機(jī)上記錄syscall調(diào)用情況,針對(duì)記錄的數(shù)據(jù)傳遞給策略引擎進(jìn)行處理; 步驟2:策略引擎接收到用戶代碼和用戶相關(guān)的特征信息后,則通過引擎中建立的信號(hào)博弈模型對(duì)這些信息進(jìn)行識(shí)別,根據(jù)原有概率計(jì)算用戶代碼是否為惡意代碼的概率;同時(shí)在策略引擎中建立內(nèi)核驗(yàn)證模型,把通過算法分類的特征信息放入決策集中,在決策集中使用被改進(jìn)的代價(jià)策略認(rèn)證機(jī)制的完美貝葉斯算法對(duì)用戶行為進(jìn)行判斷,并且同時(shí)使用目標(biāo)主機(jī)中的中斷器對(duì)用戶代碼的運(yùn)行狀況進(jìn)行記錄,然后在沙箱中運(yùn)行的用戶進(jìn)程進(jìn)行系統(tǒng)調(diào)用運(yùn)行,在運(yùn)行的同時(shí)IPC終端中對(duì)用戶代碼產(chǎn)生的用戶進(jìn)程進(jìn)行重定向; 步驟3 :在策略引擎進(jìn)行判斷后,中間件的IPC服務(wù)器利用目標(biāo)進(jìn)程和主機(jī)的交互信息核查其同步處理狀況;同時(shí)中間件把目標(biāo)進(jìn)程和主機(jī)處理的作業(yè)在轉(zhuǎn)移到中斷管理器中,并且沙箱對(duì)在其內(nèi)部運(yùn)行的仿真代碼產(chǎn)生的內(nèi)核信號(hào)進(jìn)行記錄,當(dāng)這些信號(hào)傳遞給運(yùn)行時(shí)軟件的時(shí)候,如果編譯器正在執(zhí)行解釋,則其會(huì)在運(yùn)行時(shí)把解釋例程傳遞給用戶中斷例程,并且解釋例程也會(huì)同時(shí)把控制權(quán)傳遞給用戶中斷例程進(jìn)行處理;如果編譯器未在執(zhí)行,則軟件對(duì)信號(hào)自行處理。在結(jié)束處理的時(shí)候,目標(biāo)主機(jī)中的中斷器更新中斷處理表; 步驟4 :針對(duì)放入虛擬化沙箱的用戶策略,策略平臺(tái)使用歷史數(shù)據(jù)比較來逐漸剔除劣勢(shì)策略,并且根據(jù)歷史數(shù)據(jù)計(jì)算回滾代價(jià)和用戶期望,形成相對(duì)優(yōu)化策略;然后把這些寫入策略引擎數(shù)據(jù)庫形成歷史數(shù)據(jù),之后運(yùn)行的時(shí)候策略引擎通過認(rèn)證的方式觸發(fā)或者進(jìn)程保護(hù)方式觸發(fā)提取策略引擎數(shù)據(jù)庫中的歷史數(shù)據(jù);同時(shí)策略引擎使用步驟2的改進(jìn)的完美貝葉斯算法對(duì)用戶在主機(jī)內(nèi)運(yùn)行產(chǎn)生的代價(jià)進(jìn)行記錄更新,從而形成相對(duì)準(zhǔn)確的沙箱完美貝葉斯算法優(yōu)化模型。
2.一種實(shí)現(xiàn)權(quán)利要求I所述虛擬化用戶準(zhǔn)入安全檢測(cè)和隔離方法的系統(tǒng),其特征在于包括以下子模塊 中間件模塊,包含中斷管理器子模塊,策略平臺(tái)子模塊,策略引擎子模塊和IPC服務(wù)子模塊;其中中間件模塊主要是進(jìn)行算法的預(yù)處理,中斷管理子模塊負(fù)責(zé)接收各個(gè)目標(biāo)主機(jī)沙箱內(nèi)的中斷發(fā)出的信號(hào),策略子平臺(tái)負(fù)責(zé)對(duì)信號(hào)進(jìn)行提取分類和儲(chǔ)存策略數(shù)據(jù),策略引擎子模塊則進(jìn)行算法處理,IPC服務(wù)子模塊負(fù)責(zé)和目標(biāo)機(jī)中的IPC模塊進(jìn)行通信,包括交換中斷信號(hào)和命令處理; 沙箱模塊,包括目標(biāo)子模塊下的IPC終端子模塊,策略引擎終端子模塊和中斷器子模塊;其中沙箱模塊負(fù)責(zé)目標(biāo)主機(jī)中各個(gè)用戶程序或代碼的單獨(dú)運(yùn)行,在各個(gè)目標(biāo)主機(jī)中的策略引擎終端負(fù)責(zé)根據(jù)中間件中的策略引擎的給出的算法進(jìn)行相應(yīng)的執(zhí)行處理,中斷器則負(fù)責(zé)中斷處理,并且把中斷場(chǎng)景中的相應(yīng)數(shù)據(jù)傳輸?shù)街虚g件中進(jìn)行相應(yīng)的算法處理。
全文摘要
本發(fā)明提供了一種虛擬化用戶準(zhǔn)入安全檢測(cè)和隔離方法及其系統(tǒng),通過在計(jì)算中的系統(tǒng)調(diào)用中使用改進(jìn)的完美貝葉斯均衡(PBE)算法對(duì)用戶行為的系統(tǒng)調(diào)用進(jìn)行判定,利用算法構(gòu)造策略引擎,使用引擎決策現(xiàn)有用戶的行為以達(dá)到用戶代碼和服務(wù)器系統(tǒng)內(nèi)核雙方利益最大化,并且使用代理技術(shù)實(shí)現(xiàn)中斷判定和訪問同時(shí)實(shí)現(xiàn)計(jì)算和操作系統(tǒng)之間的隔離,改進(jìn)沙箱技術(shù)從而達(dá)到在用戶服務(wù)效率和安全保證之間的相對(duì)優(yōu)化。本發(fā)明對(duì)于系統(tǒng)資源等消耗和讀取判定速度一定程度上達(dá)到了大面積使用的要求,特別是能夠有效地阻止惡意代碼的特殊系統(tǒng)調(diào)用,極大程度上保護(hù)了系統(tǒng)的安全,并且在文件訪問等幾項(xiàng)經(jīng)常性的系統(tǒng)調(diào)用操作中,檢測(cè)速度和性能也相對(duì)有所提高。
文檔編號(hào)G06F21/56GK102902920SQ201210338718
公開日2013年1月30日 申請(qǐng)日期2012年9月13日 優(yōu)先權(quán)日2012年9月13日
發(fā)明者馬博, 慕德俊 申請(qǐng)人:西北工業(yè)大學(xué)