范曉詩 雷英杰 王亞男 郭新鵬
直覺模糊集合(Intuitionistic Fuzzy Set, IFS)作為模糊集合的泛化理論,因其引入猶豫度參數對客觀事物不確定性表述的優勢,被學者們廣泛研究。直覺模糊推理(Intuitionistic Fuzzy Reasoning, IFR)是模糊理論應用最為廣泛的工具,文獻[1]將直覺模糊推理與認知圖結合,應用于決策支持,文獻[2]利用模糊神經網絡規則推理對非線性系統進行控制,文獻[3]將直覺模糊推理理論應用于目標識別領域,得到了很好的識別效果,文獻[4]首次提出了Ⅱ型模糊集理論在模式識別中的應用問題,文獻[5]和文獻[6]分別將模糊推理運用于故障診斷與圖像處理方面,文獻[7,8]研究了威脅評估中的直覺模糊推理方法。由此可見,直覺模糊推理理論是一種十分有效的智能信息處理方法。
相似度和包含度是直覺模糊集合間關系的度量,能夠有效處理直覺模糊計算問題,是精確問題和模糊問題相互轉換的橋梁,許多文獻也做了相關研究,文獻[9]和文獻[10]分別研究了直覺模糊相似度的建模和模式識別應用問題,文獻[11]提出了基于包含度的直覺模糊推理方法,并證明給出的公式滿足相關公理化定義。這些研究都為直覺模糊推理的應用和推廣提供了理論基礎,并促進相關領域的創新和發展。
異常檢測是網絡安全面對的重要問題,網絡異常檢測通常分為基于統計的檢測和基于特征的異常檢測,前者通用性能好,但準確度不夠理想,后者的優點是準確度高,缺點是特征匹配方法往往效率較低,維護特征數據庫的系統開銷較大。流量異常檢測已有許多基于不同智能計算理論的研究,如統計學原理、免疫計算[12]、支持向量機[13]等,以及一些結合模糊理論的方法,如遺傳模糊系統[14]、模糊粒子群算法[15]。傳統異常檢測方法受到計算復雜度和數據規模的限制,只能選取若干特征屬性作為檢測指標,對網絡流量全局特征的刻畫能力有限,尤其是針對連續特征屬性,傳統精確數據的處理方法,為了提高檢測準確率,通常采用模式規模擴充,或者對特征屬性進行更細致的劃分,這些方法都是以犧牲系統資源為代價,不利于計算方法的進一步優化。直覺模糊理論可以很好描述系統的不確定性和模糊性,通過直覺模糊化將精確數據映射到直覺模糊集中,降低規則庫規模,是解決網絡流量分類、異常檢測問題的新思路。
本文將直覺模糊推理理論應用于網絡流量異常檢測,充分考慮流量特征描述不確定性和模糊性,并通過實驗證明其有效性。
直覺模糊推理的一般過程包括系統輸入變量直覺模糊化,推理規則的建立,推理規則合成,輸出結果等步驟。運用直覺模糊推理方法進行異常檢測時,首先對網絡流量特征屬性直覺模糊化,然后建立相應的推理規則庫,根據推理規則合成,將檢測數據輸入系統,最后得到輸出結果。
根據網絡流量特征屬性,確定直覺模糊系統的隸屬度和非隸屬度函數。該方法實際上是一個集合映射的過程,將每一個特征屬性定義為一個直覺模糊變量,根據特征屬性類型確定函數。異常檢測KDD99數據集[16]中屬性包括離散型和連續型,由于離散型數值各自互斥,沒有明顯的相關性和相似性,因而采用嚴格三角隸屬度。本文涉及的主要特征屬性參數說明如表1所示。
假設某一特征屬性A有N個離散屬性值,定義第i個屬性值對應隸屬度函數為(i -1)/n,令猶豫度πA(x)= 0 ,則非隸屬度函數為 γA(x)= 1 - μA(x) 。例如,KDD99數據集中protocol_type特征屬性包括3個離散變量TCP, UDP和ICMP,根據上述定義,可以計算得到其特征屬性函數分別為<0, 1>,<0.333, 0.667>和<0.667, 0.333>。
為了合理描述網絡流量分布特性,對于連續型變量,采用高斯型隸屬度函數,即

