劉 佳 張 平 劉培玉 孔凡玉 李新金
1(山東師范大學(xué)歷山學(xué)院電子與信息工程學(xué)院 山東 濰坊 262500)2(山東大學(xué)網(wǎng)絡(luò)信息安全研究所 山東 濟南 250100)
在信息安全領(lǐng)域,入侵檢測是防護內(nèi)網(wǎng)網(wǎng)絡(luò)環(huán)境安全的重要防線。隨著硬件、軟件技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)量呈現(xiàn)海量數(shù)據(jù)特征,新的網(wǎng)絡(luò)入侵模式快速呈現(xiàn)。然而,與之相對的是傳統(tǒng)的入侵檢測的原理,它一般是通過識別已知入侵行為的入侵特征來達到檢測入侵的目的,往往對于入侵模式的改變難以適應(yīng)。
隨著數(shù)據(jù)挖掘技術(shù)的發(fā)展,如何讓入侵檢測自我識別未識別的入侵模式和進化的入侵模式具有很高的研究價值。近年來,對于入侵檢測如何識別新型入侵模式做出了很多努力。
2016年文獻[1]針對傳統(tǒng)入侵檢測系統(tǒng)難以為Ad-Hoc網(wǎng)絡(luò)中日益增長的安全威脅提供令人滿意的保障,提出了基于對比有攻擊和無攻擊的狀況下的情況特征來自我學(xué)習(xí)識別入侵行為。2016年文獻[2]采用映射模型來進行入侵檢測,創(chuàng)造合適的攻擊跡象并應(yīng)用于入侵檢測系統(tǒng)中來解決常規(guī)入侵檢測特征不變的情況,識別新型入侵行為。2017年文獻[3]針對一般自適性入侵檢測系統(tǒng)一般耗費巨大資源的情況,采用一種混合SVM和ELM的分類模型,其中自適性SVM模型分布在MAS上并行計算,實時學(xué)習(xí)新型入侵。2017年文獻[4]為了監(jiān)測拒絕服務(wù)攻擊,改進一般監(jiān)測只是基于數(shù)據(jù)包的監(jiān)測,提出一種利用物理特征的機器學(xué)習(xí)監(jiān)測模型,能夠?qū)σ呀?jīng)識別的拒絕服務(wù)攻擊和當(dāng)前沒有監(jiān)測到的拒絕服務(wù)攻擊有良好的監(jiān)測性能。
上述研究成果中一般通過對比有入侵的行為和沒有入侵的行為的不同點進行新型入侵檢測的識別,或者改進自適性入侵檢測的監(jiān)測性能,具有了一定成效。但是上述檢測過程中普遍存在的問題:一是入侵檢測往往反應(yīng)較慢;二是如果主機已經(jīng)不能和安全環(huán)境中的堡壘機相溝通,那么難以達到檢測入侵的目的。
在研究各個入侵檢測自我改進方法之后,提出了一種全局檢測點相互溝通自身和周圍設(shè)備異常情況的機制,判別新型入侵行為,并根據(jù)收集的信息自我進化識別新型入侵模式的入侵檢測模型來識別新型入侵模式,改進全局安全環(huán)境。并且為了達到不斷進化、快速識別新型入侵行為的目的,提出了一種決策樹的自我快速改進模型來將新型入侵模式納入入侵檢測范疇。
提出的入侵檢測模型的優(yōu)勢如下:
(1) 改進傳統(tǒng)網(wǎng)絡(luò)入侵檢測模式固化的缺陷,采用各個入侵檢測點相互交流的機制溝通自身和周圍設(shè)備異常情況信息,建立算法。根據(jù)局部異常情況建立全局異常情況,通過與設(shè)定好的異常情況閾值進行比較,如果超出閾值,則認為現(xiàn)有網(wǎng)絡(luò)環(huán)境防護出現(xiàn)漏洞,正在遭受新型入侵模式的攻擊。
(2) 抽取近期各個入侵檢測點交流的異常信息,根據(jù)一般入侵檢測是某個現(xiàn)有入侵的變種,并根據(jù)異常信息在決策樹入侵檢測器大致流向,判別是否是某種入侵行為的變種,還是新型入侵模式。
(3) 抽取異常信息的特征,如果是現(xiàn)有入侵模式的變種,則對此種入侵模式進行決策樹入侵檢測器的局部進化,如果是新型入侵模式,抽取其特征,納入決策樹入侵檢測器中。
(4) 將進化完成的入侵檢測器投入入侵檢測環(huán)境中,監(jiān)測全局異常情況變化情況。如果狀況緩解,則認為自我進化是正確的方向,將判別的特征納入日志記錄,識別新型入侵行為。如果沒有緩解,則持續(xù)收集局部異常信息,做進一步分析。
提出一種入侵檢測架構(gòu),該入侵檢測架構(gòu)擺脫了一般入侵檢測模式固化的缺點,采用各個入侵檢測點相互交流的機制溝通自身和周圍設(shè)備異常情況,發(fā)現(xiàn)全局異常區(qū)域,并匯報異常區(qū)域流量數(shù)據(jù),達到識別新型入侵的目的。
Intel公司曾經(jīng)提出“自治企業(yè)安全”方案獲取局部異常信息流匯總形成全局異常情況[5],這種思想可以全局入侵檢測點相互交流協(xié)作檢測入侵,對比一般的單一主機檢測具有很大的優(yōu)勢。
本架構(gòu)采用全局入侵檢測點相互交流異常情況并判斷各個入侵檢測點是否在線的形式形成全局情況信息。具體機制如下:
(1) 各種類別分布式入侵檢測點的入侵檢測策略由各個中間設(shè)備管理器進行管理與部署。
(2) 各個入侵檢測點持續(xù)收集流量數(shù)據(jù),例如連接各層協(xié)議類型、發(fā)生時間、近期一定時間內(nèi)連接情況等,當(dāng)出現(xiàn)異常情況如近期網(wǎng)絡(luò)流量異常增大,向其他節(jié)點交流發(fā)送的ICMP協(xié)議返回異常等情況,記錄異常情況,根據(jù)對于主機威脅重要程度制定的異常情況權(quán)重表(見表1)。更新異常獲得值(異常情況權(quán)重即發(fā)生問題的情況對于主機的重要程度,比如ICMP協(xié)議返回異常,ICMP協(xié)議在異常情況權(quán)重表中重要程度占1,則獲得1的異常情況獲得值),各個異常獲得值隨著時間按遞減值進行遞減,來防止異常獲得值無理由持續(xù)增長,進而持續(xù)增加全局異常情況。
表1 異常情況權(quán)重表
(3) 各個入侵檢測點相互交流,定期共享本地異常獲得值信息,各個入侵檢測點維護其他節(jié)點異常獲得值表(如無法交流則為無法交流節(jié)點增加對應(yīng)異常獲得值),并根據(jù)與其他節(jié)點的距離情況(如直接到達則為1,路由兩個設(shè)備到達則為2)和對應(yīng)的獲得值(見表2),全局統(tǒng)計計算臨時全局異常值。
表2 其他檢測點獲得值
(4) 各個檢測點形成的獲得值表和臨時全局異常值表與設(shè)定的異常閾值做對比,如果超出閾值,則認為發(fā)現(xiàn)當(dāng)前入侵檢測檢測不了的新型入侵,入侵檢測點向反饋信息收集節(jié)點發(fā)送反饋信息,包括維護的獲得值表。
(5) 反饋信息收集節(jié)點向信息處理節(jié)點發(fā)送收集的信息,根據(jù)獲得值表情況進行分析。根據(jù)表情況收取對應(yīng)入侵檢測點的相關(guān)信息,并進行一定的清理與整型。將獲得值表發(fā)送到全局網(wǎng)絡(luò)安全信任度建立節(jié)點進行全局情況信任度建立,并分析受威脅的網(wǎng)絡(luò)區(qū)域,將收集的各個出現(xiàn)異常情況的入侵檢測點的相關(guān)信息發(fā)送到自適性入侵檢測模型改進節(jié)點進行入侵模式分析與入侵檢測模型改進。
(6) 在自適性入侵檢測模型改進節(jié)點中,由于一般新的入侵模式是現(xiàn)有入侵模式的一種變種,利用先驗的入侵模式大類對收集的信息進行分析。如果判別是現(xiàn)有入侵模式的變種,則進化該種入侵模式分支。如果判別出不屬于任何一種現(xiàn)有入侵類別,則識別其特征,納入入侵檢測模型中,如圖1所示。
圖1 入侵檢測模型
針對上節(jié)提出的入侵檢測模型,其中的自適性入侵檢測模型改進節(jié)點需要根據(jù)識別出來的信息提取異常情況的特征,并納入入侵檢測模型中。本文采用了一種改進的決策樹的算法,一方面決策樹分類具有快速和高效特點,另一方面根據(jù)改進決策樹分類模式的固定性缺陷,提出一種增量式的決策樹的自我進化方法。
該算法的改進思路在于:
(1) 基于決策樹總是根據(jù)最明顯的屬性區(qū)別一步步區(qū)分類別,這樣根據(jù)收集到的異常數(shù)據(jù)流入決策樹的節(jié)點情況判別是已有入侵類型的變種還是新型入侵類型。
(2) 如果是入侵類型變種只需要自我改進這種入侵類型,將變種特征納入此決策樹分枝即可。如果流入的決策樹的數(shù)據(jù)在決策樹中的走向過于分散,則認為是一種新型入侵類型,則提取其類型特征,納入決策樹判別。
(3) 針對決策樹由于經(jīng)常會出現(xiàn)的過度擬合的現(xiàn)象,采用樸素貝葉斯算法進行樹判別增強,加強決策樹對于過度擬合的情況的判別性能,提高決策樹對于數(shù)據(jù)量較少的類型的判別性能。
這里設(shè)收集的異常數(shù)據(jù)為Dadapt。
檢出率(DR%)、誤報率(FP%)、漏報率(FN%)與數(shù)據(jù)檢測不出率(DN%)、識別為入侵但入侵類型錯誤率(FI%)作為評價入侵檢測算法性能的重要指標(biāo)。通過對測試數(shù)據(jù)流的決策樹判別各種性能指標(biāo)的判別來判別決策樹的性能。
統(tǒng)計異常數(shù)據(jù)流對于決策樹各個節(jié)點的流量情況,記錄異常數(shù)據(jù)流在決策樹中最先開始分枝節(jié)點node,計算異常數(shù)據(jù)流占最先開始分枝節(jié)點生成數(shù)據(jù)的比例rate,設(shè)置閾值threshold。若rate>threshold,則表明新型入侵模式在此節(jié)點表現(xiàn)明顯,將異常流數(shù)據(jù)納入此節(jié)點的數(shù)據(jù)表,根據(jù)新生成的生成數(shù)據(jù)表重新構(gòu)造局部決策樹識別新型入侵模式。若rate≤threshold,則認為新型入侵?jǐn)?shù)據(jù)模式在此節(jié)點表現(xiàn)不明顯,讓異常數(shù)據(jù)流繼續(xù)流入決策樹各個節(jié)點,在最終流入的葉子節(jié)點處,進行決策樹的初步改進,初步識別新型入侵行為。這個在節(jié)點處設(shè)置的判別信息量多少的閾值稱為敏感性閾值。
具體操作步驟為:
Step1異常信息流收集,數(shù)據(jù)清理。形成新型入侵類型的數(shù)據(jù)特征集合。
Step2將異常信息流流入初始決策樹,記錄異常信息流在決策樹中最先開始分流的節(jié)點,計算異常數(shù)據(jù)流占節(jié)點生成數(shù)據(jù)的比例rate,如圖2所示。
圖2 異常數(shù)據(jù)流流向圖
Step3設(shè)置閾值threshold,若rate≤threshold,則異常數(shù)據(jù)流在此節(jié)點的模式表現(xiàn)不夠明顯,異常信息流向下分流到?jīng)Q策樹葉子節(jié)點,在最終流入葉子節(jié)點的父母處進行決策樹的重新生成算法,形成新的決策子樹納入全局決策樹,若rate>threshold進入Step 4,如圖3所示。
圖3 數(shù)據(jù)量不足決策樹自適改進圖
Step4異常信息流數(shù)據(jù)納入節(jié)點生成數(shù)據(jù)表,采用決策樹算法重新生成決策樹納入全局決策樹,如圖4所示。
圖4 數(shù)據(jù)量充足決策樹自適改進圖
Step5將異常信息流納入全局決策樹生成數(shù)據(jù)統(tǒng)計中,為下一次決策樹自適做參考。
輕量級樸素貝葉斯分類在決策樹分類的基礎(chǔ)上,減少判別屬性,對于過度擬合的數(shù)據(jù)的進一步判別,提升決策樹的判別能力,對于數(shù)據(jù)量較小的新型入侵模式的過度分類進行改進。
由于決策樹生成過程容易對數(shù)據(jù)量多的模式識別敏感,但是對于數(shù)據(jù)量較少的數(shù)據(jù)識別容易過度擬合,判別過細的現(xiàn)象。如果異常數(shù)據(jù)流較小,在決策樹分流過程中對于異常數(shù)據(jù)流的屬性的各個屬性值存在判斷過細,出現(xiàn)無法判別數(shù)據(jù)流的情況。因此這里采用樸素貝葉斯[6]分類彌補這種不足,并采取一種輕量級選擇判別屬性的方式減少樸素貝葉斯分類的判別屬性。
輕量級樸素貝葉斯決策樹進一步分類表示如下:
1) 向上回溯異常數(shù)據(jù)流流入節(jié)點,直至回溯到目的節(jié)點(此節(jié)點的生成數(shù)據(jù)集中存在無法判別的數(shù)據(jù)流的無法判別的屬性值)。
2) 基于假設(shè):如果數(shù)據(jù)流向統(tǒng)一節(jié)點,則其祖先節(jié)點對于此數(shù)據(jù)流的判別有效。不考慮祖先節(jié)點的屬性,選取目的節(jié)點生成數(shù)據(jù)集中的其他屬性計算各個入侵類別的條件概率。
3) 選擇條件概率最大的入侵類別為此記錄的入侵類別。
具體生成算法為:
1) 計算節(jié)點數(shù)據(jù)集各個入侵類別的先驗概率P(Ci)。
2) 計算目的節(jié)點屬性表,將祖先節(jié)點的屬性從考慮屬性中剔除。
3) 計算數(shù)據(jù)項屬性表中的各個屬性值對于各個入侵類別的條件概率,如果屬性值沒有在此入侵類別中出現(xiàn),乘以0.001,統(tǒng)計各個入侵類別沒有出現(xiàn)的屬性的個數(shù)flag。
P(x1|Ci)P(x2|Ci)…P(xn|Ci)
(1)
4) 計算閾值threshold=屬性表屬性值個數(shù)/10。
5) 如果threshold 6) 用整體訓(xùn)練數(shù)據(jù)進行樸素貝葉斯類別判斷,判斷屬性類別。 輕量級樸素貝葉斯分類在決策樹分類的基礎(chǔ)上,減少判別屬性,對于過度擬合的數(shù)據(jù)的進一步判別,提升決策樹的判別能力,對于數(shù)據(jù)量較小的新型入侵模式造成的過度擬合進行改進。 采用64位Windows 7平臺,CPU為Intel雙核酷睿i5處理器,8 GB內(nèi)存,1 TB硬盤,Visual Studio 2013平臺C#作為編程語言,SQL Server 2012作為數(shù)據(jù)庫。 訓(xùn)練數(shù)據(jù)采用KDD CUP99數(shù)據(jù)集[7]中的10%的訓(xùn)練數(shù)據(jù)集的選取的10%數(shù)據(jù)量作為訓(xùn)練數(shù)據(jù):兼顧數(shù)據(jù)量較少的入侵行為,均勻選取每種入侵類型的數(shù)據(jù)條數(shù)。如果入侵類型的數(shù)據(jù)量在數(shù)據(jù)集的記錄條數(shù)少于設(shè)置的閾值,則全部選?。蝗绻笥陂撝?,則選取設(shè)置閾值條數(shù)的記錄條數(shù)作為此種入侵模式的模式匹配數(shù)據(jù)。 新型入侵模式的選擇為均勻選取測試數(shù)據(jù)集中的新型入侵?jǐn)?shù)據(jù)10%的樣本。將其流入決策樹,采用第2節(jié)提出的進化算法進行進化。 將這些新型入侵模式數(shù)據(jù)作為自適性入侵檢測架構(gòu)識別的數(shù)據(jù),參照第2節(jié)提出的自我改進方式進行進化,然后用10%的測試數(shù)據(jù)集檢測進化后的決策樹。采用檢出率(DR)、誤報率(FP)、漏報率(FN)與數(shù)據(jù)檢測不出率(DN)、識別為入侵正確但入侵類型錯誤率(FI)作為評估入侵檢測模型性能的依據(jù)。 采用C4.5決策樹[8]算法訓(xùn)練一般決策樹具體結(jié)果如表3所示。 表3 C4.5決策樹實驗結(jié)果 采用第2節(jié)提出的算法進行初始決策樹的生成和自我進化,并用測試數(shù)據(jù)進行測試,測試結(jié)果見表4。 表4 自適性決策樹實驗結(jié)果 從實驗結(jié)果得出,自我進化后的決策樹總體識別正確率為79.4%,比較一般決策樹對于有新型入侵類型的測試數(shù)據(jù)的總體識別正確率74.23%提升5.17個百分點,對于新型入侵模式有一個較好的提升。這里將包括識別正確率DR和識別為入侵正確但入侵類型錯誤率FI之和作為整體入侵檢測的有效識別率,對于自我進化后的決策樹總體有效識別率達到94.09%(DR為79.4%,F(xiàn)I為14.69%,和為94.09%),比較一般決策樹對于有新型入侵類型的測試數(shù)據(jù)的有效識別率92.21%(DR為74.23%,F(xiàn)I為17.98%,和為92.21%)提升了1.88個百分點。 提出的識別新型入侵模式的入侵檢測模型是基于相互交流機制,有效緩解了單個節(jié)點入侵檢測的盲點,如遭受拒絕服務(wù)攻擊等。在識別異常節(jié)點并收集信息后的入侵檢測模型的自我進化采用決策樹這種相對快速、準(zhǔn)確率較高的算法進行模型的建立,但是由于決策樹的分類相對固化,因此提出了一種決策樹快速自我進化的方法來彌補這個缺陷。實驗證明這種決策樹自我進化算法對于新型入侵模式改進后對于一般決策樹有較好的適應(yīng)性能,總體識別正確率為79.4%,比較一般決策樹提升了5.17個百分點,總體有效識別率達到94.09%,比較一般決策樹對于有新型入侵類型的測試數(shù)據(jù)的有效識別率92.21%提升了1.88個百分點。3 仿真測試
3.1 實驗環(huán)境
3.2 數(shù)據(jù)集與性能評估
3.3 仿真實驗及結(jié)果分析
4 結(jié) 語