本發明屬于網絡安全的技術領域,是借鑒生物免疫的人工免疫系統在網絡安全領域的應用,具體說是一種基于生物免疫t細胞受體機制的入侵檢測方法,可用于網絡環境中對數據的檢測。
背景技術:
隨著互聯網與大數據、云平臺等新一代技術的深度融合,網絡安全問題愈演愈烈,面對網絡中海量的數據,發現各種病毒及其變種進行阻斷攻擊和入侵,傳統的網絡安全防護方法已經力不從心。常見的防火墻、密鑰技術和身份認證技術給出的是一個靜態防護的概念,這些方法更多的是基于被動的保護。入侵檢測系統作為保障網絡環境安全的防護系統,主要是監控網絡或系統的狀態、行為以及系統使用情況下進行的模式分類問題,即把正常網絡環境中出現的異常入侵區分出來,其所面臨的問題正是自然界中生物免疫系統所面臨的問題,二者具有非常相似的機制。他們的主要功能都是保護機體不被外部病原體或其他病菌等異物的侵襲,其本質就是對自體和非自體進行識別,兩者都是在不斷變化的環境中維持系統的穩定性。因此,以借鑒生物免疫的人工免疫系統為基礎進行網絡入侵檢測研究具有很好的價值和意義。
目前,誤用檢測的入侵檢測方法已得到廣泛應用,他們大多數是根據已知的入侵行為,提取出它們具有的模式或特征,建立相關的庫,當檢測的用戶或行為與庫中的特征或模式相匹配時,就認為入侵發生了。norton、mcafee、金山毒霸、瑞星等殺毒產品都通過這種特征碼形式進行病毒和入侵的匹配。很明顯誤用檢測這種檢測方式對于已知的攻擊非常有效,能夠具有較低的誤報率。但只有存在完備的(大樣本組成的)特征數據庫時,這些方法才具有較好的入侵檢測性能。然而,現實中的入侵行為是不斷變化的,正常行為也在每時每刻發生變化,某一時刻允許的端口可能下一時刻就被關閉了,造成當前正常的行為可能未來就變成了異常行為,人們常常無法獲得完備的審計數據集。加上網絡中設備不斷升級、網絡規模不斷擴大及系統和應用不斷升級,整個網絡環境越來越復雜,攻擊工具和手段也日趨復雜多樣,加之網絡數據維度較大,需要處理的數據量也越來越大。雖然也有方法對網絡數據包進行處理,比如中國專利公布號cn1567810a、cn101478534a和cn104168152a。但是,公布號cn1567810a僅對ip數據包特征值構成定長二進制串;公布號cn101478534a主要收集網絡流量特征數據;公布號cn104168152a只對網絡數據包進行了數值化和歸一化處理。在面對海量網絡數據的今天,如果對獲取的數據包只做簡單處理,仍然無法降低自體集的維度,使得依靠檢測器識別的入侵檢測方法效率較低。傳統的入侵檢測方法已經漸漸無法滿足網絡信息安全的需求。而且傳統基于免疫的入侵檢測方法幾乎都是隨機生成檢測器,通過與自體集的親和度判斷檢測器是否有效,很容易造成檢測器冗余浪費時間,當自體集合發生變化時,需要重新生成檢測器集合,效率較低影響檢測率。而檢測器的好壞決定了入侵檢測的性能,本發明結合生物免疫中t細胞受體動力學校驗機制,先對數據進行預處理,通過多種降維手段進行抗原提呈,然后改變傳統入侵檢測方法隨機生成檢測器的方法,將免疫系統的動態、多樣、自適應、自學習、魯棒等特性應用到網絡入侵檢測中,提高檢測效率。
技術實現要素:
為了解決上述動態網絡環境下的入侵檢測問題,本發明提供了一種基于生物免疫t細胞受體機制的入侵檢測方法,將網絡數據看作抗原,針對數據通過多種預處理手段對抗原進行提呈,獲取能夠進行檢測的有效數據自體集;根據自體集,用均勻分布t細胞受體檢測器代替傳統的隨機生成檢測器后匹配自體獲取檢測器,并根據自體集得出檢測器的正常分布狀態;當有檢測數據到來時,數據對t細胞受體檢測器產生影響,改變檢測器的狀態,如果閾值超出正常狀態下的范圍就認為發生了入侵;同時能夠根據新的數據動態調整回饋與t細胞受體檢測器的位置,對t細胞受體檢測器進行進化,從而實現動態演化的目的,識別未知的異常。
本發明的技術方案如下:一種基于生物免疫t細胞受體機制的入侵檢測方法,借鑒生物免疫中t細胞遇到抗原入侵時在其表面表達大量的t細胞受體實現對抗原的結合與識別機制,利用正常狀態下的系統輪廓獲得t細胞受體檢測器的分布,然后根據檢測器分布閾值的變化判斷是否有入侵的產生,其步驟如下:
步驟一:收集網絡數據包獲取正常網絡數據作為自體集,并對自體集進行預處理獲取有效自體集;
步驟二:根據自體集的數據范圍生成均勻分布的基于t細胞受體的檢測器集合,根據自體集的核密度估計獲得t細胞受體檢測器的分布閾值;
步驟三:根據t細胞受體的動力學校驗模型,利用訓練階段的網絡數據對t細胞受體檢測器分布進行調整和學習,動態調整每個檢測器的狀態,讓每個檢測器能通過自學習適應網絡狀態的變化;
步驟四:利用獲得的t細胞受體檢測器集合對待檢測數據進行檢測,如果檢測器的分布閾值超出正常范圍,則認為異常入侵發生,否則屬于正常數據;檢測器利用檢測的正常數據對檢測器進行動態演進,隨環境數據變化調整檢測器分布閾值,獲得適應環境的進化t細胞受體檢測器集合。
所述自體集為:利用網絡偵聽抓包軟件采集網絡數據包,并從中選擇正常網絡數據作為正常狀態下的系統輪廓數據。
所述預處理包括對網絡數據進行抗原提呈和數據規范化操作;對網絡數據的抗原提呈:在l維的形態空間中每個需要被分類的數據可以被看成抗原ag,可以表示為l維的向量ag=<ag1,ag2,…,agl>,其中l表示向量的長度,每一維看成一個基因片段;當抗原進入機體后,對抗原進行提呈,轉變成t細胞可以識別的形式,以便與t細胞表面生成的t細胞受體結合,從而引起免疫反應,清除抗原;
所述數據規范化操作包括屬性數值處理、數據歸一化處理和pca處理;
a、屬性數值處理:將非數值型的特征映射到數值型1到n上,其中n為非數值型類型的個數;
b、數據歸一化處理:對屬性數值處理后的數據逐維進行歸一化處理;
其中,p表示上一步獲得的基因片段,pnew為p歸一化后的新值,pmin和pmax是p原值所在的范圍區間。取newmin=0,newmax=1可以將所有數據線性縮放到范圍[0,1];
c、pca處理:y=at×p,其中,p=(p1,p2,…pk)具有k個屬性維度的歸一化后組成的數據向量,每個數據向量有q個樣本;a=(a1,a2,...,aj),其每個列向量是通過計算得到的協方差矩陣的所有特征向量;pca處理是對歸一化后的數據進行特征子集的選取,去掉冗余屬性和無用屬性,減少自體集的維度。
所述t細胞受體的檢測器集合的生成方法為:根據預處理后獲得的有效自體集,計算其條件概率密度,獲取t細胞受體檢測器的分布帶寬h,根據帶寬值h,在自體集獲取的每個維度的數據范圍內生成均勻分布的t細胞受體的檢測器,具體步驟為:使用預處理后獲得的n個m維數據作為訓練數據,將該數據看作抗原,對于這n個獨立同分布的m維數據的條件概率密度估計:
其中,x為估計的位置點,xi是n個m維數據,k(·)為標準正態核函數:
其中,h是t細胞受體檢測器的分布帶寬,分布帶寬h是在估計的位置點x均方誤差mse基礎上的積分均方誤差mise進行計算。
所述動力學校驗模型包括每個檢測器在空間上具有位置rp(x)和動力學回饋rfb(x),初始位置rp(x)=0,自體集中每個樣本看作一個細胞或分子,受細胞不斷刺激的影響受體檢測器會對分布在該值域附近的樣本v產生反應,刺激t細胞受體檢測器的位置增長;每個檢測器根據下式調整各自的分布狀態,從而獲得正常狀態下的t細胞檢測器集合:
r′p(x)=a×rp(x)+k(x,v)-rfb(x)
r′fb(x)=b×rfb(x)+d×h(rp(x)-β),
其中,r′p(x)、r′fb(x)為在樣本v刺激后獲得的在估計的位置點x附近新的檢測器的位置和回饋值,0<a<1是受體位置的衰減率,0<b<1為回饋的衰減率,且a<b,d>0是回饋的增長率,h為階躍函數。
所述t細胞受體檢測器受到的刺激
對測試數據進行入侵檢測包括:
(1)對待檢測數據進行抗原提呈和數據規范化操作;
(2)將待檢測數據傳遞給t細胞受體檢測器進行分類,判斷t細胞受體檢測器的分布狀態與正常狀態下t細胞受體檢測器的范圍閾值是否一致,判斷在該數據影響下更新的受體位置是否rp(x)≥l,其中l=max{s(x)},如果小于閾值即受體更新的位置小于長度l,則待檢測數據是正常的,否則判定為異常入侵。
本發明利用生物免疫中t細胞受體的原理和機制,模擬t細胞受體對外來入侵抗原的識別去實現網絡中的入侵檢測,使用固定位置的t細胞受體檢測器集合代替傳統人工免疫方法中根據自體集隨機生成檢測器集合,使用實時數據對檢測器進行回饋調整,使得檢測器能夠進行自學習并進行動態演進,更適合網絡中實時動態變化的環境,縮短了傳統人工免疫入侵檢測方法中一旦環境變化就需要重新生成檢測器的時間浪費,提高了檢測的速度,具有生物免疫系統的動態、自適應和免疫記憶等特性,提高了系統安全。
附圖說明
圖1為本發明的工作原理圖。
圖2為網絡數據抗原提呈后的肽結構表示圖,每個p表示一個基因片段。
圖3為數據預處理的步驟圖。
圖4為本發明的方法步驟圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述。顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有付出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
本發明基于生物免疫中t細胞識別抗原提呈細胞后生成大量t細胞受體,提高對抗原的親和力,t細胞根據刺激產生正負回饋調整t細胞受體的數量和分布,實現對抗原的結合與識別。一種基于生物免疫t細胞受體機制的入侵檢測方法,借鑒生物免疫中t細胞遇到抗原入侵時在其表面表達大量的t細胞受體實現對抗原的結合與識別的機制,利用正常網絡數據的系統輪廓獲得t細胞受體檢測器的分布,然后根據檢測器分布閾值的變化判斷是否有入侵的產生。通過模擬生物免疫中t細胞受體對抗原提呈細胞提呈肽的識別進行入侵檢測,如圖1所示。通過生成固定位置的t細胞受體檢測器集合替代傳統人工免疫中隨機生成檢測器集合,根據提呈的數據,檢測器動態學習網絡狀態,進行自身狀態的調整,從而動態適應變化的網絡環境,進行有效的入侵檢測。具體步驟如下:
步驟一:收集網絡數據包獲取正常網絡數據作為自體集,并對自體集進行預處理獲取有效自體集。
首先,介紹本發明中使用到的一些符號、術語、定義及公式:
(1)定義正常行為集合(自體集,self)和異常行為集合(非自體集,nonself)是問題空間u的子集,即
(2)為了能夠使用t細胞受體的原理與機制,將數據v看成抗原ag,表示為l維的向量ag=<ag1,ag2,…,agl>,其中,l表示向量的長度,將其中的每一維看成一個基因片段,抗原進入機體后,進行抗原預處理,將其轉變成可以被t細胞識別的肽結構。
(3)對于每個需要被分類的行為v,只能被分類為c0(self),即正常類,或c1(nonself),即異常類。對于先驗概率p(ci),有p(c0)+p(c1)=1。根據貝葉斯定理,樣本v屬于c0類的類條件概率滿足:
根據已有數據的分布評估在當前范圍內的數據分類,范圍內的數據為正常,超出范圍的數據就屬于異常。
(4)根據免疫系統中t細胞受體的機制,定義t細胞受體檢測器為一個五元組r=(p,fb,β,l,c),其中p,fb,β,l∈r,每個受體具有位置p,表示檢測器的初始狀態;回饋fb,表示檢測器周圍抗原對其的影響值;β為回饋邊界,只有超過回饋邊界的檢測器才需要動態調整,低于回饋邊界的檢測器不會發生變化;長度l表示受體范圍,即檢測器能夠檢測到的最大范圍;當p≥l時產生激活信號c,當激活信號產生時,表示檢測器檢測到異常。
本發明利用網絡偵聽抓包軟件采集網絡數據包,并從中選擇正常網絡數據作為正常狀態下的系統輪廓數據----抗原數據,組成自體集。檢測器集合需要在有效自體集合上獲取,而有效自體集的獲取需要對網絡中的正常數據進行預處理。自體集預處理包括對網絡數據進行抗原提呈和數據規范化操作。
對網絡數據進行抗原提呈:在l維的形態空間中每個需要被分類的數據被看成抗原ag,數據表示為l維的向量ag=<ag1,ag2,…,agl>,其中,l表示向量的長度,每一維可以看成一個基因片段。當抗原進入機體后,對抗原進行提呈,轉變成t細胞可以識別的形式,以便與t細胞表面生成的t細胞受體結合,從而引起免疫反應,清除抗原。對網絡數據進行抗原提呈是對網絡數據包進行免疫方法表示,將每一個具體屬性表示為肽的結構,實現對網絡數據的基因片段抗原提呈,獲取能與t細胞受體進行匹配的有效自體屬性。如圖2所示,對數據中的源ip地址、目的ip地址、源端口號、目的端口號、源mac地址、目的mac地址、tcp/udp/icmp域、網絡數據包長度等均視為一個基因片段p——肽的提呈。
數據規范化操作包括屬性數值處理、數據歸一化處理和pca處理,如圖3所示。數據規范化操作將數據從高維變成低維,可以減少自體集的大小,提高檢測器的生成效率。在圖3中,完整特征集合即收集的網絡數據集合,通過抗原提呈后對數據屬性進行數值處理和歸一化等相關性處理,然后去除冗余的多余屬性得到最后適應本發明的數據子集。
其中,相關性處理中的屬性數值處理是將得到的原始數據根據向量維度進行屬性劃分,將非數值型的特征映射到數值型1到n上,其中,n為非數值型類型的個數。
數據歸一化處理:對不符合范圍值的屬性逐維進行歸一化處理,如公式(2)所示:
其中,p表示上一步獲得的基因片段,pnew為p歸一化后的新值,pmin和pmax是p原值所在的范圍區間。取newmin=0,newmax=1可以將所有數據線性縮放到范圍[0,1]。
pca(主成分分析)處理是對數據進行去無用和去冗余處理,是對規范化后的數據進行特征子集的選取,采用主成分分析方法去掉冗余屬性和無用屬性,減少自體集的維度。
p=(p1,p2,…pk)是問題涉及的具有k個屬性維度的歸一化后pnew組成的數據向量,每個變量p有q個樣本,即p是一個k×q的矩陣。根據需要,一般按照各個主成分的累計貢獻率選取前j個(j<k)主成分對數據集進行分析,而通常j的取值要使累計貢獻率大于85%以上。選取a=(a1,a2,...,aj),其中每個列向量是通過計算得到的協方差矩陣的所有特征向量。
通過公式(3)就可以將數據從k維降低到j維,y就是經過pca變換后的數據集。
其中,根據數據規范化操作降維后選出的特征子集進行入侵檢測,可以節省時間,提高效率。
步驟二:根據自體集的數據范圍生成均勻分布的基于t細胞受體的檢測器集合,根據自體集的核密度估計獲得t細胞受體檢測器的分布閾值。
根據預處理后獲得的自體集屬性,計算其條件概率密度,獲取t細胞受體檢測器的分布帶寬h。而帶寬h通過在估計的位置點x的積分均方誤差mise進行計算。根據帶寬值,在根據數據預處理后得到的自體集的每個維度數據范圍內生成均勻分布的t細胞受體的檢測器。t細胞受體的檢測器集合是均勻分布在自體集維度空間間距上的一組集合。
選取公式(3)預處理后獲得的n個m維數據作為訓練數據,將該數據看作抗原,對于這n個獨立同分布的m維數據的條件概率密度估計:
其中,x為估計的位置點,xi即n個m維數據,k(·)為標準正態核函數:
公式(5)中的h是t細胞受體檢測器的分布間距。h的選擇通過在估計的位置點x的均方誤差mse基礎上的積分均方誤差mise進行計算。這樣即可獲得在訓練數據范圍內生成的均勻間距為h的t細胞受體檢測器集合。
步驟三:根據t細胞受體的動力學校驗模型,利用訓練階段的網絡數據對t細胞受體檢測器分布進行調整和學習,動態調整每個檢測器的狀態,讓每個檢測器能通過自學習適應網絡狀態的變化。
t細胞受體檢測器集合的狀態主要通過自體集的輸入序列進行調整,將一個輸入樣本看成一個細胞或分子,所有的t細胞受體檢測器會對其進行識別與處理。因此,根據各個維度上屬性對檢測器的刺激,獲取檢測器的位置和回饋狀態的變化,得到在持續穩定狀態下每個檢測器的正常變化的閾值范圍,即每個t細胞受體檢測器的分布狀態,從而由檢測器集合對測試數據進行入侵判斷。
獲取每個檢測器的狀態,每個t細胞受體檢測器的初始狀態rp(x)=0,根據每一個訓練抗原數據對t細胞受體檢測器的影響計算它的狀態的變化。t細胞受體檢測器在空間上具有位置rp(x)和動力學回饋rfb(x),自體集中每個樣本看作一個細胞或分子,受細胞不斷刺激的影響,受體檢測器會對分布在該值域附近的樣本產生反應,刺激t細胞受體檢測器的位置增長。每個檢測器調整各自的分布狀態,從而獲得正常狀態下的t細胞檢測器集合。在每個抗原影響下t細胞受體檢測器的狀態變化為:
r′p(x)=a×rp(x)+k(x,v)-rfb(x)(6)
r′fb(x)=b×rfb(x)+d×h(rp(x)-β),
其中,r′p(x)、r′fb(x)為在樣本v刺激后獲得的在估計的位置點x附近新的檢測器的位置和回饋值,,0<a<1是受體位置的衰減率,0<b<1為回饋的衰減率,d>0是回饋的增長率,h是階躍函數。根據生物免疫的分析,受體位置的衰減率慢于負回饋的衰減率,即參數a<b。
每一個訓練數據等同于一個抗原,所有的t細胞受體都會對該抗原做出反應。t細胞受體檢測器受到的總的影響為
根據回饋和位置確定每個檢測器的分布閾值,當讀入新的抗原數據,檢測器的狀態不再發生變化時,停止訓練,得到正常狀態下檢測器集合的狀態分布。
根據數據對于t細胞受體檢測器的刺激
步驟四:利用獲得的t細胞受體檢測器集合對待檢測數據進行檢測,如果檢測器的分布閾值超出正常范圍,則認為異常入侵發生,否則屬于正常數據;檢測器利用檢測的正常數據對檢測器進行動態演進,隨環境數據變化調整檢測器分布閾值,獲得適應環境的進化t細胞受體檢測器集合。
對待檢測數據進的抗原提呈和數據規范化操作;將待檢測數據傳遞給t細胞受體檢測器進行分類,判斷t細胞受體檢測器的分布狀態與正常狀態下t細胞受體檢測器的范圍閾值是否一致,如果小于閾值,則待檢測數據是正常的,否則判定為異常。對每個測試數據,根據公式(5)和(6)計算其在受體附近的位置和回饋大小。判斷在該數據影響下更新的受體位置是否rp(x)≥l,其中l=max{s(x)}。如果受體更新的位置小于長度l,則該測試數據是正常的,否則判定為異常入侵。
網絡安全入侵檢測中正常數據的數量遠遠大于異常數據的數量,大多數正常數據由于屬性相似,會符合特定的密度分布,映射到相對集中的區域,即通過訓練樣本得到的正常數據的t細胞受體密度分布狀態。而異常數據則會由于屬性的差異落在該區域之外。因此,根據評估訓練數據概率密度的閾值α給出入侵檢測的分類函數:
如果閾值α小于正常系統輪廓下的概率密度分布值,則說明被檢測數據分布在正常系統輪廓內,是正常數據;否則,數據分布在正常系統輪廓之外,數據屬于異常數據,算法給出入侵報警。
當新的測試數據分類完成后,受體狀態需要根據公式(6)實時更新,做出動態調整以便分類新的數據。整個測試階段不斷根據回饋和受體位置判斷新的測試數據,直到處理完所有的數據為止。
最后,以上所述僅為本發明較佳的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。