一種基于cpu時空隔離機(jī)制實(shí)現(xiàn)應(yīng)用軟件行為監(jiān)控系統(tǒng)的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種軟件監(jiān)控方法,具體地說是一種基于(PU時空隔離機(jī)制實(shí)現(xiàn)應(yīng)用軟件行為監(jiān)控系統(tǒng)的方法,屬于軟件監(jiān)控領(lǐng)域。
【背景技術(shù)】
[0002]隨著信息技術(shù)的不斷發(fā)展,國民經(jīng)濟(jì)及國防軍工信息化技術(shù)運(yùn)用的普及,計算機(jī)應(yīng)用系統(tǒng)處于經(jīng)濟(jì)、國防的基礎(chǔ)支撐地位,而其安全性問題已經(jīng)成為決定經(jīng)濟(jì)、國防安全的關(guān)鍵,一旦計算機(jī)應(yīng)用系統(tǒng)遭到破壞,將會導(dǎo)致災(zāi)難性后果。作為計算機(jī)應(yīng)用系統(tǒng)安全防護(hù)的重要一環(huán),當(dāng)前基于惡意代碼行為特征匹配的傳統(tǒng)計算機(jī)防護(hù)軟件,無法及時檢測經(jīng)過多態(tài)、加殼、變形、反跟蹤等隱藏技術(shù)的惡意代碼。從應(yīng)用軟件運(yùn)行操作的角度出發(fā),任何應(yīng)用軟件對系統(tǒng)資源的操作都是通過進(jìn)程進(jìn)行系統(tǒng)調(diào)用,而可以表征應(yīng)用軟件行為特征的系統(tǒng)調(diào)用序列和系統(tǒng)調(diào)用參數(shù)信息(參數(shù)字符類型、參數(shù)長度、返回值類型)在局部范圍內(nèi)是一個規(guī)則集合,因此,為了解決傳統(tǒng)防護(hù)軟件在時效性與可靠性方面的不足,通過提取應(yīng)用軟件正常行為特征建立規(guī)則樣本庫的應(yīng)用軟件行為監(jiān)控系統(tǒng)被提出來,并且受到國內(nèi)外信息安全研究領(lǐng)域的廣泛關(guān)注。
[0003]當(dāng)前應(yīng)用軟件行為監(jiān)控系統(tǒng)所采用的技術(shù)方案主要有:1、操作系統(tǒng)用戶層監(jiān)控技術(shù),通過系統(tǒng)調(diào)用接口函數(shù)獲取所要分析的數(shù)據(jù)信息,然而應(yīng)用軟件行為監(jiān)控系統(tǒng)自身安全無法保障,且必須依賴系統(tǒng)管理員經(jīng)驗(yàn)判斷是否發(fā)生入侵,不能滿足系統(tǒng)安全的時效性和可靠性要求。2、操作系統(tǒng)內(nèi)核層監(jiān)控技術(shù),通過內(nèi)核安全鉤子函數(shù)截獲進(jìn)程對某個特定API的函數(shù)調(diào)用,使得API的執(zhí)行流程轉(zhuǎn)向指定的檢測、分析、監(jiān)控代碼。如果惡意代碼一旦獲得系統(tǒng)內(nèi)核訪問權(quán)限,那么內(nèi)核層監(jiān)控技術(shù)的有效性明顯受到挑戰(zhàn),應(yīng)用軟件行為監(jiān)控系統(tǒng)存在被繞過的風(fēng)險。3、基于硬件虛擬化的監(jiān)控技術(shù),通過運(yùn)行于計算機(jī)硬件平臺與操作系統(tǒng)內(nèi)核之間的虛擬機(jī)管理軟件,監(jiān)管系統(tǒng)內(nèi)存空間使用、應(yīng)用軟件行為特征及動態(tài)內(nèi)核對象訪問權(quán)限等信息,其更高特權(quán)級的CPU運(yùn)行態(tài)可以保障應(yīng)用行為監(jiān)管系統(tǒng)的高可靠性,然而虛擬機(jī)管理軟件只能獲取系統(tǒng)硬件級別的信息,比如CPU中寄存器的參數(shù)信息,內(nèi)存地址等,因此從硬件平臺上直接獲取到的系統(tǒng)信息與操作系統(tǒng)之間存在語義差別,可讀性較差,額外的系統(tǒng)語義轉(zhuǎn)換嚴(yán)重影響系統(tǒng)性能。
【發(fā)明內(nèi)容】
[0004]為了解決上述問題,本發(fā)明設(shè)計了一種基于CPU時空隔離機(jī)制實(shí)現(xiàn)應(yīng)用軟件行為監(jiān)控系統(tǒng)的方法,提高了應(yīng)用軟件行為監(jiān)控系統(tǒng)的時效性和可靠性,增強(qiáng)了計算機(jī)應(yīng)用系統(tǒng)的安全性。
[0005]本發(fā)明的技術(shù)方案為:
[0006]—種基于CPU時空隔離機(jī)制實(shí)現(xiàn)應(yīng)用軟件行為監(jiān)控系統(tǒng)的方法,所述監(jiān)控系統(tǒng)的方法,包括以下步驟:
[0007]1、在通用操作系統(tǒng)運(yùn)行環(huán)境下,利用系統(tǒng)調(diào)用攔截技術(shù)提取應(yīng)用軟件進(jìn)程系統(tǒng)調(diào)用序列、系統(tǒng)調(diào)用參數(shù)信息及返回值,通過數(shù)據(jù)分析技術(shù)建立進(jìn)程正常行為樣本庫;
[0008]2、在通用操作系統(tǒng)運(yùn)行環(huán)境下,攔截應(yīng)用軟件行為信息,并保存于通用操作系統(tǒng)共享內(nèi)存空間;通過預(yù)設(shè)的安全時鐘中斷處理將系統(tǒng)運(yùn)行狀態(tài)切換至安全內(nèi)核;
[0009]3、安全內(nèi)核中的應(yīng)用軟件行為監(jiān)控系統(tǒng)基于安全時鐘的中斷處理以讀取攔截的應(yīng)用軟件進(jìn)程行為信息,并通過應(yīng)用正常行為樣本庫進(jìn)行異常檢測;如果異常度值大于預(yù)設(shè)安全閥值,則發(fā)生異常,系統(tǒng)根據(jù)安全策略進(jìn)行安全處理,反之;
[0010]4、檢測處理完畢,系統(tǒng)狀態(tài)返回。
[0011]所述監(jiān)控系統(tǒng)包括以下組成部分:
[0012]1、異常檢測模塊
[0013]異常檢測模塊讀取已攔截的應(yīng)用軟件系統(tǒng)調(diào)用序列、系統(tǒng)調(diào)用參數(shù)信息及返回值,利用數(shù)據(jù)分析技術(shù)建立應(yīng)用軟件正常行為模型,通過比較異常度值和預(yù)設(shè)安全閥值的大小來確定是否發(fā)出異常;兩種工作模式:
[0014]I)訓(xùn)練模式
[0015]在通用操作系統(tǒng)運(yùn)行環(huán)境下,通過操作系統(tǒng)內(nèi)核的異常處理模塊來攔截安全應(yīng)用軟件系統(tǒng)調(diào)用序列、參數(shù)信息及返回值,經(jīng)過一段時間的攔截試驗(yàn),形成應(yīng)用軟件正常行為樣本庫;
[0016]2)檢測模式
[0017]在通用操作系統(tǒng)運(yùn)行環(huán)境下,保存已攔截的應(yīng)用軟件系統(tǒng)調(diào)用信息;基于安全時鐘的中斷處理,通過系統(tǒng)狀態(tài)切換指令使得系統(tǒng)運(yùn)行狀態(tài)切換至安全內(nèi)核;此時,在安全內(nèi)核運(yùn)行環(huán)境下的應(yīng)用軟件行為監(jiān)控系統(tǒng)讀取已攔截的系統(tǒng)調(diào)用信息,并與應(yīng)用軟件正常行為樣本庫進(jìn)行模式匹配,比較異常度值與安全閥值來判斷軟件行為是否異常;
[0018]2、樣本庫管理
[0019]I)初始化模式
[0020]存儲應(yīng)用軟件正常行為模型的初始樣本庫;
[0021]2)動態(tài)加載行為樣本
[0022]對于應(yīng)用軟件更新、升級過程中所出現(xiàn)的新的行為信息通過詢問用戶的方式,動態(tài)選擇加載到應(yīng)用軟件的正常行為樣本庫;
[0023]3、異常處理模塊
[0024]在安全內(nèi)核環(huán)境下,對經(jīng)過匹配分析的應(yīng)用軟件根據(jù)安全策略進(jìn)行放行、中止、詢問等操作,并對系統(tǒng)狀態(tài)進(jìn)行異常返回。
[0025]CPU時空隔離機(jī)制是指利用CPU虛擬化技術(shù)以時間片的方式運(yùn)行兩個不同狀態(tài)的CPU虛擬核,通常劃分為安全核和普通核;通過內(nèi)存管理單元MMU對系統(tǒng)內(nèi)存域進(jìn)行空間劃分,配置內(nèi)存控制相關(guān)的寄存器以確保不同內(nèi)存區(qū)域的訪問權(quán)限,達(dá)到訪問控制內(nèi)存隔離的效果。
[0026]本發(fā)明以CPU、操作系統(tǒng)、應(yīng)用軟件行為監(jiān)控系統(tǒng)的緊耦合為基本思想,突出系統(tǒng)實(shí)現(xiàn)整體性和軟硬件協(xié)同性,力圖基于CPU時空隔離機(jī)制來確保應(yīng)用軟件行為監(jiān)控系統(tǒng)的高時效和高安全。為了實(shí)現(xiàn)目標(biāo),首先,需要構(gòu)建一個應(yīng)用軟件行為監(jiān)控系統(tǒng)的基本運(yùn)行環(huán)境,即安全內(nèi)核。安全內(nèi)核提供基本的內(nèi)存管理、進(jìn)程調(diào)度、異常處理、系統(tǒng)調(diào)用功能,通過CPU虛擬化技術(shù),運(yùn)行于CPU安全核。其次,構(gòu)建一個普通應(yīng)用軟件的基本運(yùn)行環(huán)境,即通用操作系統(tǒng),運(yùn)行于CPU普通核。最后,需要構(gòu)建一個安全監(jiān)控器,負(fù)責(zé)在兩個操作系統(tǒng)之間進(jìn)行上下文切換,運(yùn)行于CPU安全核。
[0027]本發(fā)明的優(yōu)點(diǎn)在于:
[0028]1、在獲取系統(tǒng)底層調(diào)用信息的同時,不存在與操作系統(tǒng)之間的語義差別,對系統(tǒng)性能損傷??;
[0029]2、運(yùn)行于安全內(nèi)核的應(yīng)用行為監(jiān)控系統(tǒng)具有更高的隔離性,可以確保對應(yīng)用軟件行為監(jiān)控的有效性及系統(tǒng)自身的安全性;
[0030]3、在專用計算機(jī)應(yīng)用領(lǐng)域,該應(yīng)用軟件行為監(jiān)控系統(tǒng)完全可以使得因?yàn)檐浖┒炊鸬南到y(tǒng)安全風(fēng)險降到最低。
[0031]下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步說明。
【附圖說明】
[0032]圖1為本發(fā)明實(shí)施例監(jiān)控系統(tǒng)的方法示意圖;
[0033]圖2為本發(fā)明實(shí)施例監(jiān)控系統(tǒng)的結(jié)構(gòu)組成圖,圖中,ELn代表CPU運(yùn)行狀態(tài)特權(quán)級,η= 0,1,,3。
【具體實(shí)施方式】
[0034]以下對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0035]實(shí)施例1
[0036]—種基于CPU時空隔離機(jī)制實(shí)現(xiàn)應(yīng)用軟件行為監(jiān)控系統(tǒng)的方法,如圖1所示,所述監(jiān)控系統(tǒng)的方法,包括以下步驟:
[0037]1、在通用操作系統(tǒng)運(yùn)行環(huán)境下,利用系統(tǒng)調(diào)用攔截技術(shù)提取應(yīng)用軟件進(jìn)程系統(tǒng)調(diào)用序列、系統(tǒng)調(diào)用參數(shù)信息及返回值,通過數(shù)據(jù)分析技術(shù)建立進(jìn)程正常行為樣本庫;
[0038]2、在通用操作系統(tǒng)運(yùn)行環(huán)境下,攔截應(yīng)用軟件行為信息,并保存于通用操作系統(tǒng)共享內(nèi)存空間;通過預(yù)設(shè)的安全時鐘中斷處理將系統(tǒng)運(yùn)行狀態(tài)切換至安全內(nèi)核;