任志航
(許繼集團有限公司,河南 許昌 461000)
當前電力通信系統(tǒng)中的安全威脅逐漸增多[1-2],特別是客戶側(cè)終端等信息化設(shè)備具有運營成本高、數(shù)據(jù)價值大、社會影響廣等特點,未來可能成為網(wǎng)絡(luò)攻擊的重要目標。
客戶側(cè)終端負責將計量設(shè)備、充電樁、光伏設(shè)備等產(chǎn)生的業(yè)務(wù)數(shù)據(jù)上傳到主站,以及將主站控制信息下發(fā)。未來,客戶側(cè)終端將承擔“感知數(shù)據(jù)總?cè)肟?,控制指令總出口”的任?wù),并逐步具備“全接入、全采集、全控制”的能力??蛻魝?cè)終端一旦遭到攻擊,可能會造成嚴重的經(jīng)濟損失和社會不良影響。
然而,當前針對客戶側(cè)終端網(wǎng)絡(luò)場景的入侵檢測研究相對較少,特別是缺少針對該場景下檢測效率的研究。例如:文獻[3]采用多網(wǎng)絡(luò)特征統(tǒng)計分析的技術(shù)設(shè)計了智能電網(wǎng)入侵檢測模型,但僅面向特定的應(yīng)用環(huán)境。文獻[4-5]提出了針對智能電網(wǎng)等環(huán)境下的入侵檢測,但存在計算開銷大、運行時間長等缺點。
相關(guān)研究表明,提升入侵檢測效率,可以通過數(shù)據(jù)降維和選取高效率的入侵檢測方法等來實現(xiàn)。例如可以通過特征選擇來過濾噪聲,避免過擬合,降低數(shù)據(jù)采集和攻擊檢測時的計算開銷。特征選擇問題可以轉(zhuǎn)換為離散空間中的優(yōu)化問題,并通過BPSO(Discrete Binary Particle Swarm Optimization Algorithm)等算法有效解決[6]。但BPSO容易出現(xiàn)過早擬合、陷入局部最優(yōu)等情況[7],針對這些問題,可以引入變異來對BPSO算法進行改進[8]。
LightGBM(Light Gradient Boosting Machine)是一種新興的機器學(xué)習(xí)方法,具有準確度高、速度快、內(nèi)存占用少等優(yōu)勢,在近年來得到了廣泛應(yīng)用[9],但也存在參數(shù)較多、不易優(yōu)化等問題[10]。
客戶側(cè)終端與主站間的網(wǎng)絡(luò)拓撲形式及入侵檢測設(shè)備的部署位置如圖1所示??蛻魝?cè)終端設(shè)備或主站設(shè)備可能面臨來自開放網(wǎng)絡(luò)、其他終端設(shè)備或自身硬件接口的攻擊。隨著通信技術(shù)的發(fā)展,客戶側(cè)終端將采用更加多樣化的聯(lián)網(wǎng)方式和主站連接,因此來自開放網(wǎng)絡(luò)上的安全威脅會日益增加。
圖1 客戶側(cè)終端網(wǎng)絡(luò)拓撲Fig.1 Client side terminal equipment andnetwork topology
入侵檢測設(shè)施應(yīng)部署在客戶側(cè)終端附近的網(wǎng)絡(luò)位置上,以旁路方式接入網(wǎng)絡(luò),完成對網(wǎng)絡(luò)協(xié)議、流量等特征的獲取、處理和入侵檢測等功能。
客戶側(cè)終端設(shè)備及應(yīng)用系統(tǒng)中的入侵檢測方法,針對特定攻擊類型,應(yīng)同時具備較好的識別能力,較高的檢測效率和良好的自適應(yīng)性。
首先,客戶側(cè)終端及應(yīng)用系統(tǒng)面臨的網(wǎng)絡(luò)安全威脅和一般互聯(lián)網(wǎng)應(yīng)用有相似性,但面臨的應(yīng)用層威脅較少,來自操作系統(tǒng)或網(wǎng)絡(luò)的威脅相對較多。從攻擊手段上看,電力系統(tǒng)中可能出現(xiàn)的攻擊類型包括:拒絕服務(wù)、漏洞利用、信息收集等[11]。此外,攻擊者還可能利用模糊攻擊(Fuzzers)等方式對客戶側(cè)終端和主站之間的應(yīng)用層加密協(xié)議進行攻擊。針對上述特點,在進行入侵檢測時,應(yīng)更多地對網(wǎng)絡(luò)協(xié)議和流量特征等進行分析,根據(jù)端口、協(xié)議、包長等信息,對攻擊進行識別和分類。
其次,客戶側(cè)終端具有數(shù)量大、部署分散等特點。高效率的檢測方法,在保障及時性的同時,還有助于降低硬件要求,在大規(guī)模部署入侵檢測系統(tǒng)時,能有效地降低總成本。此外,結(jié)合國家電網(wǎng)當前的“用采系統(tǒng)2.0”規(guī)劃,高效率的入侵檢測方法更容易以容器化方式部署在公共設(shè)備之上。這也意味著某些過于復(fù)雜的深度學(xué)習(xí)方法可能不適合應(yīng)用于上述場景[5]。
最后,考慮到聯(lián)網(wǎng)方式的多樣性和部署時的特殊情況,不同入侵檢測設(shè)備對網(wǎng)絡(luò)特征的采集能力和采集內(nèi)容可能有所不同。因此入侵檢測方法應(yīng)具有良好的自適應(yīng)能力,即針對不同的網(wǎng)絡(luò)特征信息,均能完成高效率的入侵檢測。
提出的面向客戶側(cè)終端的網(wǎng)絡(luò)攻擊檢測(NIDS)模型如圖2所示。
圖2 面向客戶側(cè)終端的網(wǎng)絡(luò)攻擊檢測流程Fig.2 Client-side terminal-oriented networkattack detection process
在保證檢測效果的前提下,為了提升檢測效率,降低處理開銷,模型中設(shè)計了如下機制:
(1)通過引入改進的目標編碼機制,在不增加數(shù)據(jù)維度的情況下實現(xiàn)更有效的離散數(shù)據(jù)編碼;
(2)基于改進的BPSO算法進行特征選擇。降低監(jiān)控數(shù)據(jù)的采集開銷和入侵檢測算法的處理開銷,同時降低數(shù)據(jù)噪聲;
(3)通過PSO算法對LightGBM參數(shù)進行自動尋優(yōu),實現(xiàn)對網(wǎng)絡(luò)攻擊的高效檢測,以及對常見攻擊進行分類。
特征數(shù)據(jù)包含多種數(shù)據(jù)特征,一是諸如連接時間、包長度等連續(xù)特征;二是諸如協(xié)議類型、連接狀態(tài)等類別特征。在進行異常檢測之前,需要將特征編碼成數(shù)值。常見的變量編碼方式有標簽編碼[12]、獨熱編碼[13]和目標編碼[14]等。
標簽編碼的問題在于將分類之間的無序關(guān)系變成了順序關(guān)系,使得一些算法中的距離計算產(chǎn)生誤差。雖然基于樹的機器學(xué)習(xí)算法不會進行距離計算,但算法的擴展和改進會受到限制。
獨熱編碼的優(yōu)點在于距離計算更加合理,缺點在于顯著增加了數(shù)據(jù)維度,降低處理效率。此外,獨熱編碼會將特征信息變得稀疏,導(dǎo)致基于樹結(jié)構(gòu)的算法性能下降。
目標編碼是一種有監(jiān)督的編碼方式,該方法將離散類型列映射為該類別目標的后驗概率,這樣可以直接將該列與目標列建立聯(lián)系,且不會增加數(shù)據(jù)維度。在實際編碼時,目標編碼會引入平滑項為缺失值編碼,但并未對實現(xiàn)方法做具體規(guī)定。LightGBM算法中自帶了類別特征編碼方法,其主要思想和目標編碼相似,但引入了自定義的約束條件和正則化條件。
針對特征數(shù)據(jù)中的類別變量,在目標編碼的基礎(chǔ)上,提出一種新的平滑項計算方法,以解決特征取值數(shù)量過少時引起的編碼困難問題。同時,在編碼流程上,引入了20折交叉編碼機制,以降低過擬合風險。
2.2.1 編碼公式
編碼采用有監(jiān)督的處理方式,映射方法如式(1)所示[14]:
(1)
式中的前一項為平滑項,后一項為特征取值的期望值;x(j)為特征當前取值;y為目標列;E(j)為當前特征取值對應(yīng)編碼值;S為樣本總數(shù)量;Ⅱ為指示函數(shù);S(j)為取值j的樣本總數(shù)量,如式(2)所示:
(2)
當某個特征取值數(shù)量較少時,其期望值可能存在較大噪聲,而當某個特征取值在訓(xùn)練集中未出現(xiàn),但在測試集中出現(xiàn)時,其期望值無法計算。為解決該問題,提出一種平滑系數(shù)β(j)的計算方法,如式(3)所示:
(3)
式中S_min為平滑門限值,大小設(shè)置為S的0.5%。當前特征取值S(j)的數(shù)量多于S_min時,編碼值為當前取值的目標平均值。當取值少于S_min時,編碼值由目標平均值和平滑項共同組成,平滑項的占比與S取值數(shù)量有關(guān)。當某個特征取值在訓(xùn)練集中未出現(xiàn),只在測試集出現(xiàn)時,編碼值完全由平滑項構(gòu)成。
2.2.2 編碼流程
編碼流程如圖3所示。
圖3 引入平滑因子的目標編碼流程Fig.3 Introducing the target encoding process of the smoothing factor
采用20折交叉編碼策略:首先將訓(xùn)練數(shù)據(jù)劃分為20折,選取1折數(shù)據(jù)為編碼數(shù)據(jù)集其余19折為統(tǒng)計數(shù)據(jù)集。根據(jù)式(1)、式(3)計算19折統(tǒng)計數(shù)據(jù)集的編碼值,并將其映射到編碼數(shù)據(jù)集;其次,選取另一折為編碼數(shù)據(jù)集,其他折為統(tǒng)計數(shù)據(jù)集;再次計算編碼值并進行映射,并循環(huán)20次。20次映射結(jié)果的并集,即為訓(xùn)練集編碼。對于測試集,則根據(jù)20次編碼平均值進行編碼。該策略可以解決由于數(shù)據(jù)分布不均勻?qū)е碌倪^擬合問題。
提出了一種基于速度變異機制的BPSO算法實現(xiàn)特征選擇。BPSO作為PSO的一種改進算法,約定位置向量、速度向量均由0、1構(gòu)成,可以更好地解決離散空間中的優(yōu)化問題[15]。
算法的主要流程如下:將標注過的數(shù)據(jù)作為輸入,假設(shè)輸入數(shù)據(jù)維度為N維特征,給每維特征分配一個重要性權(quán)重系數(shù)ai,ai∈[0,1],ai大小與重要程度程正相關(guān)。特征選擇就是求解N維特征的重要性權(quán)重系數(shù),由系數(shù)大小篩選出重要特征。為簡化計算量,將數(shù)據(jù)集中的特征值全部歸一化到(0,1) 范圍內(nèi)。
二進制粒子群算法流程如下:
步驟1:初始化粒子群,粒子用一個二進制位串表示,其中粒子數(shù)取30,每次迭代的最大次數(shù)設(shè)為100;
步驟2:評估每個粒子并得到全局最優(yōu)。當前個體極值記為pb,全局最優(yōu)解記為gb;
步驟3:每個粒子都有一個由目標函數(shù)f(a)決定的適應(yīng)值(Fitness Value)。根據(jù)目標函數(shù)計算每個粒子的適應(yīng)度值;
步驟4:對每個粒子,將其適應(yīng)度值和個體極值pb進行比較,若適應(yīng)度值大于pb,則用當前適應(yīng)度值替換pb;
步驟5:對每個粒子,將它的適應(yīng)度值和全局極值gb進行比較,若適應(yīng)度值大于gb,則用當前適應(yīng)度替換gb;
步驟6:根據(jù)式(4)~式(6)更新粒子速度和位置[6]:
vi=w*vi+rand()*c1*(pbi-xi)+
rand()*c2*(gb-xi)
(4)
(5)
(6)
(7)
(8)
上述兩式中表示當粒子達到規(guī)定速度區(qū)間時,粒子出錯的概率為1-S(vmax)。該機制在原研究提出的設(shè)計基礎(chǔ)上引入粒子速度區(qū)間的變異機制,提升了粒子的可變性和變異的靈活性,避免算法過早收斂、陷入局部最優(yōu)解;
步驟8:達到最大循環(huán)次數(shù)時算法執(zhí)行結(jié)束。
算法執(zhí)行結(jié)束后得到N維特征的權(quán)重系數(shù)向量,該矩陣由0和1組成,權(quán)重系數(shù)為1則表示該系數(shù)對應(yīng)的特征為篩選出的特征。
需要注意的是,由于BPSO為啟發(fā)式搜索算法,運行結(jié)果存在一定隨機性,因此算法選取的特征可能并非最佳特征。但BPSO的優(yōu)勢在于其簡單易實現(xiàn)特性,且具備較好的自動化程度和自適應(yīng)能力。當實際客戶側(cè)終端網(wǎng)絡(luò)中的網(wǎng)絡(luò)監(jiān)測內(nèi)容和實驗數(shù)據(jù)集維度存在差異時,方法仍然有效,無需對特征進行人工分析。
在實際應(yīng)用中,為保證特征選擇效果,可多次運行算法,并選取目標函數(shù)值最小的結(jié)果作為最終特征。
特征選擇的目標為分類模型性能最大化和篩選出特征數(shù)量的最小化,設(shè)計目標函數(shù)f(a)為:
(9)
式中,系數(shù)λ影響目標函數(shù)中準確率與特征數(shù)量的權(quán)重關(guān)系,應(yīng)根據(jù)實驗結(jié)果進行調(diào)節(jié);i∈[1,N];accuracy∈[0,1]為分類器準確度;ai∈[0,1]為重要性權(quán)重系數(shù);a為由ai組成的重要性權(quán)重系數(shù)向量。等式左邊最后一項為懲罰因子項,ε為懲罰因子系數(shù);Nmin為最小特征維度;ReLU函數(shù)為非線性函數(shù):
(10)
目標函數(shù)中第一項準確度accuracy的定義如下:
(11)
目標函數(shù)中第二項、第三項是對特征子集數(shù)目進行限制,其中第二項越小表明選出的特征數(shù)量越少,目標函數(shù)值越小??紤]到去除過多特征可能導(dǎo)致模型泛化能力下降,公式(9)中加入第四項懲罰項對特征的最少數(shù)量進行限制。當重要性權(quán)重系數(shù)總和小于Nmin時,懲罰項取值將快速增大,并在BPSO迭代過程中被淘汰。反之選取的特征數(shù)量大于Nmin時,由于ReLU函數(shù)的作用,此項取值為0,以此保證篩選出的特征維數(shù)大于Nmin。
GBDT (Gradient Boosting Decision Tree) 是一個機器學(xué)習(xí)中經(jīng)典模型,主要思想是利用弱分類器(決策樹)迭代訓(xùn)練以得到最優(yōu)模型,該模型具有訓(xùn)練效果好、不易過擬合等優(yōu)點。然而GBDT需要多次遍歷整個數(shù)據(jù)集,導(dǎo)致訓(xùn)練速度慢、內(nèi)存消耗大[17]。
LightGBM(Light Gradient Boosting Machine)是GBDT算法的一種高效實現(xiàn)框架。LightGBM算法具有更高的訓(xùn)練效率和準確率,其主要改進包括:
(1)拋棄了傳統(tǒng)GBDT的決策樹按層生長策略,使用了帶有深度限制的按葉子生長策略。該策略具有提升精度、防止過擬合等優(yōu)點;
(2)引入了直方圖算法,大幅提高計算效率,降低通信代價;
(3)引入了GOSS采樣算法和EFB特征合并算法,這使得LightGBM的訓(xùn)練速度比GBDT提高了20倍。
LightGBM的參數(shù)較多,參數(shù)選取對算法效果具有較大影響。因此對LightGBM算法的三個重要超參數(shù)進行調(diào)節(jié),包括決策樹數(shù)量、最大樹深度和葉子數(shù)量。此外,LightGBM的主要參數(shù)還包括學(xué)習(xí)率,合適的學(xué)習(xí)率能夠使目標函數(shù)在合適的時間內(nèi)收斂到局部最小值。
為了提升效率,采用了PSO算法進行自動尋優(yōu)。采用1-accuracy作為目標函數(shù),其中accuracy的計算方法和3.2節(jié)中的式(11)相同。訓(xùn)練策略為:先將學(xué)習(xí)率調(diào)大,在較大跨度上得到較佳參數(shù),再將學(xué)習(xí)率減小到適合數(shù)值,在較小區(qū)間的內(nèi)獲得最佳參數(shù)。
考慮到模型的部署成本問題,期望所提出的方法在通用硬件環(huán)境中也能具有較高的效率,因而所采用的實驗硬件條件為:主頻為3.0 GHz的CPU、16 GB RAM和主板集成顯卡,軟件環(huán)境為: Windows 10和 Python 3.6。
由于當前缺乏實際客戶側(cè)終端環(huán)境中的網(wǎng)絡(luò)攻擊數(shù)據(jù),實驗基于以下三個開源數(shù)據(jù)集進行:
(1)KDD-CUP 99數(shù)據(jù)集是一個經(jīng)典的入侵檢測數(shù)據(jù)集。但該數(shù)據(jù)集也存在冗余程度高、數(shù)據(jù)噪聲大等問題。數(shù)據(jù)集包含41個特征,包括7個類別特征或無序離散特征;包含22種攻擊,有14種攻擊僅出現(xiàn)在測試集中。所有攻擊分為4大類;
(2)NSL-KDD數(shù)據(jù)集是KDD CUP 99的改進版本,二者的數(shù)據(jù)結(jié)構(gòu)相同。NSL-KDD的測試集中刪減了重復(fù)和冗余記錄,特別是大幅度刪減了正常流量數(shù)據(jù);
(3)UNSW-NB15數(shù)據(jù)集由澳大利亞網(wǎng)絡(luò)安全中心制作,該數(shù)據(jù)集能夠較好地反映現(xiàn)代網(wǎng)絡(luò)流量特征和網(wǎng)絡(luò)攻擊特征。該數(shù)據(jù)集包含47個特征,去除一些相關(guān)性較小的維度后,使用其中43個特征維度,包括5個類別特征或無序離散特征;攻擊類型分為9大類。
上述數(shù)據(jù)集主要描述互聯(lián)網(wǎng)環(huán)境下的流量特征和網(wǎng)絡(luò)攻擊,和客戶側(cè)終端網(wǎng)絡(luò)環(huán)境有所區(qū)別。為了盡可能貼近客戶側(cè)終端網(wǎng)絡(luò)環(huán)境,對數(shù)據(jù)集采取如下處理策略:刪除數(shù)據(jù)集中標記為STMP、POP3、FTP等應(yīng)用層協(xié)議的數(shù)據(jù),以模擬客戶側(cè)終端網(wǎng)絡(luò)中的應(yīng)用現(xiàn)狀。保留DNS、SSH、DHCP等通用性較強的協(xié)議數(shù)據(jù),模擬客戶側(cè)終端網(wǎng)絡(luò)中的網(wǎng)絡(luò)層和傳輸層交互。保留SSL等應(yīng)用層加密協(xié)議數(shù)據(jù),模擬客戶側(cè)終端網(wǎng)絡(luò)中的應(yīng)用層加密協(xié)議。
結(jié)合1.1節(jié)的安全威脅分析,在數(shù)據(jù)集中選取正常流量數(shù)據(jù)和拒絕服務(wù)、信息收集、信息利用、加密協(xié)議攻擊等具有代表性的攻擊類型。具體做法為:在KDD CUP 99、NSL-KDD數(shù)據(jù)集中選取DoS、Probe、R2L攻擊類型,在UNSW-NB15數(shù)據(jù)集選取漏洞利用(Exploits、Shellcode)、協(xié)議攻擊(Generic、Fuzzers)、信息收集(Reconnaissance)和蠕蟲攻擊(Worms)等攻擊類型進行多分類測試。對于KDD-CUP 99、NSL-KDD數(shù)據(jù)集,采用其原始的訓(xùn)練集和測試集劃分,UNSW-NB15數(shù)據(jù)集則按8:2劃分訓(xùn)練和測試數(shù)據(jù)。實驗數(shù)據(jù)集的訓(xùn)練集數(shù)目和測試集數(shù)目如表1所示。
表1 實驗數(shù)據(jù)集數(shù)量分布Tab.1 Experimental data set
實驗的評價指標采用準確率、真正率和假正率進行評價[18]。
準確率(Accuracy):表示正確識別的樣本數(shù)與整個測試集的比率。準確率越高,訓(xùn)練的模型就越好。其定義為:
(12)
該定義和公式(11)的實際含義相同。
真正率(TPR):也被稱為召回率。表示正確分類的正常樣本與實際正常樣本總數(shù)的比率,TPR數(shù)值越高,則誤報的情況越少。其定義為:
(13)
假正率(FPR):表示被預(yù)測為正常樣本的攻擊樣本數(shù)與實際攻擊總數(shù)的比率,F(xiàn)PR數(shù)值越低,則漏報的情況越少。其定義為:
(14)
式中TP為真陽性(True Positive):表示被模型預(yù)測為攻擊樣本而實際也是攻擊樣本的數(shù)量;FP為假陽性(False Positive):表示被模型預(yù)測為正常樣本而實際是攻擊樣本的數(shù)量;TN為真陰性(True Negative):表示被模型預(yù)測為正常樣本而實際也是正常樣本的數(shù)量;FN為假陰性(False Negative):表示被模型預(yù)測為攻擊樣本而實際是正常樣本的數(shù)量。
5.3.1 類別特征編碼效果分析
對提出的離散編碼效果進行驗證。分別對數(shù)據(jù)中的類別特征使用獨熱編碼、LightGBM自帶編碼方法和文章所提出的方法進行編碼,并通過LightGBM算法進行檢測。實驗結(jié)果如表2所示。
表2 類別特征編碼效果對比Tab.2 Comparison of category feature coding effect
從文章應(yīng)用場景來看,所提出編碼方法結(jié)合LightGBM算法在三個數(shù)據(jù)集上均能保持較好的檢測效果,特別是在NSL-KDD數(shù)據(jù)集上,文章編碼方法與LightGBM編碼相比,能夠提升1%的準確率和2%的真正率。獨熱編碼結(jié)合LightGBM算法的檢測效果較差,特別是在KDD-CUP 99和NSL-KDD的測試集中含有較多未知類別取值的情況下更為明顯。
5.3.2 特征選擇效果分析
對提出的特征選擇方法進行參數(shù)調(diào)節(jié)和驗證。將式(9)中的懲罰因子ε設(shè)定為1 000,Nmin設(shè)定為16,即數(shù)據(jù)集維度的1/3左右,并對系數(shù)λ進行調(diào)節(jié)。算法運行5次,選擇目標函數(shù)最小的特征選擇結(jié)果,測試結(jié)果如表3所示。
表3 降維參數(shù)調(diào)節(jié)與效果對比Tab.3 Dimensionality reduction parameter adjustment and effect comparison
可以看出,提出的特征選擇算法在三個數(shù)據(jù)集上均能有效地降低特征維度,最高可去除60%的維度,特征選擇之后。訓(xùn)練時間分別降低了22%、26%和24%,檢測時間分別降低了19%、32%和6%,訓(xùn)練和檢測時間平均降低了19%。方法選擇維度的數(shù)量最低為16,證明算法中懲罰因子產(chǎn)生了限制效果。特征選擇算法在三個數(shù)據(jù)集上均能保持很好的檢測效果,其中在KDD-CUP 99和NSL-KDD數(shù)據(jù)集上的檢測效果提升比較明顯,最多可提升3.7%的準確率和6.4%的真正率。
從參數(shù)選擇上看,選取系數(shù)λ=0.4時,算法效率最高;系數(shù)λ=0.6時,在檢測結(jié)果和效率上的綜合效果最好。
5.3.3 異常檢測效果
對文章提出的模型進行實驗和對比。根據(jù)4.2節(jié)的調(diào)優(yōu)策略,參數(shù)選取結(jié)果為:對于KDD-CUP 99和NSL-KDD數(shù)據(jù)集,選擇樹的數(shù)量為200,葉子數(shù)為4,最大樹深度為30;對于UNSW-NB15數(shù)據(jù)集,選擇樹的數(shù)量為900,葉子數(shù)為2,最大樹深度為40。對三個數(shù)據(jù)集進行攻擊檢測,效果如表4所示。
表4 異常檢測效果對比Tab.4 Anomaly detection effect comparison
可以看出,文章提出的整體模型在檢測效果和檢測時間上均具有優(yōu)勢。特別是在NSL-KDD數(shù)據(jù)集上,比隨機森林等算法提升5%以上的準確率和約10%的真正率。
在效率方面,隨機森林算法和Adaboost等集成學(xué)習(xí)算法雖然也有較好的檢測效果,但文中模型的訓(xùn)練和檢測時間明顯更短,訓(xùn)練時間僅為兩種算法的3%左右,檢測時間最低可達兩種算法的11%。
BP神經(jīng)網(wǎng)絡(luò)雖然也能保持較好的檢測效果,但深度神經(jīng)網(wǎng)絡(luò)需要的訓(xùn)練時間和硬件開銷顯著大于其他算法[19],因此未做具體統(tǒng)計。在檢測時間上,文中模型的檢測時間最低可達BP神經(jīng)網(wǎng)絡(luò)的5%。
邏輯回歸算法和樸素貝葉斯算法雖然在檢測時間上存在優(yōu)勢,但在檢測效果上存在較大不足。
5.3.4 攻擊分類效果
對5.1節(jié)選取的攻擊類型進行攻擊分類實驗。選取表4中檢測性能最好的參數(shù)組合。實驗效果如表5所示。
表5 攻擊分類效果對比Tab.5 Comparison of attack classification effects
可以看出,文中模型在大多數(shù)情況下,能保持90%以上的準確率、70%以上的真正率和5%以下的假正率。說明文中提出的模型能較好地區(qū)分正常流量和攻擊樣本,并對攻擊類型具有良好的區(qū)分效果。
但在具體指標上,特別是真正率和樣本數(shù)量的關(guān)系較大。三種數(shù)據(jù)集下,R2L、Shellcode 和Worms型攻擊的真正率均較低,普遍在30%~57%之間,說明存在誤報情況。而在NSL-KDD中,Probe型攻擊的假正率較高,說明存在較多漏報情況。上述情況和訓(xùn)練集中的相關(guān)樣本的數(shù)量較少有關(guān),上述攻擊在各自訓(xùn)練集中的條目均少于5 000。此外,方法對Fuzzers攻擊的真正率較低。這可能和Fuzzers攻擊會發(fā)送隨機數(shù)據(jù)的特性有關(guān)。在實際客戶側(cè)終端網(wǎng)絡(luò)中,為防止攻擊者對應(yīng)用層加密協(xié)議或主站服務(wù)發(fā)動類似攻擊,需要采用額外手段進行防范。
圖4為三個數(shù)據(jù)集攻擊分類預(yù)測結(jié)果的混淆矩陣。由于不同攻擊之間的數(shù)量差異較大,為方便顯示,矩陣中數(shù)值整理為當前坐標格在橫排所示真實值中的占比。
圖4 攻擊分類的結(jié)果混淆矩陣Fig.4 Confusion matrix of attack classification results
綜上所述,文中模型對采集的流量特征數(shù)據(jù)進行預(yù)處理和特征選擇,降低了19%的模型訓(xùn)練與檢測時間,有效地提升了檢測效率。
在檢測性能上,文中模型具有較高的準確率和較少的誤報與漏報情況,以及較好的攻擊分類能力。有利于在設(shè)備分散的開放網(wǎng)絡(luò)環(huán)境下,實現(xiàn)高效率、高準確性的網(wǎng)絡(luò)入侵檢測。
此外,采用的特征選擇方法和入侵檢測方法有較好的自適應(yīng)能力,可以在多個數(shù)據(jù)集上直接工作,無需進行人工分析。因此當不同入侵檢測設(shè)備采集的流量特征存在差異時,模型仍然可以工作。這比較適合客戶側(cè)終端環(huán)境下,設(shè)備分散管理、數(shù)據(jù)分散采集的現(xiàn)狀。
針對客戶側(cè)終端網(wǎng)絡(luò)可能存在的安全威脅,文章提出了一種基于LightGBM的高效率網(wǎng)絡(luò)入侵檢測模型。提出了改進離散特征編碼的方法;引入速度概率變異機制的BPSO算法,實現(xiàn)了自動化程度較高的特征選擇與降維;通過基于PSO算法優(yōu)化的LightGBM實現(xiàn)了入侵檢測與攻擊分類?;陂_源數(shù)據(jù)集的測試證明,文中模型能夠保持較好的檢測效果和較高的檢測效率,這有利于在客戶側(cè)終端設(shè)備數(shù)量大、設(shè)備分布分散的場景下,降低檢測開銷、提升反應(yīng)速度。但文章方法對稀少攻擊類型或特殊攻擊類型的檢測效果不夠理想,這也使得其應(yīng)對新型網(wǎng)絡(luò)攻擊的能力不足,今后應(yīng)針對這些情況開展針對性研究。