張 堯,李子森
(廣東電網(wǎng)有限責(zé)任公司廣州供電局 項(xiàng)目管理中心,廣州510000)
隨著現(xiàn)代通信、計(jì)算、網(wǎng)絡(luò)和控制技術(shù)的發(fā)展,信息技術(shù)運(yùn)用領(lǐng)域的不斷開拓,工業(yè)化和信息化的融合已經(jīng)成為一種發(fā)展的必然趨勢(shì)。作為標(biāo)志性的產(chǎn)物,網(wǎng)絡(luò)化的工業(yè)控制系統(tǒng)已經(jīng)得到了世界各國的重視,尤其是在“工業(yè)4.0”的帶領(lǐng)下,已經(jīng)成為未來國民經(jīng)濟(jì)和社會(huì)發(fā)展的戰(zhàn)略性規(guī)劃之一。變電站內(nèi)各種工業(yè)嵌入式設(shè)備越來越多地采用通用協(xié)議、通用硬件平臺(tái)和通用軟件,并且全面實(shí)現(xiàn)數(shù)字化和網(wǎng)絡(luò)化。然而,隨著網(wǎng)絡(luò)化、信息化的發(fā)展逐漸打破了原始工業(yè)控制系統(tǒng)固有的封閉性,信息安全問題也日益暴露出來。面對(duì)這些威脅,必須針對(duì)網(wǎng)絡(luò)化的工業(yè)控制系統(tǒng)設(shè)計(jì)一套完整的、行之有效的對(duì)應(yīng)策略來保護(hù)系統(tǒng)的安全。
一般主要采用有效性、適應(yīng)性和可擴(kuò)展性3 個(gè)指標(biāo)來對(duì)一個(gè)入侵檢測(cè)系統(tǒng)進(jìn)行評(píng)估[1]。入侵檢測(cè)技術(shù)仍處于快速發(fā)展階段,還有很多地方可以改進(jìn)。由于方法、技術(shù)的單一性,限制了目前商用入侵檢測(cè)系統(tǒng)性能的進(jìn)一步提高。在理論研究中,雖然已提出了多種多樣的檢測(cè)方法,但一個(gè)全面、指導(dǎo)性的理論框架尚未構(gòu)建,在入侵檢測(cè)領(lǐng)域還有很多工作需要探索。
本文將基于特征選擇的輕量級(jí)入侵檢測(cè)技術(shù)和基于數(shù)據(jù)挖掘的分類算法相結(jié)合。在實(shí)際意義方面,針對(duì)智能電網(wǎng)系統(tǒng)將2 種技術(shù)結(jié)合構(gòu)建一種新的入侵檢測(cè)模型,在使入侵檢測(cè)系統(tǒng)的正確性有一定保證的基礎(chǔ)上,加快檢測(cè)的速度,由此提高IDS實(shí)時(shí)性,進(jìn)而提高入侵檢測(cè)系統(tǒng)性能;在理論意義方面,結(jié)合兩種不同的入侵檢測(cè)算法,構(gòu)建一個(gè)新的入侵檢測(cè)模型。
輕量級(jí)一方面指建立的入侵檢測(cè)模型結(jié)構(gòu)簡(jiǎn)單明了、易于理解,另一方面指IDS 處理數(shù)據(jù)的速度快、實(shí)時(shí)性高,主要采用特征選擇算法實(shí)現(xiàn)。基于分類指主要采用分類算法構(gòu)建分類器,對(duì)待測(cè)數(shù)據(jù)進(jìn)行檢測(cè)分類。
入侵檢測(cè)系統(tǒng)(intrusion detection system,IDS)是由一系列相互配合的硬件和軟件組成的系統(tǒng),實(shí)現(xiàn)入侵檢測(cè)的功能,對(duì)發(fā)生的入侵行為及時(shí)察覺。CIFD 模型是在1997年提出的標(biāo)準(zhǔn)入侵檢測(cè)模型[2],對(duì)入侵檢測(cè)系統(tǒng)的標(biāo)準(zhǔn)語言和組件間的通信協(xié)議進(jìn)行了定義。該模型用事件表示IDS 所需要檢測(cè)的數(shù)據(jù),并將一個(gè)完整的入侵檢測(cè)系統(tǒng)按功能分為事件產(chǎn)生器、事件分析器、事件分析庫和響應(yīng)單元這4個(gè)組件,如圖1所示。
圖1 CIFD 模型Fig.1 CIFD model
本文提出的檢測(cè)方法為當(dāng)數(shù)據(jù)特征值較少時(shí),直接采用分類算法構(gòu)建分類器對(duì)待測(cè)數(shù)據(jù)進(jìn)行分類;當(dāng)數(shù)據(jù)特征值較多時(shí),先采用特征選擇算法構(gòu)建最優(yōu)特征子集,再使用最優(yōu)特征子集訓(xùn)練分類器后,對(duì)待測(cè)數(shù)據(jù)分類。即結(jié)合特征選擇算法和分類算法,并由此構(gòu)建一個(gè)新的入侵檢測(cè)模型。
1.2.1 特征選擇算法
特征選擇[3]的目的是在盡量保證分類精度的前提下,降低特征空間的維數(shù),以此加快對(duì)數(shù)據(jù)的處理速度。在與其他分類器配合時(shí),過濾器模式的信息增益特征選擇算法具有較少的誤報(bào)率,表現(xiàn)出良好的性能。本文選擇過濾器模式下基于信息增益的特征選擇算法。
1.2.2 分類算法
基于對(duì)各分類算法優(yōu)缺點(diǎn)進(jìn)行分析,本次模型選用易于理解且復(fù)雜度小的決策樹算法。ID3 算法的優(yōu)勢(shì)在于其理論清晰易懂,使用的方法簡(jiǎn)單,容易學(xué)習(xí),且分類的速度快。
本文提出的基于分類的輕量級(jí)入侵檢測(cè)系統(tǒng)框架如圖2所示。
圖2 入侵檢測(cè)系統(tǒng)框架Fig.2 Intrusion detection system framework
模型主要可劃分為4 個(gè)部分,由信息源、數(shù)據(jù)采集模塊組成事件發(fā)生器,由數(shù)據(jù)預(yù)處理模塊、判斷模塊、特征選擇模塊和分類器模塊組成事件分析器,由日志記錄、報(bào)警和響應(yīng)模塊組成響應(yīng)單元,事件數(shù)據(jù)庫單獨(dú)為一部分。
來自信息源的數(shù)據(jù)以數(shù)據(jù)包的形式被數(shù)據(jù)采集模塊接收,經(jīng)處理后形成審計(jì)記錄到達(dá)數(shù)據(jù)預(yù)處理模塊,隨后對(duì)預(yù)處理后的數(shù)據(jù)判斷,若特征值低于閾值,則直接進(jìn)入分類器分類;若特征值高于閾值,則進(jìn)入特征選擇模塊處理后,再進(jìn)入分類器。經(jīng)分類器判斷為入侵行為的進(jìn)入響應(yīng)模塊,發(fā)出警報(bào)并進(jìn)行日志記錄,最后將入侵事件記錄在事件數(shù)據(jù)庫。
1.4.1 數(shù)據(jù)采集
本文設(shè)計(jì)的入侵檢測(cè)模型信息源為網(wǎng)絡(luò)數(shù)據(jù),因此數(shù)據(jù)采集模塊主要功能為從網(wǎng)卡獲取數(shù)據(jù),并將亂序的TCP 連接進(jìn)行重組。本文采用WinPcap 方式實(shí)現(xiàn)數(shù)據(jù)包捕獲,首先將網(wǎng)卡模式調(diào)成混雜模式,然后通過設(shè)置BPF(伯克利包過濾器)內(nèi)核中的參數(shù),設(shè)置過濾數(shù)據(jù)的規(guī)則。再設(shè)置系統(tǒng)的緩沖區(qū)大小,并將數(shù)據(jù)包對(duì)象分配在里面,實(shí)現(xiàn)捕獲數(shù)據(jù)包功能。在數(shù)據(jù)包充滿系統(tǒng)緩沖區(qū)后,將其復(fù)制到用戶緩沖區(qū)。
1.4.2 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理的目的是將由數(shù)據(jù)采集模塊采集的原始數(shù)據(jù)格式轉(zhuǎn)換成C4.5 算法所能識(shí)別并進(jìn)行處理的格式,之后的處理主要包括對(duì)數(shù)據(jù)連續(xù)特征屬性的離散化和對(duì)特征值的歸一化。
1.4.3 特征選擇
本模型選用的特征選擇算法是過濾器模式下的基于信息增益的算法,目的是選出具有最高信息增益的特征,即該特征在數(shù)據(jù)集中有最高的區(qū)分度,有關(guān)特征選擇的詳細(xì)公式推導(dǎo)如下所述。
計(jì)算一個(gè)特征A的信息增益的公式如下:
式中:I(s1,s2,…,sn)是由數(shù)據(jù)的熵確定的,其值如式(2)所示:
式中:P(Ci)表示某一個(gè)樣本屬于Ci的概率;n表示n個(gè)類別;si是Ci類別的數(shù)據(jù)數(shù)量;s表示總的樣本數(shù)量。
若此時(shí)假設(shè)特征A有v個(gè)不同的值,則特征A可以對(duì)總樣本進(jìn)行劃分,共v個(gè)子集s1~sv,每一個(gè)子集包含總樣本中特征A的值為相應(yīng)腳標(biāo)的記錄值,(s1j+s2j+…+snj)/S表示子集sJ的權(quán)值。
式中:Pij表示子集Si中的樣本屬于Ci類別的概率。
通過式(1)~式(4),可以計(jì)算出特征A的信息增益,由此可以計(jì)算所有特征的信息增益,進(jìn)而在所有的特征中選擇信息增益值最高的特征構(gòu)建最優(yōu)子集。
1.4.4 分類器
分類器模塊的主要功能是采用經(jīng)過處理的訓(xùn)練數(shù)據(jù)對(duì)分類算法進(jìn)行訓(xùn)練,構(gòu)建一個(gè)分類器,再將經(jīng)處理后的測(cè)試數(shù)據(jù)送入分類器中進(jìn)行分類,判斷是否發(fā)生入侵,最后將結(jié)果送入響應(yīng)模塊。
經(jīng)過特征選擇后,再由ID3 構(gòu)建決策樹。決策樹算法和特征選擇算法都有賴于信息增益的大小,為了加快計(jì)算速度,可以做相應(yīng)改進(jìn),公式推導(dǎo)如下:
由數(shù)學(xué)知識(shí),當(dāng)x值很小時(shí),ln(1+x)≈x,由此可得到式(5):
同時(shí),log2Pi=lnPi/ln2,結(jié)合式(4)可得式(6):
比較式(6)前后,可以看出計(jì)算復(fù)雜度已大大減小,計(jì)算速度必然加快。
1.4.5 響應(yīng)器
待檢測(cè)數(shù)據(jù)在分類器中進(jìn)行分類后,將結(jié)果送入響應(yīng)器,若為入侵行為,則發(fā)出警報(bào)通知系統(tǒng)管理員,同時(shí)可主動(dòng)采取相應(yīng)措施,如與防火墻實(shí)現(xiàn)聯(lián)動(dòng)、與安全管理平臺(tái)或其安全設(shè)備進(jìn)行互聯(lián)。
當(dāng)IDS 檢測(cè)到異常行為后,響應(yīng)模塊在規(guī)則中進(jìn)行添加,使防火墻能對(duì)攻擊源和攻擊目標(biāo)(包括IP、端口和服務(wù))及時(shí)封堵,從而達(dá)到對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的保護(hù)。在此過程中,將所檢測(cè)的異常行為具體信息和添加的規(guī)則都寫入事件日志,報(bào)告給系統(tǒng)管理員。
2.1.1 實(shí)驗(yàn)條件
本次實(shí)驗(yàn)所用的實(shí)驗(yàn)數(shù)據(jù)均來自KDD 99[4],該數(shù)據(jù)集包含超過500 萬條連接記錄。每條連接記錄有41 個(gè)屬性值,其中34 個(gè)屬性為連續(xù)值,7 個(gè)為離散值。每條記錄都有標(biāo)簽,即正?;蛉肭郑灿? 種入侵方式,即DOS 攻擊、R2L 遠(yuǎn)程攻擊、U2R 提權(quán)攻擊和PROBE 探測(cè)攻擊。
實(shí)驗(yàn)時(shí)采用KDD 99 數(shù)據(jù)集的訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,為避免偶然性,測(cè)試數(shù)據(jù)集包含的數(shù)據(jù)量需比較大。因此訓(xùn)練數(shù)據(jù)集包含100000 條數(shù)據(jù),取與訓(xùn)練數(shù)據(jù)不同的60000 條數(shù)據(jù)用作測(cè)試數(shù)據(jù)。
本次實(shí)驗(yàn)在WEKA[5](懷卡托智能分析環(huán)境)開源平臺(tái)上完成。模型采用基于信息增益的特征選擇算法和ID3 決策樹分類算法。ID3 分類算法已較為成熟,現(xiàn)有的開發(fā)工具很多都已預(yù)開發(fā)該函數(shù),可以在程序函數(shù)庫中直接調(diào)用。實(shí)驗(yàn)環(huán)境如表1所示。
表1 實(shí)驗(yàn)環(huán)境
Tab.1 Experiment environment
軟硬件條件參數(shù)操作系統(tǒng)Windows內(nèi)存512 M處理器1.73 GHz Intel Core i7編程環(huán)境VC++ 6.0
2.1.2 評(píng)價(jià)標(biāo)準(zhǔn)
本文綜合基于特征選擇的輕量級(jí)的入侵檢測(cè)系統(tǒng)性能、以及決策樹算法性能兩者的性能評(píng)價(jià)指標(biāo),選取建模時(shí)間、準(zhǔn)確性和誤報(bào)率三者作為本次實(shí)驗(yàn)?zāi)P偷脑u(píng)價(jià)指標(biāo),準(zhǔn)確率即檢測(cè)率,誤報(bào)率指被錯(cuò)誤判斷為攻擊的正常攻擊數(shù)目占總的正常樣本數(shù)量的比值。
2.1.3 實(shí)驗(yàn)步驟
(1)下載KDD 99 數(shù)據(jù)包,解壓縮后隨機(jī)選取數(shù)據(jù)構(gòu)建2 個(gè)數(shù)據(jù)集X和C,其中X數(shù)據(jù)集包含100000 條數(shù)據(jù),為訓(xùn)練數(shù)據(jù)集;C數(shù)據(jù)集包含60000條數(shù)據(jù),為測(cè)試數(shù)據(jù)集。
(2)對(duì)X內(nèi)的數(shù)據(jù)進(jìn)行預(yù)處理,經(jīng)過連續(xù)屬性離散化和歸一化處理后,對(duì)此時(shí)的數(shù)據(jù)集X進(jìn)行復(fù)制操作,結(jié)果為X1與X2。
(3)將X1送入本次提出的入侵檢測(cè)模型的事件分析模塊,經(jīng)特征選擇后由ID3 算法構(gòu)建分類器F1;將X2直接送入分類器模塊,經(jīng)訓(xùn)練構(gòu)建分類器F2。
(4)將測(cè)試數(shù)據(jù)集C重復(fù)步驟2 操作,此時(shí)得到數(shù)據(jù)集C1和C2,再分別送入分類器F1和F2,進(jìn)行分類。
(5)記錄實(shí)驗(yàn)數(shù)據(jù)并進(jìn)行分析,得出結(jié)論。
經(jīng)過基于信息增益的特征選擇后,各入侵類型的特征選擇的結(jié)果如表2所示。
表2 特征選擇結(jié)果Tab.2 Feature selection results
從結(jié)果可以看出,經(jīng)過特征選擇模塊的處理后,4 種入侵方式的特征值都有明顯減少,即數(shù)據(jù)集的特征數(shù)減少。留下的特征信息增益都比較大,包含數(shù)據(jù)最多的信息。
分類器F1和F2平均訓(xùn)練時(shí)間如表3所示。F1是經(jīng)過特征選擇后采用ID3 算法構(gòu)建的分類器,F(xiàn)2是用訓(xùn)練數(shù)據(jù)全特征經(jīng)ID3 算法訓(xùn)練后形成的分類器。比較兩者的平均訓(xùn)練時(shí)間,可以明顯看到F1的訓(xùn)練時(shí)間低于F2分類器。
表3 平均訓(xùn)練時(shí)間Tab.3 Mean training time
對(duì)待測(cè)數(shù)據(jù)進(jìn)行分類后,本次建立的入侵檢測(cè)模型對(duì)KDD 99 數(shù)據(jù)集的分類準(zhǔn)確率如表4所示。從結(jié)果可以看出,分類器F1的分類準(zhǔn)確率高于分類器F2,即本次提出的基于分類的輕量級(jí)入侵檢測(cè)方法構(gòu)建的入侵檢測(cè)模型較傳統(tǒng)IDS 的檢測(cè)正確率有明顯提升,可以改善入侵檢測(cè)系統(tǒng)的性能。
表4 對(duì)各攻擊的分類準(zhǔn)確率Tab.4 Classification accuracy of each attack
同時(shí),對(duì)DOS 和NORMAL 類型的檢出率明顯高于其他類型,這是由于KDD 99 數(shù)據(jù)集中包含的數(shù)據(jù)分布極不均勻,接近80%是DOS 攻擊類型,NORMAL 類型占比也在19%以上,剩下極小部分才是另外3 種類型。當(dāng)訓(xùn)練數(shù)據(jù)集中某一類型數(shù)據(jù)數(shù)量較少時(shí),訓(xùn)練的分類器無法很好地對(duì)其進(jìn)行識(shí)別,造成分類器F1和分類器F2對(duì)U2R 和R2L 的檢測(cè)正確率低。
本文將2 種已知入侵檢測(cè)算法有機(jī)結(jié)合,提出了一種新的入侵檢測(cè)模型,進(jìn)而提高IDS 的性能。具體而言,將特征選擇算法與分類算法結(jié)合,能有效提高入侵檢測(cè)系統(tǒng)的檢測(cè)速度。在對(duì)4 種攻擊類型的檢測(cè)中,檢測(cè)準(zhǔn)確率與攻擊類型數(shù)量所占比例成正比。沒有任何一種算法是完全優(yōu)于其他算法的,因此將不同的算法應(yīng)用于入侵檢測(cè)的適當(dāng)步驟將有效提高入侵檢測(cè)系統(tǒng)的性能,多種技術(shù)的聯(lián)合將大大提高IDS 的性能。
未來智能電網(wǎng)系統(tǒng)將進(jìn)一步網(wǎng)絡(luò)化,及時(shí)應(yīng)對(duì)網(wǎng)絡(luò)攻擊的威脅顯得更加急迫,將催生更多準(zhǔn)確性和實(shí)時(shí)性高的IDS;入侵檢測(cè)的未來發(fā)展方向也將是多技術(shù)的聯(lián)合應(yīng)用,從而更好地保護(hù)智能電網(wǎng)系統(tǒng)和網(wǎng)絡(luò)的安全,降低網(wǎng)絡(luò)攻擊帶來的損失。