張 雁, 劉才銘,2
(1.樂山師范學院計算機科學學院,四川樂山614004;2.西南交通大學信息科學與技術(shù)學院,四川成都610031)
網(wǎng)絡(luò)安全監(jiān)測技術(shù)通過對網(wǎng)絡(luò)安全威脅進行有效地檢測,并對網(wǎng)絡(luò)安全威脅的相關(guān)數(shù)據(jù)進行分析和判斷,為網(wǎng)絡(luò)管理者提供網(wǎng)絡(luò)安全程度的參考,并為追究安全威脅制造者的責任提供依據(jù),它已經(jīng)成為網(wǎng)絡(luò)安全技術(shù)的研究熱點之一[1]。
目前,主要采用網(wǎng)絡(luò)安全態(tài)勢評估(Network Security Situational Awareness)[2]技術(shù)監(jiān)測計算機網(wǎng)絡(luò)中的安全狀況,但是,傳統(tǒng)網(wǎng)絡(luò)安全態(tài)勢評估技術(shù)主要采用日志分析和漏洞掃描等方法[2-3],其獲取的數(shù)據(jù)帶有很大的靜態(tài)性,難以適應(yīng)瞬息萬變的網(wǎng)絡(luò)安全環(huán)境。況且,網(wǎng)絡(luò)安全態(tài)勢評估技術(shù)只評估安全狀況,不對威脅制造者的行蹤進行記錄,不利于事后追究責任。隨著網(wǎng)絡(luò)安全形勢的日益復(fù)雜,網(wǎng)絡(luò)安全監(jiān)測技術(shù)迫切需要進行拓展,在對網(wǎng)絡(luò)安全威脅進行檢測和取證的基礎(chǔ)上,實現(xiàn)針對動態(tài)網(wǎng)絡(luò)環(huán)境中存在的安全風險的精確評估,讓網(wǎng)絡(luò)管理員不僅知道遭受了網(wǎng)絡(luò)安全威脅,還能夠有科學依據(jù)去防范和化解網(wǎng)絡(luò)安全風險,或?qū)踩L險控制在可接受的范圍內(nèi)。
為了有效監(jiān)測計算機網(wǎng)絡(luò)中面臨的安全威脅,引入計算智能方法便是一種有效的途徑之一。人工免疫系統(tǒng)(Artificial Immune System,AIS)[4-7]已發(fā)展成為計算智能研究的一個嶄新的分支,而由其發(fā)展而來的計算機免疫系統(tǒng)(Computer Immune System,CIS)[8-9]更是在計算機網(wǎng)絡(luò)及其安全研究中得到了廣泛地應(yīng)用[9-10]。模擬克隆選擇原理(Clonal Selection Principle,CSP)的克隆選擇算法(Clonal Selection Algorithm,CSA)是CIS的重要組成部分,它通過親和力機制讓系統(tǒng)進行學習,并演化出解決問題的最佳方法。Castro[11]提出了克隆選擇算法模型,并在模式識別、組合優(yōu)化和多峰值函數(shù)優(yōu)化中得到驗證[9]。Kim和Bentley[12]提出動態(tài)克隆選擇算法(Dynamical Clonal Selection,DynamiCS),并在網(wǎng)絡(luò)安全應(yīng)用中得到驗證。隨后,大量研究人員在基于克隆選擇原理的網(wǎng)絡(luò)安全研究方面取得大量積極的研究成果。
文中將克隆選擇原理引入到網(wǎng)絡(luò)安全監(jiān)測技術(shù)中,利用克隆選擇原理的良好機制和自學習性特征,并使用克隆選擇算法動態(tài)地演化出檢測網(wǎng)絡(luò)安全威脅的檢測要素,實現(xiàn)網(wǎng)絡(luò)安全威脅的告警、網(wǎng)絡(luò)安全風險評估、以及網(wǎng)絡(luò)安全威脅的取證等網(wǎng)絡(luò)安全監(jiān)測流程。
網(wǎng)絡(luò)安全監(jiān)測技術(shù)監(jiān)測網(wǎng)絡(luò)內(nèi)的網(wǎng)絡(luò)安全威脅,并提取監(jiān)測到的網(wǎng)絡(luò)安全威脅信息,給管理員發(fā)送告警信息,還根據(jù)網(wǎng)絡(luò)安全威脅的強度定量評估網(wǎng)絡(luò)安全風險,同時對網(wǎng)絡(luò)安全威脅造成的影響進行取證。研究的網(wǎng)絡(luò)安全監(jiān)測的流程如圖1所示,其中,虛線表示檢測數(shù)據(jù)的流動方向。首先,將網(wǎng)絡(luò)數(shù)據(jù)包提呈為抗原;然后,將抗原提交給基于克隆選擇原理的網(wǎng)絡(luò)安全威脅檢測模塊,利用抗原訓練檢測器,讓檢測器得到進化和自適應(yīng);最后,根據(jù)網(wǎng)絡(luò)安全威脅的監(jiān)測結(jié)果,對網(wǎng)絡(luò)管理員進行告警、評估安全風險和取證。
為了將克隆選擇原理引入到網(wǎng)絡(luò)安全監(jiān)測技術(shù)中,需要將真實網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)模擬成克隆選擇原理中的數(shù)據(jù)元素和檢測要素。將計算機網(wǎng)絡(luò)數(shù)據(jù)包的特征信息模擬成抗原(antigen),將檢測網(wǎng)絡(luò)安全威脅的檢測要素模擬成檢測器(detector)。
抽取網(wǎng)絡(luò)數(shù)據(jù)包的主要包頭信息,將其轉(zhuǎn)換成長度為l(l為自然數(shù))的二進制串,定義這些二進制串的狀態(tài)空間為U={0,1}l,將網(wǎng)絡(luò)數(shù)據(jù)包的包頭信息提呈為抗原,抗原由網(wǎng)絡(luò)數(shù)據(jù)包的源/目的IP地址、端口號和協(xié)議標志等數(shù)據(jù)包特征的二進制串組成。定義抗原集合為其中,p為網(wǎng)絡(luò)數(shù)據(jù)包,APCs(p)函數(shù)表示將數(shù)據(jù)包 p的特征信息提呈為長度為l的二進制串。
將正常網(wǎng)絡(luò)行為和網(wǎng)絡(luò)安全威脅分別定義為自體抗原Self(簡稱自體)和非自體抗原 Nonself(簡稱非自體),其中,Self,Nonself∈Ag,它們滿足 Self∩Nonself=Φ,Self∪Nonself=Ag[1]。
定義1 定義檢測器集合為 D={〈gene,age,count,type,family〉|gene∈Ag,age,count,type,family∈N},其中,gene為檢測器的基因,它是與抗原進行匹配的二進制串,也即檢測數(shù)據(jù)包中是否含有安全威脅的關(guān)鍵特征信息;N為自然數(shù)集合;count為檢測器匹配到抗原的數(shù)量;age為檢測器的年齡,表示該檢測器已經(jīng)存活了多少代;type表示檢測器的類型;family為一個正序列整數(shù),表示檢測器的族群序列號,它與一種網(wǎng)絡(luò)安全威脅的編號相對應(yīng)。
選擇我院接受的進行超聲檢查的300例甲狀腺結(jié)節(jié)患者作為案例,對患者采用本院現(xiàn)有的超聲量化分級系統(tǒng)實施診斷和評估。本次研究的研究案例均符合要求,經(jīng)過病理診斷后具備知情權(quán),簽署知情同意書。
檢測器的基因與抗原具有相同的數(shù)據(jù)格式,它是檢測器識別抗原的關(guān)鍵特征信息,因此,判斷檢測器是否檢測到抗原,需要建立檢測器基因與抗原的二進制字符串的匹配算法。目前主要采用海明距離(Hamming)、歐氏距離(Euclidean)和r-連續(xù)位匹配算法(r-Contiguous)[8]等匹配方法。建立函數(shù) fmatch(),判斷檢測器d和抗原ag是否匹配,如下所示。
其中,函數(shù)返回值為1時,檢測器d和抗原ag匹配,否則不匹配。
圖1 網(wǎng)絡(luò)安全監(jiān)測流程
將檢測器分類為未成熟檢測器DI、成熟檢測器DM和記憶檢測器DR。
未成熟檢測器模擬了檢測要素進化的初始階段,是新生成的檢測器,由記憶檢測器的基因片段進行變異和重組后產(chǎn)生,或者由系統(tǒng)隨機產(chǎn)生,這樣可以提高檢測器的多樣性,未成熟檢測器滿足:DI=其中,α為未成熟檢測器的耐受期閾值;count為匹配到正常自體抗原的數(shù)量,一旦未成熟檢測器匹配到自體抗原,即 count>0,則未成熟檢測器將走向死亡;parent.family為產(chǎn)生該未成熟檢測器的記憶檢測器的族群序列號,如果為隨機生成的未成熟檢測器,則使用新的族群序列號,但不能與以前的族群序列號重復(fù)。
成熟檢測器模擬了檢測器進化的中間階段,由未成熟檢測器進化而來,它滿足:DM={d|d∈D,d.age<λ,d.count<δ},其中,λ為成熟檢測器的生命周期(即成熟檢測器的壽命);δ為成熟檢測器的激活閾值,它不與自體匹配,每檢測到一個抗原,其count域加1,它需要在其生命周期λ里檢測到足夠數(shù)量(δ)的抗原,才能進化成記憶檢測器,否則將走向死亡,如圖1所示。
記憶檢測器DR模擬了檢測器進化的最高階段,由被激活的成熟檢測器進化而來,或由管理員將已知網(wǎng)絡(luò)安全威脅的特征數(shù)據(jù)轉(zhuǎn)換而來,它滿足:DR={d|d∈D,d.age≥λ,d.count≥δ},它包含有能精確識別攻擊數(shù)據(jù)包的特征,并能夠?qū)Ψ亲泽w抗原產(chǎn)生二次免疫應(yīng)答,迅速地識別有害抗原,即檢測到攻擊數(shù)據(jù)包時,通過克隆擴增機制用自己的基因片段產(chǎn)生大量的未成熟檢測器,以便生成更多的識別有害抗原的檢測器,從而壯大自己的族群。在初始階段,可以輸入經(jīng)典的網(wǎng)絡(luò)安全威脅特征信息作為記憶檢測器,并用其生成未成熟檢測器,經(jīng)過動態(tài)演化,可以更快地生成能多樣化地檢測有害抗原的檢測器。
定義網(wǎng)絡(luò)安全威脅集合為 T。
其中,attackID為網(wǎng)絡(luò)安全威脅的標識號,它與其對應(yīng)的記憶檢測器的族群序列號相同;N為自然數(shù);attack-Name為網(wǎng)絡(luò)安全威脅的名稱;attackInfo為網(wǎng)絡(luò)攻擊的描述信息;ASCII為ASCII字符集。
當記憶檢測器識別到有害抗原時,通過其 family域關(guān)聯(lián)到抗原對應(yīng)的網(wǎng)絡(luò)安全威脅種類,并提取網(wǎng)絡(luò)安全威脅的信息,向管理員發(fā)出警告。設(shè)A為告警信息集合。
其中,attackName表示檢測到的網(wǎng)絡(luò)安全威脅的名稱,attackCount表示該種網(wǎng)絡(luò)安全威脅的發(fā)生次數(shù)。
隨著檢測器的動態(tài)演化,檢測器的族群數(shù)量也隨之發(fā)生變化,這種族群數(shù)量的大小,也反映了網(wǎng)絡(luò)安全威脅強度的動態(tài)變化,即網(wǎng)絡(luò)安全威脅的強度反映在具有相同族群序列號的未成熟檢測器和成熟檢測器的數(shù)量上。
設(shè)第i類(i為網(wǎng)絡(luò)安全威脅列號)網(wǎng)絡(luò)安全威脅的危害性為hi,設(shè)第j個網(wǎng)絡(luò)資產(chǎn)(包括軟硬件)的重要性為vj,則第j個網(wǎng)絡(luò)資產(chǎn)面臨的安全風險rj為:
其中,m為網(wǎng)絡(luò)資產(chǎn)遭受的網(wǎng)絡(luò)安全威脅的數(shù)量;“*”表示計算方法;dI∈DI,dM∈DM,dI.family=dM.family=i;Count()函數(shù)按照參數(shù)給定的條件統(tǒng)計檢測器的數(shù)量。
網(wǎng)絡(luò)面臨的整體安全風險 r為:
其中,n為被監(jiān)測的網(wǎng)絡(luò)資產(chǎn)的數(shù)量。
該方法在檢測到網(wǎng)絡(luò)安全威脅時,同時對網(wǎng)絡(luò)安全威脅行為進行取證。一旦記憶檢測器匹配到非法抗原,隨即對抗原對應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)包進行特征提取,提取的特征信息包括源IP地址、目的IP地址、發(fā)生的時間等,并對遭受安全威脅的目標系統(tǒng)的當前狀態(tài)信息進行提取,如CPU使用狀態(tài)、內(nèi)存使用狀態(tài)、網(wǎng)絡(luò)流量等。將提取的以上信息形成網(wǎng)絡(luò)安全威脅快照數(shù)據(jù)Flash,對該數(shù)據(jù)進行處理后形成證據(jù) Evidence,發(fā)往證據(jù)服務(wù)器進行保存,證據(jù)的生成過程如下所示。
Evidence=Encrypt(Hash(Flash),publicKey)+Encrypt(Flash,publicKey)
其中,Encrypt()為公鑰加密函數(shù),Hash()為單向散列函數(shù),publicKey為證據(jù)服務(wù)器提供的公鑰,“+”為內(nèi)容連接符。
證據(jù)服務(wù)器在接收到證據(jù)后,拆解出包頭信息,用其私鑰進行解密,然后將解密后的信息與內(nèi)容信息的hash值進行比較,若兩個值相同,則表示該證據(jù)完整,是可信的,可以存入證據(jù)服務(wù)器中,否則要求重發(fā)證據(jù)。
通過對網(wǎng)絡(luò)安全威脅進行監(jiān)測,可以讓網(wǎng)絡(luò)管理人員全面地了解當前的網(wǎng)絡(luò)安全狀況。為了對網(wǎng)絡(luò)安全威脅進行有效地監(jiān)測,文中將克隆選擇原理引入到網(wǎng)絡(luò)安全監(jiān)測技術(shù)中,研究克隆選擇原理在計算機網(wǎng)絡(luò)中的網(wǎng)絡(luò)安全監(jiān)測方法,實現(xiàn)網(wǎng)絡(luò)安全威脅的告警、網(wǎng)絡(luò)安全風險評估、以及網(wǎng)絡(luò)安全威脅的取證等網(wǎng)絡(luò)安全監(jiān)測流程。建立了一種有效的網(wǎng)絡(luò)安全監(jiān)測技術(shù),其監(jiān)測的結(jié)果能為制定主動的網(wǎng)絡(luò)安全防御策略提供科學的依據(jù)。
致謝:感謝樂山師范學院科研項目(Z1113,Z1065)對本文的資助
[1] 李濤.基于免疫的網(wǎng)絡(luò)監(jiān)控模型[J].計算機學報,2006,29(9):1515-1522.
[2] 韋勇,連一峰,馮登國.基于信息融合的網(wǎng)絡(luò)安全態(tài)勢評估模型[J].計算機研究與發(fā)展,2009,46(3):353-362.
[3] 韋勇,連一峰.基于日志審計與性能修正算法的網(wǎng)絡(luò)安全態(tài)勢評估模型[J].計算機學報,2009,32(4):763-772.
[4] Hofmeyr S A,Forrest S.Immunity by design:An artificial immune system[C].Genetic Evolutionary Computation Conf,San Francisco,CA,1999:1289-1296.
[5] 肖人彬,王磊.人工免疫系統(tǒng):原理、模型、分析及展望[J].計算機學報,2002,25(12):1281-1293.
[6] 焦李成,杜海峰.人工免疫系統(tǒng)進展和展望[J].電子學報,2003,31(10):1540-1548.
[7] 莫宏偉,左興權(quán).人工免疫系統(tǒng)[M].北京:科學出版社,2009.
[8] Forrest S,Hofmeyr S A,Somayaji A.Computer immunology[J].Communications of the ACM,1997,40(10):88-96.
[9] 李濤.計算機免疫學[M].北京:電子工業(yè)出版社,2004.
[10] Dasgupta D.An immunity-based technique to characterize intrusions in computer networks[J].IEEE Transactions on Evolutionary Computation,2002,6(3):281-291.
[11] Castro L N,Zuben F J V.Learning and optimization using the clonal selection principle[J].IEEE Transaction On Evolution Computation,2002,6(3).
[12] Kim J,Bentley P J.Towards an artificial immune system for network intrusion detection:an investigation of dynamic clonal selection[C].The Congress on Evolutionary Computation,2002:1015-1020.