根據式(1),首先對特征屬性的論域進行劃分,得到特征屬性子集,其次確定參數σ和c,得到各個特征變量函數,計算特征屬性值對應各個直覺模糊子集的相關輸入函數參數,具體步驟為:
步驟 1 根據屬性特征劃分特征子集 x變化范圍,記做 I1,I2,… ,In;
步驟2 設特征屬性子集Ai的定義域為[A,B],確定對應的值域為[C, D],記映射函數為 f(x, a, b, c);
步驟3 計算映射參數,D=σ+c,其中c為中心, σ為寬度,a = A +( B-A)/2,將定義域和值域帶入映射函數f=c+(x-a)/b,計算得到b;
步驟 4 多次代入數值檢驗 x輸出分布是否均勻,調整參數和區間劃分;
步驟 5 根據式(1)計算隸屬度與非隸屬度函數。
例如對數據包byte這一特征屬性進行直覺模糊化,由于網絡中字節數這一指標是非均勻分布,存在大量空數據包,而小數據包變化單位為字節級,而大數據包變化尺度為百字節級甚至千字節級,平均劃分論域不能很好描述數據特征。因此,本文對全局論域變尺度劃分,得到數據包由大到小分別為B1=[10240,∞ ), B2=[4096, 10240), B3=[1024,4096), B4=[256, 1024), B5= [1, 256), B6=0。相應的直覺模糊子集可劃分為I1=[0, 0.1), I2=[0.1, 0.3),I3=[0.3, 0.5), I4=[0.5, 0.7), I5=[0.7, 0.9), I6=1,隸屬度函數如圖1所示,特征屬性Byte函數參數值如表2所示。根據以上步驟,可以得出特征屬性byte輸入函數為

表1 KDD99數據集主要特征屬性參數說明

同理可以分別得到特征屬性 duration, service,flag, urgent的函數,將特征屬性service和flag直接線性映射在[0,1]區間,其余連續函數如式(3)和式(4)所示。


圖 1 變量byte隸屬度函數
最后,定義輸出論域U'。將流量檢測結果分為5類,normal, Probe, DoS, U2R和R2L,分別對應5個直覺模糊子集[0,0.2], [0.2,0.4], [0.4,0.6], [0.6,0.8]和[0.8,1.0]。
對于U2R和R2L之類的攻擊,其數據包與正常連接沒有明顯區別,所以選擇若干基于連接內容和連接時間的特征屬性如hot, count。經過特征屬性直覺模糊化后,得到異常檢測參數變量 D(duration),S(service), F(flag), B(byte), U(urgent), H(hot),C(count),則異常檢測推理系統推理規則數 N=Nd×Ns×Nf×Nb×Nu×Nh×Nc= 4×70×11×6×3×3×3=498960。這樣的推理規則數量過于龐大,可以進行再次直覺模糊化,例如service特征屬性包含70個變量,而csnet_net, ctf, discard, daytime等均對應neptune攻擊,將這些可以推理出相同分類結果的服務類型進行聚合,最后得到12個新的直覺模糊子集,約簡后推理規則N′=4×12×11×6×3×3×3=85536條,可見利用屬性約簡的方法可以大大降低推理規則數量,另一方面,這里的N′是理論規則庫,并非所有規則都需要生成,通過前期對樣本數據的訓練,得到理論規則庫的一個子集,可進一步縮減規則庫的規模,達到提高效率的目的。
包含度和強相似度是刻畫直覺模糊集合關系的度量,能夠有效反應直覺模糊集數據間關系,是直覺模糊推理的基礎,本文擬在相關理論的基礎上構建基于直覺模糊推理的異常檢測方法。
下面給出直覺模糊包含度的相關定→義[11]。定義1 設直覺模糊集上IFS×IFS[0,1]的映射θ滿足條件:(1)A ? B ? θ (A, B )=1,(2)θ(A , φ ) = 0,(3)A ? B ? C ? θ (C, A) ≤ m in{θ( B, A) , θ(C, B)}。 則 稱θ(A, B)為A在B中的包含度,θ為IFS上的包含度函數。


表2 特征屬性byte函數參數值
定義2 設R是直覺模糊蘊含算子R(a,b)關于a的非增函數,關于b的非減函數,則為IFS包含度函數,λ是蘊涵算子權重系數,一般取值較小,這里取λ=0.1。包含度函數選擇不唯一,通常選擇滿足定義并易于計算的函數。
定義3 設θ(A, B)為IFS上的包含度函數,則

是A和B的強相似度量,相關公理化定義可參閱文獻[10]。
根據以上定義和函數公式,表3給出多維多重式規則的基于包含度的直覺模糊推理形式。
表 3 中,i(D)=1,2,…,Nd, i(S)=1,2,…,Ns,i(F)=1, 2,…,Nf, i(B)=1,2,…,Nb, i(U)=1,2,…,Nu,i(H)= 1,2,…,Nh, i(C)=1,2,…,Nc, CFi為直覺模糊推理可信度因子,d, s, f, b, u, h, c是輸入特征屬性變量,z是輸出變量,D,S,F,B,U,H,C是語言前件,即<d, μDi,γDi>,d∈D;<s,μSi, γSi>,s∈S;<f,μFi,γFi>,f ∈ F ;<b,μBi,γBi>,b ∈B;<u,μUi,γUi>, u ∈U ; < h, μHi, γHi>, h ∈ H ;<c, μCi, γCi>, c ∈ C 。U'為推理后件,即輸出論域的直覺模糊子集, < z, μU′j,γU′j>, z ∈ U '。

