摘要:入侵檢測系統(tǒng)依賴于大量的數(shù)據(jù)檢測以區(qū)別合法和非法的行為。通過檢測操作系統(tǒng)內(nèi)核的系統(tǒng)調(diào)用序列,應(yīng)用免疫原理中的否定選擇算法,以區(qū)分合法與非法的系統(tǒng)調(diào)用。實(shí)驗(yàn)驗(yàn)證了該方法的可行性和有效性。
關(guān)鍵詞:計(jì)算機(jī)免疫; 系統(tǒng)調(diào)用; 否定選擇
中圖分類號:TP309.5文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2007)08-0165-02
隨著計(jì)算機(jī)和網(wǎng)絡(luò)的快速發(fā)展,計(jì)算機(jī)系統(tǒng)安全成為一個(gè)日益嚴(yán)重的問題。從UNIX的緩沖區(qū)溢出到Internet explore腳本漏洞,使操作系統(tǒng)和軟件充滿了各種陷阱。計(jì)算機(jī)系統(tǒng)不是靜態(tài)的,其上的程序和配置被不同的用戶和管理員不斷地改變。一個(gè)靜態(tài)的對系統(tǒng)的統(tǒng)計(jì)檢測方法已經(jīng)很難于奏效。在操作系統(tǒng)內(nèi)核系統(tǒng)調(diào)用層次的監(jiān)控和響應(yīng),這個(gè)基本的方法可以被用到有可編程接口的任何地方的系統(tǒng)中,用戶程序并沒有對硬件資源的直接訪問權(quán)。當(dāng)一個(gè)進(jìn)程要得到額外的內(nèi)存訪問權(quán)時(shí),它通過系統(tǒng)調(diào)用從內(nèi)核請求這些資源,這些正常的調(diào)用通過軟件中斷(0x80),這些指令把處理器轉(zhuǎn)變到一個(gè)內(nèi)核模式。如果一個(gè)被請求的系統(tǒng)調(diào)用被允許,則內(nèi)核執(zhí)行此調(diào)用,然后返回控制到正在請求的進(jìn)程或另外準(zhǔn)備運(yùn)行的進(jìn)程被請求操作。
本文討論基于系統(tǒng)調(diào)用序列的檢測是因?yàn)椋撼绦驁?zhí)行時(shí)的系統(tǒng)調(diào)用短序列的局部穩(wěn)定性;系統(tǒng)調(diào)用種類的有限性[1,2]。此類方法分為兩個(gè)階段:訓(xùn)練階段離線建立正常模式表;在訓(xùn)練階段跟蹤系統(tǒng)進(jìn)程的執(zhí)行過程,截取系統(tǒng)調(diào)用序列集合。對不同進(jìn)程的系統(tǒng)調(diào)用進(jìn)行過濾分組,形成模式表。
1目前相關(guān)模型
1.1 截獲控制系統(tǒng)調(diào)用實(shí)現(xiàn)系統(tǒng)訪問控制
其代表是M.Bernaschi等人[3]的REMUS模型,N.C. Suresh等人[4]建立的BuleBox模型。
這類以沙盒技術(shù)為代表系統(tǒng)是攔截控制系統(tǒng)調(diào)用,當(dāng)系統(tǒng)版本不同時(shí),需要人工更新規(guī)則庫
以適應(yīng)系統(tǒng)新版本,需要耗費(fèi)很大精力。
1.2 利用統(tǒng)計(jì)分析原理判斷異常系統(tǒng)調(diào)用
1.2.1馬爾可夫鏈模型(HMM)
HMM模型[5]在檢測器訓(xùn)練階段,用正常系統(tǒng)調(diào)用作為數(shù)據(jù)生成狀態(tài)轉(zhuǎn)移矩陣,在檢測時(shí)將檢測數(shù)據(jù)通過狀態(tài)轉(zhuǎn)移矩陣求出狀態(tài)序列,將之與正常狀態(tài)庫的向量作匹配,由此判斷出下一步的調(diào)用序列是否允許。此模型訓(xùn)練時(shí)間較長,系統(tǒng)開銷很大,但是誤報(bào)率較低。
1.2.2基于神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)方法
此模型[6]在訓(xùn)練階段采用方向傳播算法調(diào)整神經(jīng)網(wǎng)絡(luò)權(quán)值,為程序選擇一個(gè)最佳隱含節(jié)點(diǎn)。網(wǎng)絡(luò)正向傳播時(shí)用sigmoid函數(shù)計(jì)算每層的正向輸出,傳播誤差時(shí)采用梯度下降的方法來調(diào)整每一個(gè)權(quán)值。網(wǎng)絡(luò)訓(xùn)練的過程就是不斷計(jì)算輸出誤差并調(diào)整網(wǎng)絡(luò)權(quán)值直到達(dá)到一定誤差標(biāo)準(zhǔn)為止,此時(shí)網(wǎng)絡(luò)中產(chǎn)生了一個(gè)全局記憶,這些記憶自動(dòng)地適應(yīng)預(yù)測。但當(dāng)節(jié)點(diǎn)太多時(shí),網(wǎng)絡(luò)規(guī)模就會(huì)很龐大且輸入層接受反饋的神經(jīng)元很難確定。
1.2.3基于數(shù)據(jù)挖掘的分析方法
此類分析方法是將入侵檢測作為一個(gè)數(shù)據(jù)分類問題,對問題閾的數(shù)據(jù)使用KNN、RIPPER分類規(guī)則[7]、決策樹等算法從數(shù)據(jù)集中提取分類規(guī)則構(gòu)造檢測器,然后用此檢測器對實(shí)時(shí)數(shù)據(jù)進(jìn)行分類。此過程反復(fù)迭代評估,以達(dá)到最優(yōu)。
1.2.4短序列時(shí)序分析方法
Forrest領(lǐng)導(dǎo)的基于免疫原理的IDS系統(tǒng)提出對每個(gè)進(jìn)程建立正常行為模式庫來判斷入侵。采用系統(tǒng)調(diào)用類型,采用Stide滑動(dòng)窗口技術(shù)[1]從輸入序列中提取模式以形成正常模式庫。檢測時(shí)采用海明距離計(jì)算正常序列集與待檢測序列的匹配度。滑動(dòng)窗口技術(shù)過分依賴于窗口大小和序列時(shí)序的限制,入侵者常常可以通過訓(xùn)練自己的行為模式庫來躲避檢測[8]。
2基于免疫原理中否定選擇的檢測方法
2.1檢測器的生成
在基于免疫學(xué)的入侵檢測系統(tǒng)中,首先應(yīng)該具備識別自我與非自我的能力。此模型中
2.2模型實(shí)現(xiàn)算法
由未成熟檢測檢測器和自體數(shù)據(jù)進(jìn)行自體耐受的否定選擇,若不匹配則刪除該檢測器,否則加入成熟檢測器。使用成熟檢測器與外部抗原數(shù)據(jù)作親和力計(jì)算,若達(dá)到親和力閾值則進(jìn)入記憶檢測器,否則刪除該檢測器。對記憶檢測器達(dá)到匹配數(shù)的進(jìn)行克隆選擇以產(chǎn)生多樣化的檢測器。算法流程如圖1所示。
3實(shí)驗(yàn)和結(jié)果
在實(shí)驗(yàn)中初始設(shè)置親和力閾值delta=0.7,在入侵檢測中選取1 000個(gè)自體,檢測器長度為Sys_N=1 000,抗原更新時(shí)間AgTime=未成熟細(xì)胞耐受閾gamma=50, 成熟細(xì)胞死亡年齡alpha=50, 抗體年齡age=10, 匹配數(shù)count=100。
在抗體數(shù)量和自體串大小逐漸增大時(shí),系統(tǒng)中占用時(shí)間最多的否定選擇時(shí)間指數(shù)級增長。系統(tǒng)的錯(cuò)誤率反映檢測自體和非自體的能力。采用否定選擇算法,錯(cuò)誤肯定率總為零。增加抗體數(shù)量可以有效地降低錯(cuò)誤否定率,而檢測閾值的過大會(huì)導(dǎo)致抗體覆蓋率的降低,使錯(cuò)誤肯定率增加。因此,可以選取適當(dāng)?shù)膮?shù),在檢測速度和抗體覆蓋率上做一個(gè)權(quán)衡。
4結(jié)束語
在一般的入侵檢測系統(tǒng)中,采樣的數(shù)據(jù)無法準(zhǔn)確刻畫系統(tǒng)行為。本文采用系統(tǒng)調(diào)用序列作為檢測數(shù)據(jù),達(dá)到了較好的檢測結(jié)果。在選取適當(dāng)模型參數(shù)后,系統(tǒng)對未知非法行為有很好的識別能力,且錯(cuò)誤率較低。此模型體現(xiàn)了免疫系統(tǒng)的多樣性、自學(xué)習(xí)的多種特性。
參考文獻(xiàn):
[1]HOFMEYR S A, SOMAYAJI A, FORREST S, et al. A sense of self for UNIX processes [C]//Proc of IEEE Symposium on Security and Privacy. Oakland: IEEE Press, 1996:120128.
[2]HOFMEYR S A, SOMAYAJI A, FORREST S. Intrusion detection using sequences of system calls[J]. Journal of Computer Security,1998,6:151180 .
[3]BERNASCHIM, GABRIELLI E, MANCINI L V. REMUS: a securityenhancedoperating system[C]//Proc of ACM Trans on Information and System Security. Washington, DC:IEEE,2002.
[4]SURESH N C, CHENG P C. Bluebox: a policydriven, hostbased intrusion detection system[C]//Proc of the ISOC Symposium on Network and Distributed System Security. San Diego, CA:[s.n.],2002:46-50.
[5]WESPI A, DACIER M, DEBAR H. Intursion detection using variabellength audit trail patterns[C]//Recent Advances in Intrusion Detection.Toulon,F(xiàn)rance:[s.n.],2000:110129.
[6]ENDLER D. Intrusiondetection: applyingmachine learning to solarit audit data[C]//Procof Annual Computer Security Application Conference.Los Alamitos,CA: IEEE Computer Society Press,1989.
[7]WENKE L, SALVATORE J S, et al. Realtime data mining based intrusion detection[C]//Proc of DISCEX II. Anaheim: ACM Press,2001:15-20.
[8]WANGNER D, SOTO P. Mimicry attactonhostbasedintusiondetection system[C]//Proc of the 9th ACM Conference on Computer and Communications Security. Washington, DC:IEEE,2002:50.
[9]李濤.計(jì)算機(jī)免疫學(xué)[M].北京:電子工業(yè)出版社,2004:100120.
[10]高超,王麗君.基于系統(tǒng)調(diào)用的入侵檢測技術(shù)研究[J].信息安全與通信保密,2005(7):332-336.
[11]WARRENDER C, FORREST S, PEARLMUTTER B. Detecting intrusions using system calls: alternative data models[C]//Proc of IEEE Symposium on Security and Privacy. Los Alamitos:IEEE,1999:133145 .
[12]FORREST S, PERELSON A S, ALLEN L, et al. Selfnonself discrimination in a computer[C]//Proc of IEEESymposium on Research in Security and Privacy. Los Alamitos, CA: IEEE Computer Society Press, 1994:202-212 .
[13]WARRENDER C, et al.Detection intrusions using system calls:alternative date models[C]//Proc of IEEE Symposium on Security and Privacy. Los Alamitos: IEEE,1999.
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”