基于免疫的入侵檢測(cè)模型與通信應(yīng)用研究
關(guān)鍵詞:人工免疫系統(tǒng);入侵檢測(cè);無(wú)線通訊網(wǎng)絡(luò)
1. 引言
本文提出一種在計(jì)算機(jī)系統(tǒng)操作中使用的針對(duì)網(wǎng)絡(luò)入侵的安全檢測(cè)法。算法結(jié)合了自然生物免疫系統(tǒng)的原理。論證部分詳細(xì)描述了怎樣提取人類免疫系統(tǒng)的特點(diǎn)來(lái)應(yīng)用于入侵檢測(cè)系統(tǒng)的程序,同時(shí)依靠日志文件來(lái)辨別非法入侵。它通過(guò)簡(jiǎn)化郵件日志和存取記錄,有效的提高了系統(tǒng)的適應(yīng)性和魯棒性。由于減小了日志文件容量,因此算法具備相當(dāng)大的靈活性,可應(yīng)用于無(wú)線通訊系統(tǒng),這點(diǎn)在本文也有論述。
2. 生物免疫系統(tǒng)簡(jiǎn)介
在自然生物體中,免疫系統(tǒng)是一個(gè)由器官和細(xì)胞組成的復(fù)雜網(wǎng)絡(luò),主要功能是保護(hù)有機(jī)體本身免于外來(lái)微粒侵害。免疫系統(tǒng)的本質(zhì)特點(diǎn)是區(qū)別自我基因和非我基因。有機(jī)體的每個(gè)細(xì)胞擁有自己的結(jié)構(gòu), 被辨認(rèn)為自我基因。另一方面,外來(lái)有機(jī)體分子被定義為非我基因。這些免疫系統(tǒng)的器官稱為淋巴腺器官,他們與淋巴細(xì)胞的產(chǎn)生與生長(zhǎng)有密切關(guān)系。下面我們給出一些術(shù)語(yǔ)的定義
淋巴細(xì)胞DD淋巴細(xì)胞是小個(gè)體的白色細(xì)胞,負(fù)責(zé)完成各種免疫系統(tǒng)的功能。淋巴細(xì)胞可分為兩中類型:B細(xì)胞, T細(xì)胞。
抗體DD抗體是一種免疫球蛋白分子結(jié)構(gòu)。主要具體表征了各種防御功能,比如對(duì)微生物,對(duì)細(xì)菌等抗原的反作用。
先天和后天免疫DD當(dāng)生物體感染疾病,B細(xì)胞和T細(xì)胞被激活同時(shí)保留對(duì)一些抗原的記憶性。當(dāng)生物體再次面對(duì)同樣抗原時(shí),免疫系統(tǒng)將辨別并迅速破壞從而獲得后天免疫。初生嬰兒擁有從母體繼承的先天免疫系統(tǒng)。
在將計(jì)算機(jī)安全與生物免疫學(xué)進(jìn)行類比的基礎(chǔ)上,S. Forrest等人最早提出了計(jì)算機(jī)免疫學(xué)的概念[1],并將其應(yīng)用在入侵檢測(cè)的研究領(lǐng)域。迄今為止,國(guó)內(nèi)外越來(lái)越多的人研究如何有效地將免疫學(xué)的思想應(yīng)用到入侵檢測(cè)系統(tǒng)中,并且取得了一定的進(jìn)展。實(shí)際上,免疫系統(tǒng)和計(jì)算機(jī)安全系統(tǒng)之間有著巨大的相似性。免疫系統(tǒng)保護(hù)生物體免受病原生物破壞,而計(jì)算機(jī)安全系統(tǒng)類似的保護(hù)計(jì)算機(jī)免受用戶惡意攻擊。基于人工免疫的入侵檢測(cè)正是借鑒了許多生物免疫系統(tǒng)的顯著特性,如分布性,多樣性,自動(dòng)應(yīng)答和自我維護(hù)等。兩者之間的關(guān)聯(lián)列舉如下圖所示
圖1 自然生物免疫系統(tǒng)與人工免疫系統(tǒng)對(duì)比
3. 入侵檢測(cè)和人工免疫
入侵類型可被分為:1) 非法入侵,利用系統(tǒng)缺陷進(jìn)行攻擊的行為;2)異常入侵,指背離系統(tǒng)正常使用的行為。入侵檢測(cè)系統(tǒng)(IDS)正是一種針對(duì)這些攻擊反應(yīng)的安全工具 [2] 。早期的入侵檢測(cè)系統(tǒng)(IDS)注意力集中于日志文件和注冊(cè)表的分析, 由操作系統(tǒng)或其它一些應(yīng)用程序執(zhí)行。在本文中我們選擇UNIX系統(tǒng)中程序執(zhí)行過(guò)程的日志文件進(jìn)行分析。我們將采取由文獻(xiàn)[3]所提出的程序結(jié)構(gòu)的變化形式。在人工免疫系統(tǒng)中, 我們認(rèn)為主機(jī)中的每則郵件消息對(duì)應(yīng)于單個(gè)細(xì)胞。由于在任何時(shí)刻,主機(jī)都可能有大量不同的郵件信息。因此主機(jī)可被定義為一個(gè)多“細(xì)胞”的“有機(jī)體”。在這樣一個(gè)主機(jī)里,存在一種作用類似于“淋巴細(xì)胞”的程序來(lái)標(biāo)記各種郵件消息,比如“非我元素”。這種免疫系統(tǒng)是由郵件掃描程序(“淋巴細(xì)胞”)和病毒定義文件(“疫苗”)所構(gòu)成。與生物體相同的是,當(dāng)某則郵件消息的功能被認(rèn)為改變以后, 該郵件即被辨認(rèn)為“已感染”。
計(jì)算機(jī)免疫系統(tǒng)被劃分成固有和衍生免疫系統(tǒng)。固有免疫系統(tǒng)是一個(gè)Unix 的根文件的組成部分, 類似于記錄文件讀取和存取狀態(tài)的檔案,這一檔案建立在系統(tǒng)安裝期間。但這種消極免疫措施在計(jì)算系統(tǒng)內(nèi)持續(xù)僅僅幾個(gè)小時(shí)。因此有必要在操作系統(tǒng)安裝之后, 計(jì)算機(jī)建立一個(gè)更健全的補(bǔ)償免疫系統(tǒng)。補(bǔ)償免役可由管理員實(shí)行操作。在執(zhí)行了補(bǔ)償免疫措施后,計(jì)算機(jī)便開(kāi)始匯總并發(fā)展獲得性免疫系統(tǒng)。免疫程度和時(shí)限則取決與參數(shù)描繪文件。(即, 服務(wù)的UNIX 服務(wù)器窗口工作站通過(guò)POP3 服務(wù)也許接受郵件與被傳染的文件附有這些電子郵件) 。對(duì)某些服務(wù)進(jìn)程的限制訪問(wèn)方法轉(zhuǎn)移為采用TCP Wrapper,以此實(shí)現(xiàn)濾波功能,起到類似于“免疫球蛋白”的作用。注意TCP和UDP代表了“人工生物體”的入口,被主機(jī)中的各種服務(wù)進(jìn)程所使用。
人工免疫系統(tǒng)通過(guò)名為L(zhǎng)ogCheck [3]的軟件來(lái)實(shí)現(xiàn)這一功能。LogCheck充當(dāng)一個(gè)類似于T細(xì)胞角色的軟件,完成過(guò)濾主機(jī)內(nèi)程序注冊(cè),同時(shí)生成遞交給管理員的日志記錄等任務(wù)。而具體區(qū)分對(duì)應(yīng)于自我或非我程序結(jié)構(gòu)則根據(jù)以下四個(gè)準(zhǔn)則:
logcheck.hacking DD該文件由抗原組I類的關(guān)鍵詞組成,它的生成將導(dǎo)致免疫回答系統(tǒng);
logcheck.violationDD該文件包含描繪抗原組II類的關(guān)鍵詞,并且實(shí)現(xiàn)了辨別抗原的代碼;
logcheck.violations.ignoreDD此文件用來(lái)識(shí)別上一文件中關(guān)鍵詞的反義詞;
logcheck.ignoreDD該文件標(biāo)識(shí)了代表無(wú)礙主機(jī)安全的關(guān)鍵詞。
4. 在無(wú)線通訊網(wǎng)絡(luò)中的應(yīng)用
在這一節(jié)中,我們擴(kuò)大之前描述的入侵檢測(cè)系統(tǒng)應(yīng)用至移動(dòng)電信領(lǐng)域,并詳細(xì)列舉入侵檢測(cè)模型的系統(tǒng)范例。在本文里, 我們使用Z規(guī)格語(yǔ)言來(lái)描述人工電信免疫系統(tǒng)的主體部份, 以及一些圖解示例。在設(shè)計(jì)過(guò)程中,基于狀態(tài)和系統(tǒng)操作的定義,入侵檢測(cè)模型使用了狀態(tài)機(jī)范例。我們采取標(biāo)準(zhǔn)規(guī)范化的數(shù)學(xué)符號(hào)來(lái)描述各種模型靜態(tài)和動(dòng)態(tài)。其中模型靜態(tài)包括以下特性: (i)可使用的狀態(tài)(如電話記數(shù)器狀態(tài)), (ii) 當(dāng)系統(tǒng)進(jìn)行狀態(tài)轉(zhuǎn)換時(shí),被維持的程序。我們提議的模型動(dòng)態(tài)方面有: (i) 所有可能的操作, (ii) 發(fā)生在系統(tǒng)聲明之內(nèi)的狀態(tài)變換。在我們的入侵檢測(cè)和電信免疫系統(tǒng)里,每個(gè)通話過(guò)程被定義為一個(gè)“細(xì)胞”單位,同時(shí)被監(jiān)測(cè)注冊(cè)用戶電話被視為由多細(xì)胞組成的“生物體”。用戶模式可以作為固有免疫系統(tǒng)。為了實(shí)現(xiàn)獲得性免疫系統(tǒng),我們使用“淋巴細(xì)胞”的模型作為電話總機(jī)來(lái)監(jiān)測(cè)注冊(cè)用戶。初始的“淋巴細(xì)胞”辨認(rèn)合法的電話注冊(cè)用戶,然后當(dāng)有能力查出新的入侵的其它“淋巴細(xì)胞”可替代初始值。在這個(gè)模型里, 自我基因組將由注冊(cè)用戶定義,通常是已經(jīng)輸入系統(tǒng)并被使用于辨認(rèn)正常操作過(guò)程, 而非我基因代表用戶注冊(cè),則被用于辨認(rèn)惡意入侵者。
給定一個(gè)全集U,代表所有的通話。那么U含有兩個(gè)子集合,S(自我)和N(非我)并滿足一下兩個(gè)關(guān)系式:
入侵檢測(cè)模型的域D可以用來(lái)劃分任意一個(gè)通話c的類型, 是正常通話,或者 屬于匿名通話。由于我們對(duì)于將來(lái)可能發(fā)生的入侵事件無(wú)法知獲,因此利用如下的預(yù)測(cè)模型:
其中M是電話通話的集合,而f則是區(qū)分自我與非我的映射 。
運(yùn)用笛卡兒乘積后,在任何一個(gè)時(shí)刻里,我們可以獲取用戶無(wú)電話記錄,有效電話的記錄, 無(wú)效電話的記錄,或者所有包括有效和無(wú)效電話的記錄。因此,我們說(shuō)如果 是屬于類型
里的n個(gè)元素,那么排序后的
則是屬于類型
里的一個(gè)元素。因此我們推論 是自我如果 ,否則為非我。
對(duì)以上描述的模型中, 我們只對(duì)辨認(rèn)電話產(chǎn)生興趣。因而, 我們標(biāo)識(shí)所有電話集合作為基本類型, 同時(shí)我們定義一個(gè)電話標(biāo)識(shí)符CALL_ID,其Z 語(yǔ)言的圖解類型如下:
5. 實(shí)驗(yàn)結(jié)果
在實(shí)驗(yàn)系統(tǒng)的設(shè)置中,在使用不同操作系統(tǒng)的二個(gè)主機(jī)里分別安裝了軟件LogCheck。主機(jī)特征如下:PC1DDSun服務(wù)器以及Solaris OS;PC2DDIBM PowerPC服務(wù)器是, 使用AIX 操作系統(tǒng)。兩臺(tái)服務(wù)器均提供以下服務(wù): DNS, SMTP, POP3, FTP。活動(dòng)在這些服務(wù)器里被連續(xù)監(jiān)測(cè)了五個(gè)月,信息量包含在這個(gè)集合里是相當(dāng)大的。在圖1中我們獲得了PC1 的結(jié)果。圖2則顯示了PC2的結(jié)果。結(jié)果表明, 我們的模型幫助服務(wù)器極大減少了用戶注冊(cè)輸入的數(shù)量。這樣一個(gè)結(jié)果將對(duì)日志文件的大小有著深刻的影響力,從而也提高了入侵檢測(cè)的魯棒性。
在監(jiān)測(cè)系統(tǒng)和收集注冊(cè)信息期間,管理系統(tǒng)生成了對(duì)應(yīng)于侵害安全和異常的事件的報(bào)告。管理員將接受一個(gè)電子郵件形式的通知,內(nèi)容都是針對(duì)非我基因的活動(dòng)的報(bào)告,由于日志量減少,因此也減少了管理員的安全管理工作量,從而可以更專心的對(duì)入侵事件采取措施。數(shù)據(jù)見(jiàn)圖3和4。
圖表 4 PC1上的入侵檢測(cè)次數(shù) 圖5 PC2上的入侵檢測(cè)次數(shù)
6. 總結(jié)
本文描述了一種新穎的可應(yīng)用于計(jì)算機(jī)和無(wú)線通訊網(wǎng)絡(luò)的入侵檢測(cè)模型。算法的核心思想是先標(biāo)識(shí)出計(jì)算機(jī)和電信系統(tǒng)中的重要服務(wù)進(jìn)程,然后通過(guò)監(jiān)測(cè)其使用狀況來(lái)尋找異常入侵和非法入侵。在此基礎(chǔ)上,我們討論了一種有效可靠的管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),該設(shè)計(jì)通過(guò)精簡(jiǎn)管理日志文件的內(nèi)容,使得入侵檢測(cè)模型的目標(biāo)范圍更加集中,從而提高整個(gè)系統(tǒng)的魯棒性。實(shí)驗(yàn)結(jié)果表明,本文理論可以很好的應(yīng)用于網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)之中并提高系統(tǒng)整體功效。
評(píng)論