朱傳華
摘要:互聯(lián)網(wǎng)技術(shù)和計算機技術(shù)的蓬勃發(fā)展極大地推動了我國高新技術(shù)的發(fā)展,但是網(wǎng)絡(luò)安全也受到了極大挑戰(zhàn)。人工免疫系統(tǒng)是有效維護互聯(lián)網(wǎng)安全的重要方式,本文系統(tǒng)地闡述了人工免疫系統(tǒng)在病毒入侵過程中的檢測作用,并模仿生物免疫系統(tǒng)建立了一種人工免疫算法,該算法能很好地適應(yīng)網(wǎng)絡(luò)變化,具有較強的學(xué)習(xí)能力,對于豐富人工免疫算法具有重要意義。
關(guān)鍵詞:人工免疫算法;網(wǎng)絡(luò)入侵;檢測;應(yīng)用
doi:10.16083/j.cnki.1671-1580.2019.07.018
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1671-1580(2019)07-0074-04
隨著計算機的普及和科技的不斷進步,人們對網(wǎng)絡(luò)安全的意識不斷提高。在保護網(wǎng)絡(luò)安全方面,計算機網(wǎng)絡(luò)安全供應(yīng)商通常采用傳統(tǒng)的防火墻技術(shù)作為網(wǎng)絡(luò)安全的第一道防線,但是隨著計算機病毒的日益多元化、復(fù)雜化、攻擊方式多樣化及隱蔽化,傳統(tǒng)防火墻技術(shù)已經(jīng)很難阻擋其進入計算機網(wǎng)絡(luò)中,網(wǎng)絡(luò)安全技術(shù)必須朝著多樣化、智能化和快速反應(yīng)化方向發(fā)展。在這樣的時代背景下,為了保護網(wǎng)絡(luò)不受病毒的入侵,計算機網(wǎng)絡(luò)安全供應(yīng)商提出了入侵檢測系統(tǒng)。根據(jù)不同的技術(shù)原理又將其分為特征檢測和異常檢測,其中以基于生物免疫系統(tǒng)開發(fā)的人工免疫系統(tǒng)的入侵檢測技術(shù)成為了目前研究的熱點。人工免疫系統(tǒng)的概念最早是由Farmer學(xué)者于1986年提出的,經(jīng)過30多年的發(fā)展,人工免疫系統(tǒng)技術(shù)日益完善、功能日益強大、運用范圍也日益擴大?,F(xiàn)今,在人工免疫系統(tǒng)入侵檢測技術(shù)領(lǐng)域,研究人員主要提出了三種算法,分別是:基于網(wǎng)絡(luò)的入侵檢測模型算法,多Agent系統(tǒng)模型算法,基于陰性選擇、克隆選擇和檢測子基因庫的分布式檢測模式算法。
一、人工免疫算法
(一)人工免疫系統(tǒng)
人工免疫系統(tǒng),是在生物免疫系統(tǒng)的基本原理和抵抗病毒入侵方法的基礎(chǔ)上,通過模仿、借鑒和利用建立起來的一種系統(tǒng)。因此,在介紹人工免疫系統(tǒng)之前,必須了解生物免疫系統(tǒng)的基本原理和工作形式。生物免疫系統(tǒng)是一個具有自學(xué)習(xí)、自適應(yīng)、動態(tài)平衡、相互協(xié)調(diào)處理的復(fù)雜系統(tǒng)。該系統(tǒng)能識別和排除抗原體,起到保護人類機體不受病毒、細(xì)菌等的侵害的作用。生物免疫系統(tǒng)將人體內(nèi)的細(xì)胞分為自身細(xì)胞(“自我”)和非自身細(xì)胞(“非我”),該系統(tǒng)只對“非我”細(xì)胞進行免疫。在免疫時,淋巴細(xì)胞充當(dāng)檢測器,對體內(nèi)細(xì)胞進行否定篩選,一旦篩選到“非我”細(xì)胞,便對其進行破壞和吞噬,消滅“非我”,起到保護的作用。人工免疫系統(tǒng)也是通過定義“自我”和“非我”來進行免疫的。事先通過特定的模式來抽取特定數(shù)據(jù),并采用二進制字符串對這些特定數(shù)據(jù)構(gòu)造模式集。該集合包含“自我”和“非我”兩種子集。當(dāng)有非法入侵時,該系統(tǒng)將這些非法入侵與構(gòu)造的模式集比較,當(dāng)確認(rèn)這些是屬于“非我”的子集時,將對其進行攔截。
(二)人工免疫系統(tǒng)通用框架
首先是人工免疫系統(tǒng)利用目標(biāo)函數(shù)和約束來識別抗原,進而產(chǎn)生初始抗體;然后初始抗體經(jīng)過親和力計算使抗體具有抑制和促進作用同時生成記憶親和力高的抗體;隨后抗體經(jīng)過學(xué)習(xí)使得自我更新并增加抗體數(shù)量;最后當(dāng)抗體數(shù)量滿足要求后便結(jié)束,反之繼續(xù)學(xué)習(xí)。
(三)人工免疫系統(tǒng)綜述
Yang等提出了一種分布式代理入侵檢測模型,該模型能動態(tài)監(jiān)視并不斷提高系統(tǒng)的學(xué)習(xí)能力,能很好地監(jiān)控網(wǎng)絡(luò)。sobh TS等將混合系統(tǒng)與異常檢測、誤用檢測相結(jié)合來研究如何解決網(wǎng)絡(luò)安全。Visconti等利用帶有模糊集的人工免疫系統(tǒng)來模仿自組織免疫系統(tǒng)的運作過程。符海東等根據(jù)粗糙集的反向選擇法理論,提出了一種粗糙集人工免疫入侵檢測算法,但是該算法檢測成功率較低,漏報現(xiàn)象頻發(fā),實用效果欠佳。為了改進該算法,符海東等人提出了基于模糊控制的人工免疫入侵檢測算法。該算法主要是利用模糊控制來濃縮抗體,然后通過遺傳算法繁殖抗體種群,這樣能在一定程度上提高檢測成功率,但種群數(shù)量少、漏報率高仍然沒有得到有效的解決。從以上關(guān)于人工免疫系統(tǒng)的發(fā)展現(xiàn)狀可知,人工免疫入侵檢測系統(tǒng)目前存在的誤報率較高、缺乏自適應(yīng)性成為了制約其發(fā)展的兩大難題。
二、人工免疫算法的具體流程
圖1表示人工免疫算法的具體流程,由圖1可知,該算法主要分為檢測器生成階段和檢測器識別階段,首先生成檢測器,然后利用檢測器檢測待檢數(shù)據(jù),并與事先定義的正常數(shù)據(jù)進行比較,如果沒有發(fā)現(xiàn)異常則說明待檢數(shù)據(jù)沒有危險,反之則報警提示有異常入侵。
三、基于免疫原理的入侵檢測模型建立
本節(jié)將基于生物免疫原理建立人工免疫系統(tǒng)入侵檢測模型,主要內(nèi)容分為:模型原理介紹、算法選擇以及模型的構(gòu)建。
(一)模型原理
基于生物免疫工作原理,人工免疫系統(tǒng)入侵檢測就是檢測和判斷“自我”和“非我”的過程。在網(wǎng)絡(luò)系統(tǒng)中,“自我”表示合法的正常的網(wǎng)絡(luò)行為;“非我”則表示不正常的不合法的網(wǎng)絡(luò)行為。在計算機中,數(shù)據(jù)是利用二進制算法來表述的。因此為了能區(qū)分“自我”和“非我”,需要利用二進制算法來構(gòu)建一個特定模式集。具體的做法是將所有的字符串劃分為長度為L的等長字符串,將這些等長字符串組成的集合命名為U。U中包含“自我”和“非我”2個子集,分別用Y和N表示。模式集建立好后,相應(yīng)的檢測規(guī)則也建立,即對于任意等長字符串Q,如Q∈Y且QN,則說明該字符串Q是合法的;若QY且Q∈N,則說明該字符串Q是非法的,這樣就能對任意的網(wǎng)絡(luò)數(shù)據(jù)進行判斷。但是為了快速判斷且提高成功率需要對算法進行有效選擇和優(yōu)化。
(二)算法選擇
經(jīng)過30多年的發(fā)展,人工免疫系統(tǒng)入侵檢測算法主要包括陰性選擇、克隆選擇和遺傳算法等三種,并廣泛地運用于網(wǎng)絡(luò)安全保護中。本模型采用的人工免疫系統(tǒng)入侵檢測算法是r連續(xù)位匹配算法,這種算法較簡單且能快速進行匹配計算,具體的算法如下:
假設(shè)任意字符串a(chǎn)和b在其對應(yīng)位置上都存在至少r位連續(xù)相同,則稱a和b是r連續(xù)位匹配,記做M(a,b) | =true。如a=“000101000”,b=“001101011”,由于其在相應(yīng)位置4—7位都為“1010”所以他們是4連續(xù)位匹配?;谠撍惴?,r越小,匹配概率越高,則檢驗精度越低。選擇合適的r值,就可構(gòu)建檢測器,如果檢測器的字符串與待檢字符串發(fā)生r連續(xù)位匹配,則認(rèn)為該檢測器對待檢字符串存在免疫功能。
(三)模型構(gòu)建
根據(jù)上述原理構(gòu)建如圖2的入侵檢測模型。由圖2可知,該模型包括自我集生成模塊、入侵模塊、檢測器生成模塊、中心控制模塊和管理模塊等,現(xiàn)分別進行簡要敘述:
1.自我集生成模塊
根據(jù)TCP/IP協(xié)議特點,通過研究數(shù)據(jù)生成過程和特征,可以定義自我模式。定義完成后通過分析和提取正常流動數(shù)據(jù)便可以獲得“自我集”,由于網(wǎng)絡(luò)信息隨時隨地都在變化,所以需要“自我集”不斷更新內(nèi)容。
2.入侵模塊
該模塊由若干檢測器集群構(gòu)成。首先,檢測器收到來自控制模塊的檢測集并組建特征庫從而形成單個檢測器。檢測器具有獨立運作、互不通信的功能。然后,各個檢測器捕捉網(wǎng)絡(luò)中的數(shù)據(jù),通過模式提取形成待檢字符串。之后,檢測器運用r連續(xù)位匹配算法來對待檢字符串進行計算和分析。如果比對結(jié)果能在事先設(shè)置特征庫中的自我集中找到,則將其刪除;如果比對結(jié)果不能在自我集中找到,反而在特征庫中的記憶型字符集(“非我”)中找到,則表明系統(tǒng)受到入侵;若不匹配則是新的攻擊,提取異常字符串,進入免疫狀態(tài)。
3.檢測器生成模塊
該模塊的功能是采用陰性選擇法和“自我集”來審查異常字符串,完成免疫耐受。如果匹配則將該字符歸類為“自我集”中,反之則將其視為新的攻擊,將該攻擊升級為記憶型字符串,并讓系統(tǒng)進行自我學(xué)習(xí)?!白晕壹焙汀坝洃浶图惫餐沙墒斓臋z測集——抗體,并送入特征庫。
4.中心控制模塊
該模塊是控制上述三個模塊的核心部分,主要有以下幾項功能:(1)定期向“自我集”模塊發(fā)送更新、不斷學(xué)習(xí)的命令,確?!白晕壹备暇W(wǎng)絡(luò)的發(fā)展,避免錯報;(2)更新檢測器群,提高檢測器的響應(yīng)特性和檢測速度;(3)記錄入侵并根據(jù)危害程度進行報警。
5.管理模塊
該部分主要是由人來完成相應(yīng)的操作,即當(dāng)發(fā)生報警后,管理人員應(yīng)采取相應(yīng)的措施,對入侵進行處理,并做好相應(yīng)的記錄。
四、系統(tǒng)測試與性能分析
為了檢測入侵檢測系統(tǒng)的性能,對r連續(xù)位匹配算法進行仿真實驗,主要研究r連續(xù)位對檢測器數(shù)、生成時間、漏檢率、CPU利用情況和使用性能進行分析。
(一)對檢測器數(shù)和生成時間的影響
在相同的輸入條件下,隨著r的增大,檢測器數(shù)量增大相應(yīng)的生成時間也增長。因此,在采用這種方法時,應(yīng)合理選擇r值,提高檢測的精確性和快速相應(yīng)性。
(二)對撿漏率的影響
由圖3可知,隨著r的增大,撿漏率也越大。這表明r越大,檢測器的匹配程度也越高,生成的檢測器數(shù)量也越少,越有可能漏掉與檢測器相匹配的入侵。當(dāng)r越小,檢測器的匹配程度越低,生成的檢測器越多,但是撿漏率降低。對此,應(yīng)合理尋找r值使得檢測器數(shù)量和撿漏率達(dá)到折中。
(三)對CPU利用情況的影響
眾所周知,自我集越大,則檢測效率越高。但是自我集過于龐大又會增加系統(tǒng)時間,使得檢測時間變長。由圖4可知,隨著自我集的增大,CPU利用率增大,但是增大趨勢逐漸放緩。
(四)使用性能分析
通過采用r連續(xù)位匹配算法,人工免疫入侵檢測系統(tǒng)能檢測出udpflood、Teardrop、synflood等攻擊方法。由此可見該人工免疫入侵檢測系統(tǒng)具有強大的入侵識別能力,此外該系統(tǒng)還能夠自我學(xué)習(xí),不斷豐富特征庫,能很好地適應(yīng)快速變化的網(wǎng)絡(luò)環(huán)境,具有非常強大的自適應(yīng)、自組織和自學(xué)習(xí)能力。
五、結(jié)論
隨著科技的不斷提高,互聯(lián)網(wǎng)安全防護迫在眉睫,基于生物免疫系統(tǒng)開發(fā)的人工免疫檢測系統(tǒng)能很好地保護網(wǎng)絡(luò)安全。本文詳細(xì)介紹了人工免疫系統(tǒng)的識別、檢測等工作原理,并采用r連續(xù)位匹配計算方法,組建了人工免疫入侵檢測模型。該模型能很好地適應(yīng)快速變化的網(wǎng)絡(luò)環(huán)境,對維護我國互聯(lián)網(wǎng)安全以及豐富入侵檢測算法具有重要的意義。