表3 基于包含度的直覺模糊推理形式
根據以上定義,可以構建出直覺模糊推理方法,具體步驟為:
步驟 1 根據式(5)選取λ和直覺模糊蘊含算子R,若X表示規則特征屬性變量,X*表示檢測數據特征屬性,求得包含度*(,)X Xθ,進而根據式(6)求得強相似度*
(,)X Xδ。步驟 2 利用 Mamdani算子 Rc(A→B)推導輸出結果z。則Z =< μR,γR>, z ∈ U '。

δ(X, X*)的推理結果為
i

式中N是特征屬性維數。根據上述推理過程,將檢測數據在規則庫中進行匹配,選擇最大強相似度輸出直覺模糊集作為推導結果。
為驗證本文提出的直覺模糊推理異常檢測的方法,利用KDD99實驗數據集的10%的訓練樣本集生成一個直覺模糊推理規則庫,接著對corrected測試數據集直覺模糊化,得到輸入向量,最后經過推理系統得到輸出結果,以分類準確率驗證方法性能。
訓練樣本集的部分數據如表 4所示,每條數據由7維特征屬性和1個類別標簽構成,根據變量直覺模糊化方法得到相應的推理規則庫,部分規則如表5所示。規則推理求解如圖2所示,從圖中可以看出,前4條規則可以合并為1條,由此可見直覺模糊化具有化簡規則庫的作用。
實驗 1本文首先驗證推理方法的有效性,以corrected測試數據集隨機選取的9條數據為例,如表6前8列所示,首先對檢測數據進行直覺模糊化,得到如下輸入向量:
I1= [1, 0.9130, 0.1818, 0.7820, 1, 0, 0.0020], I2=[1, 0.9130, 0.1818, 0.7820, 1, 0, 0.0040], I3= [1,0.7470, 0.1818, 0.3005, 1, 0, 0.9785], I4= [1, 0.7470,0.1818, 0.3005, 1, 0, 0.9941], I5= [1, 0.7470, 0.1818,0.3005, 1, 0, 0.9980], I6= [1, 0.7470, 0.1818, 0.7141,1, 0, 0.0020], I7= [0.7880, 0.1660, 0.1818, 0.9586, 1,0, 0.0040], I8= [1, 1, 0.5454, 1, 1, 0, 0.0040], I9= [1,1, 0.5454, 1, 1, 0, 0.0020]。

表4 訓練樣本數據集

表5 推理規則庫

圖 2 規則推理圖
接著將向量輸入規則庫,分別求出與每條規則的強相似度,取最大強相似度輸出結果Z*,得到推理結果O1=0.2, O2=1.0, O3=0.6, O4=0.6, O5=0.6,O6=0.6, O7=0.4, O8=0.8, O9=0.8,最后反推出所屬類別label,結果如表6第9列所示。
經過與原始標簽對比,9條數據分類結果正確,通過實驗1可以看出,基于該直覺模糊推理系統的異常檢測方法是有效的。
實驗 2 對比本文方法與其他相關方法,測試數據集corrected包括約300000條數據,為測試直覺模糊推理方法的分類效果,從中隨機選擇 10000條數據,其中包括5227條正常數據和4773條異常數據,數據分布情況如表7第1列所示。分別對測試數據進行8次實驗取平均值。前3次實驗得到分類結果及8次平均正類正確分類率TP和正類錯誤分類率FP值如表7所示。

表6 檢測數據集
實驗分類正確率結果與相關經典方法比較,根據文獻[17]的實驗部分,對比Wenke Lee的異常檢測方法,SVM, BP network,免疫算法[12]和遺傳模糊系統(基于Michigan算法)[14]方法,取平均分類正確率如表8所示。
通過表8可以看出,基于包含度的直覺模糊推理方法在網絡流量異常檢測中具有良好的表現,由于DoS攻擊具有明顯的特征屬性,各種異常檢測方法均能達到良好的檢測結果,對于Probing攻擊,本文提出的方法僅較 SVM 和 BP network略有遜色,仍然具有較高的檢測率,R2L和U2L攻擊特征屬性并不明顯,不同方法特征提取的不同導致檢測結果差異較大,而基于直覺模糊推理的方法有規則庫作為支持,對該類攻擊檢測結果均能達到90%以上,從而說明本文方法的有效性和泛化能力。
本文針對網絡流量異常檢測問題,提出了基于直覺模糊推理的異常檢測方法,將直覺模糊理論針對不確定性和模糊性描述能力強的特性與網絡流量特征屬性相結合,進一步提高了網絡流量的刻畫能力。通過 KDD99標準數據實驗,驗證了本文方法的可行性,同時與其他相關方法比較,對 R2L和U2L等特征屬性不明顯的攻擊取得較好的檢測效果,對直覺模糊理論在網絡信息安全領域應用進行了有益的探索。直覺模糊理論在異常檢測方面的研究目前還停留在線下檢測,如何應用于線上即時檢測還需要進一步深入研究。

