專(zhuān)利名稱(chēng):基于lsm的程序行為控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用作Internet服務(wù)器的安全服務(wù)器設(shè)備,特別涉及安全服務(wù)器中對(duì)程序行為進(jìn)行控制的方法。
背景技術(shù):
隨著社會(huì)信息化、網(wǎng)絡(luò)化進(jìn)程的逐漸深入,信息系統(tǒng)的安全變得越來(lái)越重要。越來(lái)越多的Internet服務(wù)器(如Web服務(wù)器,F(xiàn)TP服務(wù)器,Email服務(wù)器,DNS服務(wù)器)開(kāi)始運(yùn)行在安全服務(wù)器設(shè)備上。在傳統(tǒng)的安全服務(wù)器中,安全控制主要通過(guò)訪問(wèn)控制來(lái)實(shí)現(xiàn)。但這種安全控制機(jī)制仍然存在著很多問(wèn)題,因此,出現(xiàn)了程序行為控制技術(shù)。程序行為控制的基本原理是根據(jù)程序的行為或資源使用狀況的正常程度來(lái)判斷系統(tǒng)是否被用戶(hù)惡意使用。它一般通過(guò)對(duì)程序行為建模,監(jiān)控其行為是否符合行為模型。同傳統(tǒng)的訪問(wèn)控制技術(shù)相比,程序行為控制能有效地保證程序能按照預(yù)期設(shè)計(jì)的方式運(yùn)行。程序行為控制的關(guān)鍵問(wèn)題在于正常行為模型的建立,其實(shí)質(zhì)歸結(jié)為對(duì)所選取的被監(jiān)控程序?qū)徲?jì)數(shù)據(jù)的處理。因此,審計(jì)數(shù)據(jù)源質(zhì)量的好壞直接影響行為控制的效果。目前,現(xiàn)有的程序行為控制方法中審計(jì)數(shù)據(jù)源一般為系統(tǒng)調(diào)用。
LSM(Linux Security Modules,Linux安全模塊)框架對(duì)系統(tǒng)需要保護(hù)的資源進(jìn)行分析,確定哪些是要保護(hù)的客體,并通過(guò)分析源程序進(jìn)一步確定這些客體對(duì)應(yīng)哪些數(shù)據(jù)結(jié)構(gòu),以及哪些函數(shù)對(duì)其進(jìn)行了操作。在對(duì)客體進(jìn)行訪問(wèn)的最終的(以功能為粒度)函數(shù)中插入鉤子(hook)截獲訪問(wèn),調(diào)用安全機(jī)制,并通過(guò)另外一些hooks修改客體對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),以滿(mǎn)足安全機(jī)制的需要。利用LSM截獲點(diǎn)作為程序行為建模的數(shù)據(jù)源具有以下好處LSM的截獲點(diǎn)在系統(tǒng)調(diào)用或內(nèi)核函數(shù)內(nèi),它的粒度比系統(tǒng)調(diào)用還細(xì),而且都位于對(duì)各種資源的訪問(wèn)點(diǎn)上,與安全關(guān)系密切;系統(tǒng)調(diào)用記錄進(jìn)程與內(nèi)核交互的動(dòng)作序列,LSM記錄進(jìn)程訪問(wèn)資源的序列,更安全相關(guān)。
但現(xiàn)有的利用系統(tǒng)調(diào)用序列作為程序行為建模的程序行為控制方法存在不足是正常行為模式庫(kù)過(guò)于龐大,檢測(cè)效率較低、誤報(bào)率高。
發(fā)明內(nèi)容
本發(fā)明主要針對(duì)安全服務(wù)器設(shè)備中現(xiàn)有的利用系統(tǒng)調(diào)用序列作為程序行為建模的程序行為控制技術(shù)存在的正常行為模式庫(kù)過(guò)于龐大,檢測(cè)效率低、誤報(bào)率高的問(wèn)題,提供一種利用LSM截獲點(diǎn)作為程序行為建模的數(shù)據(jù)源的程序行為控制方法以輔助提高安全服務(wù)器設(shè)備識(shí)別異常程序行為的能力。
為實(shí)現(xiàn)本發(fā)明所述目的,本發(fā)明提供一種基于利用LSM載獲點(diǎn)進(jìn)行程序行為控制的方法,該方法包括以下步驟(1)如果利用LSM截獲點(diǎn)描述的正常程序行為模式庫(kù)還未完全建立,則執(zhí)行步驟2,否則轉(zhuǎn)步驟4;(2)截獲被監(jiān)控程序所經(jīng)過(guò)的LSM控制點(diǎn)信息,生成一條長(zhǎng)度等于10的LSM截獲點(diǎn)序列;(3)將生成的序列與正常行為模式庫(kù)中的已有序列進(jìn)行比較,如果沒(méi)有匹配的序列存在,則將該序列加入到正常行為模式庫(kù)中,轉(zhuǎn)步驟(1);(4)開(kāi)始監(jiān)控指定的程序;(5)截獲被監(jiān)控程序所經(jīng)過(guò)的LSM控制點(diǎn)信息,生成一條長(zhǎng)度等于10的LSM截獲點(diǎn)序列;(6)將生成的序列與正常行為模式庫(kù)中的已有序列進(jìn)行比較,如果沒(méi)有匹配的序列存在,則向系統(tǒng)發(fā)出告警(有異常行為),如果程序結(jié)束則轉(zhuǎn)步驟(7),否則轉(zhuǎn)步驟(5);(7)監(jiān)控結(jié)束。
本發(fā)明提供了一種利用LSM截獲點(diǎn)作為程序行為建模的數(shù)據(jù)源的程序行為控制方法以輔助提高安全服務(wù)器設(shè)備識(shí)別異常程序行為的能力。模式庫(kù)不大,檢測(cè)效率較高、誤報(bào)率低。
下面將結(jié)合附圖對(duì)具體實(shí)施例進(jìn)行詳細(xì)說(shuō)明。
四
圖1是安全服務(wù)器設(shè)備監(jiān)控程序行為的流程2是本發(fā)明方法的流程3是獲取LSM截獲點(diǎn)的流程圖五具體實(shí)施方式
如圖1所示。用戶(hù)在啟動(dòng)了用作Internet服務(wù)器的安全服務(wù)器設(shè)備監(jiān)控程序后根據(jù)需求手動(dòng)設(shè)置需監(jiān)控的程序?qū)ο?。在獲取了被監(jiān)控程序的截獲數(shù)據(jù)后,安全服務(wù)器將其交給識(shí)別機(jī)制處理,通常是將截獲的數(shù)據(jù)和被監(jiān)控程序的正常行為模式庫(kù)進(jìn)行比對(duì),進(jìn)行必要的異常處理,正常則繼續(xù)?,F(xiàn)有技術(shù)的被監(jiān)控程序的正常行為模式庫(kù)很大。
本發(fā)明方法如圖2所示。步驟10是初始動(dòng)作。步驟11完成安全服務(wù)器設(shè)備獲取LSM截獲點(diǎn)數(shù)據(jù)并生成一條長(zhǎng)度等于10的LSM截獲點(diǎn)序列。該數(shù)據(jù)序列是用本發(fā)明專(zhuān)門(mén)設(shè)計(jì)的處理方式得到的,不同于傳統(tǒng)的系統(tǒng)調(diào)用短序列。步驟11將在后面的部分結(jié)合圖3進(jìn)行具體介紹。
安全服務(wù)器設(shè)備可以根據(jù)用戶(hù)的需求自主設(shè)置某個(gè)特定的程序行為,而在一個(gè)計(jì)算機(jī)系統(tǒng)中可能同時(shí)運(yùn)行著多個(gè)程序的執(zhí)行映像,因此圖2的步驟12將根據(jù)程序行為的進(jìn)程號(hào)判斷是否該進(jìn)程需要監(jiān)控,如果需要監(jiān)控,步驟13將找到該程序相應(yīng)的正常行為模式庫(kù)。步驟14判斷識(shí)別機(jī)制是否已訓(xùn)練好,如果是則執(zhí)行步驟17,否則執(zhí)行步驟15。步驟15完成在線(xiàn)學(xué)習(xí)的功能,在識(shí)別機(jī)制沒(méi)有訓(xùn)練好的情況下,該步驟將截獲的數(shù)據(jù)序列和正常行為模式庫(kù)進(jìn)行比對(duì),若在庫(kù)中找不到匹配序列則說(shuō)明該序列是一條新的正常序列,步驟16將其保存在程序的正常行為模式庫(kù)中,否則丟棄。
步驟17完成真正的監(jiān)控功能。具體的匹配機(jī)制同步驟15。如果得到一條不匹配的數(shù)據(jù)序列,安全服務(wù)器設(shè)備將自動(dòng)進(jìn)行必要的異常處理,否則更新相關(guān)數(shù)據(jù)后返回步驟11。
圖3詳細(xì)說(shuō)明了步驟11,其作用是獲取不同于系統(tǒng)調(diào)用的LSM截獲點(diǎn)數(shù)據(jù)。步驟100是起始動(dòng)作。為了獲得LSM截獲點(diǎn)數(shù)據(jù),步驟102修改了系統(tǒng)中鉤子函數(shù)默認(rèn)的入口地址,由步驟103執(zhí)行自定義的鉤子函數(shù),獲取LSM截獲點(diǎn)數(shù)據(jù)。步驟104判斷數(shù)據(jù)序列長(zhǎng)度是否等于10,若不等則返回步驟101,否則執(zhí)行步驟105結(jié)束該過(guò)程。
例如,可以用本發(fā)明方法保護(hù)Email服務(wù)器程序。在建立了用LSM截獲點(diǎn)序列描述的Email服務(wù)器程序的正常行為模式庫(kù)后,啟動(dòng)對(duì)Email服務(wù)器程序的實(shí)時(shí)監(jiān)控。如果攻擊者成功地對(duì)Email服務(wù)器程序進(jìn)行緩沖區(qū)溢出攻擊,并獲得了系統(tǒng)的控制權(quán),則當(dāng)攻擊者開(kāi)始執(zhí)行一些非法操作時(shí),監(jiān)控程序即可監(jiān)測(cè)到正常行為模式庫(kù)中沒(méi)有出現(xiàn)的LSM截獲點(diǎn)序列,從而發(fā)現(xiàn)并阻止攻擊者執(zhí)行任何操作。
由于LSM的截獲點(diǎn)在系統(tǒng)調(diào)用或內(nèi)核函數(shù)內(nèi),而且都位于對(duì)各種資源的訪問(wèn)點(diǎn)上,因此與安全關(guān)系密切LSM截獲點(diǎn)具有比系統(tǒng)調(diào)用更細(xì)的粒度,用它來(lái)代替安全服務(wù)器設(shè)備中原有的利用系統(tǒng)調(diào)用序列作為程序行為建模的程序行為控制技術(shù)可以縮減正常行為模式庫(kù)規(guī)模,提高檢測(cè)效率,降低誤報(bào)率。所以圖3中LSM截獲點(diǎn)數(shù)據(jù)序列是本發(fā)明方法的核心。
權(quán)利要求
1.一種基于利用LSM載獲點(diǎn)進(jìn)行程序行為控制的方法,該方法包括以下步驟(1)如果利用LSM截獲點(diǎn)描述的正常程序行為模式庫(kù)還未完全建立,則執(zhí)行步驟2,否則轉(zhuǎn)步驟4;(2)截獲被監(jiān)控程序所經(jīng)過(guò)的LSM控制點(diǎn)信息,生成一條長(zhǎng)度等于10的LSM截獲點(diǎn)序列;(3)將生成的序列與正常行為模式庫(kù)中的已有序列進(jìn)行比較,如果沒(méi)有匹配的序列存在,則將該序列加入到正常行為模式庫(kù)中,轉(zhuǎn)步驟1;(4)開(kāi)始監(jiān)控指定的程序;(5)截獲被監(jiān)控程序所經(jīng)過(guò)的LSM控制點(diǎn)信息,生成一條長(zhǎng)度等于10的LSM截獲點(diǎn)序列;(6)將生成的序列與正常行為模式庫(kù)中的已有序列進(jìn)行比較,如果沒(méi)有匹配的序列存在,則向系統(tǒng)發(fā)出告警(有異常行為),如果程序結(jié)束則轉(zhuǎn)步驟7,否則轉(zhuǎn)步驟5;(7)監(jiān)控結(jié)束。
2.由權(quán)利要求1所述的利用LSM載獲點(diǎn)進(jìn)行程序行為控制的方法,其特征是獲得LSM截獲點(diǎn)序列的方法步驟100是起始動(dòng)作;步驟102修改了系統(tǒng)中鉤子函數(shù)默認(rèn)的入口地址;由步驟103執(zhí)行自定義的鉤子函數(shù);獲取LSM截獲點(diǎn)數(shù)據(jù);步驟104判斷數(shù)據(jù)序列長(zhǎng)度是否等于10,若不等則返回步驟101,否則執(zhí)行步驟105結(jié)束該過(guò)程。
全文摘要
一種基于利用LSM截獲點(diǎn)進(jìn)行程序行為控制的方法,該方法包括以下步驟截獲被監(jiān)控程序所經(jīng)過(guò)的LSM控制點(diǎn)信息,生成一條長(zhǎng)度等于10的LSM截獲點(diǎn)序列;將生成的序列與正常行為模式庫(kù)中的已有序列進(jìn)行比較,如果沒(méi)有匹配的序列存在,則將該序列加入到正常行為模式庫(kù)中;開(kāi)始監(jiān)控指定的程序;截獲被監(jiān)控程序所經(jīng)過(guò)的LSM控制點(diǎn)信息;將生成的序列與正常行為模式庫(kù)中的已有序列進(jìn)行比較,如果沒(méi)有匹配的序列存在,則向系統(tǒng)發(fā)出告警(有異常行為)。本發(fā)明提供了一種利用LSM截獲點(diǎn)作為程序行為建模的數(shù)據(jù)源的程序行為控制方法以輔助提高安全服務(wù)器設(shè)備識(shí)別異常程序行為的能力。
文檔編號(hào)G06F11/30GK1648869SQ20041001396
公開(kāi)日2005年8月3日 申請(qǐng)日期2004年1月19日 優(yōu)先權(quán)日2004年1月19日
發(fā)明者張衡, 吳禮發(fā) 申請(qǐng)人:中國(guó)人民解放軍理工大學(xué)