表7 異常檢測結果

表8 算法對比結果(%)
[1] Dimitris K and Elpiniki I. Intuitionistic fuzzy reasoning with cognitive maps[C]. Proceedings of the IEEE International Conference on Fuzzy Systems, Taipei, China, 2011: 821-827.
[2] Chen Cheng-hung. Compensatory neural fuzzy networks with rule-based cooperative differential evolution for nonlinear system control[J]. Nonlinear Dynamics, 2014, 75(1): 355-366.
[3] Lei Yang, Lei Ying-jie, and Kong Wei-wei. Technique for target recognition based on intuitionistic fuzzy reasoning[J].IET Signal Processing, 2012, 6(3): 255-263.
[4] Mitchell H B. Pattern recognition using type-II fuzzy sets[J].Information Sciences, 2005, 170(2/4): 409-418.
[5] Hong Peng, Jun Wang, Mario J P J, et al.. Fuzzy reasoning spiking neural P system for fault diagnosis[J]. Information Sciences, 2013, 235: 106-116.
[6] Luigi L and Larbi B. Using multiple uncertain examples and adaptative fuzzy reasoning to optimize image characterization[J]. Knowledge Based System, 2007, 20(3):266-276.
[7] 雷英杰, 王寶樹, 王毅. 基于直覺模糊推理的威脅評估方法[J].電子與信息學報, 2007, 29(9): 2077-2081.Lei Ying-jie, Wang Bao-shu, and Wang Yi. Techniques for threat assessment based on intuitionistic fuzzy reasoning[J].Journal of Electronics & Information Technology, 2007, 29(9):2077-2081.
[8] 雷英杰, 王寶樹, 王毅. 基于直覺模糊決策的戰場態勢評估方法[J]. 電子學報, 2006, 34(12): 1275-1279.Lei Ying-jie, Wang Bao-shu, and Wang Yi. Techniques for battlefield situation assessment based on intuitionistic fuzzy decision[J]. Acta Electronica Sinica, 2006, 34(12): 1275-1279.
[9] Hwang C M, Yang M S, Hung W L, et al.. A similarity measure of intuitionistic fuzzy sets based on the Sugeno integral with its application to pattern recognition[J]. Information Sciences, 2012, 189: 93-109.
[10] Boran F E and Akay D. A biparametric similarity measure on intuitionistic fuzzy sets with applications to pattern recognition[J]. Information Sciences, 2014, 255: 45-57.
[11] 王毅, 劉三陽, 張文, 等. 基于包含度的直覺模糊相似度量推理方法[J]. 系統工程與電子技術, 2014, 36(3): 497-500.Wang Yi, Liu San-yang, Zhang Wen, et al.. Intuitionistic fuzzy similarity measures reasoning method based on inclusion degrees[J]. Systems Engineering and Electronics,2014, 36(3): 497-500.
[12] 嚴宣輝. 應用疫苗接種策略的免疫入侵檢測模型[J]. 電子學報, 2009, 37(4): 780-785.Yan Xuan-hui. An artificial immune-based intrusion detection model using vaccination strategy[J]. Acta Electronica Sinica, 2009, 37(4): 780-785.
[13] Kuang F J , Xu W H, and Zhang S Y. A novel hybrid KPCA and SVM with GA model for intrusion detection[J]. Applied Soft Computing, 2014, 18(5): 178-184.
[14] Abadeh M S, Mohamadi H, and Habibi J. Design and analysis of genetic fuzzy systems for intrusion detection in computer networks[J]. Expert Systems with Applications,2011, 38(6): 7067-7075.
[15] Karami A and Zapata M G. A fuzzy anomaly detection system based on hybrid PSO-Kmeans algorithm in content-centric networks[J]. Neurocomputing, 2014, 149(3):1253-1269.
[16] Hettich S and Bay S D. KDD cup 1999 data[OL].http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html,1999.
[17] Guo S Q, Gao C, Yao J, et al. An intrusion detection model based on improved random forests algorithm[J]. Journal of Software, 2005, 16(8): 1490-1498.