黃 熙 岱
(廣東海洋大學(xué) 數(shù)學(xué)與計(jì)算機(jī)學(xué)院, 廣東 湛江 524088)
網(wǎng)絡(luò)入侵作為影響網(wǎng)絡(luò)用戶系統(tǒng)信息安全[1]的首要因素, 不僅可導(dǎo)致網(wǎng)絡(luò)信息泄露, 甚至可導(dǎo)致網(wǎng)絡(luò)用戶嚴(yán)重的生命、 財(cái)產(chǎn)損失. 因此, 有效檢測(cè)網(wǎng)絡(luò)入侵行為, 準(zhǔn)確、 高效地判斷網(wǎng)絡(luò)入侵中的模糊區(qū)域, 是網(wǎng)絡(luò)入侵檢測(cè)[2]領(lǐng)域內(nèi)亟待解決的問(wèn)題.
目前, 對(duì)網(wǎng)絡(luò)入侵中的模糊區(qū)域判斷算法的研究已有許多成果. 文獻(xiàn)[3]提出了一種融合FAST(features from accelerated segment test)特征選擇與自適應(yīng)二進(jìn)制量子引力搜索支持向量機(jī)的網(wǎng)絡(luò)入侵判斷算法, 該算法首先過(guò)濾掉原始特征集中的冗余特征, 得到候選特征子集, 再利用二進(jìn)制量子引力搜索算法對(duì)候選特征子集與支持向量機(jī)(SVM)分類器參數(shù)進(jìn)行優(yōu)化, 通過(guò)量子位離散交叉操作擺脫種群進(jìn)化停滯時(shí)的局部極值, 最后采用動(dòng)態(tài)自適應(yīng)調(diào)整策略平衡算法搜索能力, 但算法未考慮網(wǎng)絡(luò)入侵中的模糊區(qū)域, 判斷效率較差; 文獻(xiàn)[4]提出了一種基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法, 該模型采用雙層進(jìn)化思想, 結(jié)合粗糙集和遺傳算法進(jìn)行屬性約減, 對(duì)數(shù)據(jù)進(jìn)行預(yù)處理并分層劃分形成決策規(guī)則集, 將層次評(píng)價(jià)知識(shí)庫(kù)的進(jìn)化數(shù)據(jù)傳入種群空間, 在種群空間利用粗糙集和遺傳算法進(jìn)行進(jìn)化和約減, 得到各層的優(yōu)選屬性集, 設(shè)計(jì)出層次分類器, 但未考慮算法的自適應(yīng)及容錯(cuò)性, 具有判斷效率和穩(wěn)定性較差的缺點(diǎn); 文獻(xiàn)[5]提出了一種基于非平穩(wěn)數(shù)據(jù)流下的網(wǎng)絡(luò)入侵中的模糊區(qū)域判斷算法, 利用蟻群算法選擇網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)特征子集, 并消除其中冗余特征, 通過(guò)計(jì)算增益, 確定自己特征權(quán)重, 利用Bayes分類器對(duì)各特征權(quán)重進(jìn)行分類, 計(jì)算出非平穩(wěn)數(shù)據(jù)流下網(wǎng)絡(luò)入侵中的模糊區(qū)域判斷類別后驗(yàn)概率值, 最后利用辨別函數(shù), 完成對(duì)非平穩(wěn)數(shù)據(jù)流下網(wǎng)絡(luò)入侵中模糊區(qū)域的判斷, 但未考慮判斷結(jié)果中的警報(bào)洪流現(xiàn)象, 忽視了其中的異常警報(bào), 導(dǎo)致判斷準(zhǔn)確性較差.
針對(duì)上述問(wèn)題, 本文提出一種基于多層邏輯結(jié)構(gòu)的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法. 首先采用基于多層邏輯結(jié)構(gòu)的模糊區(qū)域判斷算法, 進(jìn)行輸入、 量化輸入、 迭代確認(rèn)、 對(duì)量化輸出結(jié)果反模糊化處理的操作; 再通過(guò)警報(bào)合成算法得到最優(yōu)模糊區(qū)域判定結(jié)果, 以實(shí)現(xiàn)高效、 穩(wěn)定地對(duì)網(wǎng)絡(luò)入侵中模糊區(qū)域進(jìn)行判斷, 為網(wǎng)絡(luò)信息安全發(fā)展提供一種新模式.
高效檢測(cè)網(wǎng)絡(luò)入侵行為, 并準(zhǔn)確判斷網(wǎng)絡(luò)入侵中的模糊區(qū)域, 是保證網(wǎng)絡(luò)安全發(fā)展的前提. 而當(dāng)前網(wǎng)絡(luò)入侵中的模糊區(qū)域判定方法, 未考慮算法的自適應(yīng)及容錯(cuò)性, 使判斷效率較低, 且穩(wěn)定性較差. 為解決上述問(wèn)題, 本文提出一種網(wǎng)絡(luò)入侵中的模糊區(qū)域判斷算法, 基于多層邏輯結(jié)構(gòu), 進(jìn)行精準(zhǔn)的模糊區(qū)域判斷, 最后通過(guò)警報(bào)合成算法將較多雷同警報(bào)合成為一條警報(bào), 使警報(bào)洪流的規(guī)模下降, 最終得到最佳模糊區(qū)域判斷結(jié)果. 本文算法流程如圖1所示.
圖1 算法流程
根據(jù)本文算法的基本流程, 進(jìn)行具體的模糊區(qū)域判斷操作, 再由警報(bào)合成獲取最優(yōu)的模糊區(qū)域判定結(jié)果, 以防止網(wǎng)絡(luò)入侵行為的發(fā)生, 保證用戶信息安全.
針對(duì)網(wǎng)絡(luò)入侵中的模糊區(qū)域, 其判斷算法不僅要有較強(qiáng)的知識(shí)表述和模糊推理能力, 還應(yīng)具有一定的自適應(yīng)能力及并行容錯(cuò)處理[6]能力, 所以本文在判斷網(wǎng)絡(luò)入侵中的模糊區(qū)域時(shí), 采用基于多層邏輯結(jié)構(gòu)的模糊區(qū)域判斷算法, 該算法基于自適應(yīng)及容錯(cuò)性, 將模糊化層與信息輸入層相結(jié)合, 充分發(fā)揮各自的優(yōu)勢(shì), 互補(bǔ)不足, 實(shí)現(xiàn)準(zhǔn)確、 高效地網(wǎng)絡(luò)入侵模糊區(qū)域判斷.
(1)
對(duì)算法第一層的輸入判斷結(jié)束后, 該層輸出進(jìn)入算法的第二層. 算法的第二層即量化輸入層, 該層的主要作用是模糊化處理[7]待判斷的網(wǎng)絡(luò)入侵行為數(shù)據(jù)變量, 并確定其模糊化關(guān)聯(lián)變量隸屬度δk[8], 確定的依據(jù)是網(wǎng)絡(luò)入侵檢測(cè)數(shù)據(jù)與正常值的差. 用r表示不同輸入網(wǎng)絡(luò)變量包含的模糊區(qū)間個(gè)數(shù), 則算法第二層中包含L=x×r個(gè)數(shù)據(jù), 第二層內(nèi)Mi的模糊項(xiàng)相對(duì)的判斷單位序號(hào)可用k描述, 用xk表示x個(gè)判斷單位的序號(hào), 則該層的輸入和輸出分別為
(2)
(3)
(4)
(5)
(6)
(7)
算法的第五層為反模糊化層, 該層的主要功能是反模糊化處理判斷結(jié)論內(nèi)的模糊變量集, 即模糊區(qū)域[11], 該層的輸出為
(8)
其中m表示模糊化閾值. 在算法的迭代確認(rèn)層和網(wǎng)絡(luò)變量量化值的輸出層中, 所使用的激勵(lì)函數(shù)[12]均為S型函數(shù)
對(duì)整個(gè)算法進(jìn)行訓(xùn)練即可準(zhǔn)確判斷出網(wǎng)絡(luò)入侵中的模糊區(qū)域.
根據(jù)多層邏輯結(jié)構(gòu)的模糊區(qū)域判斷算法輸出層的警報(bào)情形可實(shí)現(xiàn)網(wǎng)絡(luò)入侵模糊區(qū)域的有效判斷, 但其在特定環(huán)境中有較高幾率形成較多雷同的警報(bào), 該情形被定義為警報(bào)洪流[13]. 通常警報(bào)洪流內(nèi)的警報(bào)雷同, 在較短的時(shí)間域中形成大量雷同警報(bào)并無(wú)實(shí)際意義, 為使警報(bào)洪流的規(guī)模下降或防止其形成, 在上述獲取的模糊區(qū)域判斷結(jié)果基礎(chǔ)上, 采用警報(bào)合成算法將較多雷同警報(bào)合成為一條警報(bào), 得到最佳模糊區(qū)域判斷結(jié)果.
用β={pa,ma,mc,ti,tw,ac}、T和A分別描述合成警報(bào)基、 合成警報(bào)基形成的集合及鄰近時(shí)間域中孤立警報(bào)形成的孤立警報(bào)集[14], 其中,pa,ma,mc,ti,tw,ac分別為警報(bào)原型、 合成警報(bào)、 合成數(shù)量、 合成時(shí)間間隔窗口、 已等待時(shí)間和合成警報(bào)窗口值.
假設(shè)所有的β∈T, 當(dāng)β.tw≥β.ti或β.mc≥β.ac時(shí),β的合成工作被停止, 返回至β.ma; 當(dāng)β.tw≥β.ti時(shí), 去除T內(nèi)的β; 當(dāng)β.mc≥β.ac時(shí), 對(duì)合成數(shù)窗口及合成時(shí)間窗口實(shí)施調(diào)整, 再次進(jìn)行合成:
β.ac=β.ac×2,
(9)
β.ti=β.ti×2,
(10)
其中,β.ac和β.ti分別表示警報(bào)洪流規(guī)模和時(shí)間長(zhǎng)度的預(yù)測(cè)值. 在β.mc≥β.ac的條件下, 警報(bào)洪流規(guī)模的預(yù)測(cè)值低于真實(shí)規(guī)模, 為使預(yù)測(cè)值與真實(shí)環(huán)境一致, 需調(diào)節(jié)預(yù)測(cè)值.
對(duì)新警報(bào)alert進(jìn)行處理的過(guò)程為: 假設(shè)由β∈T導(dǎo)致ALERT_SIM(β.pa,alert)是真實(shí)的, 則alert能與β.pa實(shí)施合成; 反之, 如果含有警報(bào)p,p∈A, 導(dǎo)致ALERT_SIMB(p,alert)是真實(shí)的, 則需構(gòu)建新的警報(bào)基[15]β′, 過(guò)程為
β′={p,alert,1,(alert.DetectTime-p.DetectTime)×(1+k),0,z},
(11)
其中k和z分別表示常系數(shù)和合成警報(bào)數(shù)初始值, 通常情形下k=0.1,z=2. 在T內(nèi)添加β′, 假設(shè)alert不僅無(wú)法合成且無(wú)法構(gòu)建新的合成警報(bào)基, 則將alert添加到A內(nèi), 在A內(nèi)警報(bào)的數(shù)量超過(guò)10的條件下, 去除A內(nèi)時(shí)間最久的警報(bào), 并回到alert, 停止合成工作, 獲取最佳模糊區(qū)域判斷結(jié)果.
實(shí)驗(yàn)為測(cè)試本文提出的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法的性能優(yōu)勢(shì), 將Window98, MATLAB7.0的語(yǔ)言編程環(huán)境作為實(shí)驗(yàn)測(cè)試平臺(tái), 分別采用本文算法和基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法對(duì)UCI(https://archive.ics.uci.edu/ml/index.php), Kaggle(https://www.kaggle.com/datasets), AnalyticsVidhya(https://datahack.analyticsvidhya.com/contest/all/)和Quandl(https://www.quandl.com/)數(shù)據(jù)集實(shí)施網(wǎng)絡(luò)入侵模糊區(qū)域判斷. 實(shí)驗(yàn)數(shù)據(jù)集中各含有3 000條信息, 其中正常信息為2 400條, 網(wǎng)絡(luò)入侵信息與模糊入侵信息共600條, 實(shí)驗(yàn)數(shù)據(jù)集信息列于表1.
表1 實(shí)驗(yàn)數(shù)據(jù)集的數(shù)據(jù)種類信息
在評(píng)判不同方法的判斷性能時(shí), 以檢測(cè)率和誤報(bào)率為評(píng)判標(biāo)準(zhǔn), 其中誤報(bào)率為錯(cuò)誤警報(bào)數(shù)量與測(cè)試集內(nèi)總信息數(shù)量的比值, 檢測(cè)率為入侵行為的警報(bào)數(shù)量與入侵行為總量的比值. 本文算法(算法1)和基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法(算法2)的判斷結(jié)果分別如圖2~圖5所示.
圖2 兩種算法對(duì)測(cè)試集1的判斷結(jié)果
圖3 兩種算法對(duì)測(cè)試集2的判斷結(jié)果
圖4 兩種算法對(duì)測(cè)試集3的判斷結(jié)果
圖5 兩種算法對(duì)測(cè)試集4的判斷結(jié)果
為了更清晰地體現(xiàn)對(duì)比不同測(cè)試集中不同算法的判斷結(jié)果, 對(duì)圖2~圖5不同算法的判斷結(jié)果進(jìn)行匯總, 結(jié)果列于表2. 由圖2~圖5和表2可見: 在不同的測(cè)試集中, 基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法的平均檢測(cè)率變化范圍為75.53%~80.03%, 平均誤報(bào)率變化范圍為1.66%~2.83%, 檢測(cè)總體數(shù)據(jù)的檢測(cè)率和誤報(bào)率的平均值分別為78.33%和2.36%; 本文算法的平均檢測(cè)率變化范圍為91.74%~94.50%, 平均誤報(bào)率變化范圍為0.78%~1.13%, 檢測(cè)總體數(shù)據(jù)的檢測(cè)率和誤報(bào)率的平均值分別為93.13%和0.97%. 實(shí)驗(yàn)結(jié)果表明, 使用本文算法判斷網(wǎng)絡(luò)中的模糊區(qū)域優(yōu)越性顯著[16].
表2 不同算法判斷結(jié)果對(duì)比
為驗(yàn)證本文算法在運(yùn)算時(shí)間上的優(yōu)勢(shì), 統(tǒng)計(jì)采用本文算法、 基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法和基于非平穩(wěn)數(shù)據(jù)流下的網(wǎng)絡(luò)入侵中的模糊區(qū)域判斷算法對(duì)上述實(shí)驗(yàn)中的4個(gè)測(cè)試集進(jìn)行判斷耗費(fèi)的時(shí)間, 結(jié)果列于表3.
表3 不同算法的運(yùn)算時(shí)間(s)對(duì)比
由表3可見: 使用本文算法判斷測(cè)試集內(nèi)網(wǎng)絡(luò)入侵中的模糊區(qū)域時(shí), 所需時(shí)間明顯低于其他兩種算法, 本文算法所需的最長(zhǎng)時(shí)間為10.79 s, 最短時(shí)間為9.25 s, 平均時(shí)間為10.13 s; 基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法所需的最長(zhǎng)時(shí)間為16.59 s, 最短時(shí)間為11.89 s, 平均時(shí)間為14.14 s; 基于非平穩(wěn)數(shù)據(jù)流下的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法所需的最長(zhǎng)時(shí)間為17.36 s, 最短時(shí)間為12.04 s, 平均時(shí)間為14.82 s. 實(shí)驗(yàn)結(jié)果表明, 使用本文算法判斷網(wǎng)絡(luò)入侵中的模糊區(qū)域時(shí)間優(yōu)勢(shì)明顯[17].
為測(cè)試本文算法的內(nèi)存占用率, 對(duì)比分析本文算法、 基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法和基于非平穩(wěn)數(shù)據(jù)流算法對(duì)不同大小測(cè)試集中的網(wǎng)絡(luò)入侵模糊區(qū)域進(jìn)行判斷時(shí)的內(nèi)存占用率, 結(jié)果列于表4. 由表4可見: 隨著測(cè)試集大小的不斷增加, 3種算法的內(nèi)存占用率均有不同程度的提升, 當(dāng)測(cè)試集大小為100 MB時(shí), 本文算法的內(nèi)存占用率為9.83%, 而基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法和基于非平穩(wěn)數(shù)據(jù)流下的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法的內(nèi)存占用率分別為14.59%和12.90%; 當(dāng)測(cè)試集大小為2 100 MB時(shí), 本文算法的內(nèi)存占用率為10.37%, 而基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法和基于非平穩(wěn)數(shù)據(jù)流下的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法的內(nèi)存占用率分別為22.31%和24.51%, 因此, 本文算法的內(nèi)存占用率明顯低于其他兩種算法. 實(shí)驗(yàn)結(jié)果表明, 使用本文算法判斷網(wǎng)絡(luò)入侵中的模糊區(qū)域時(shí)內(nèi)存占用率較低[18].
表4 不同算法的內(nèi)存占用率(%)對(duì)比
為測(cè)試本文算法的警報(bào)合成效果, 將 24 h的時(shí)間視為一個(gè)單獨(dú)的采樣點(diǎn), 分別采用本文算法和基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法判斷網(wǎng)絡(luò)入侵中的模糊區(qū)域, 對(duì)比10個(gè)不重疊的采樣點(diǎn)中不同算法的警報(bào)合成, 結(jié)果分別列于表5和表6.
表5 本文算法的警報(bào)合成
表6 基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法的警報(bào)合成
由表5和表6可見: 在10個(gè)采樣點(diǎn)中, 本文算法的警報(bào)合成比最高為0.365 7, 最低為0.198 1, 合成比總數(shù)為2.730 5; 基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法的警報(bào)合成比最高為0.485 3, 最低為0.244 9, 合成比總數(shù)為3.406 4; 基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法的合成比總數(shù)高于本文算法0.675 9. 因此, 在網(wǎng)絡(luò)入侵中的模糊區(qū)域判斷中本文算法的警報(bào)合成性能較好.
為驗(yàn)證本文算法的穩(wěn)定性, 分別使用本文算法、 基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法和基于非平穩(wěn)數(shù)據(jù)流下的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法進(jìn)行100次網(wǎng)絡(luò)入侵中模糊區(qū)域的判斷實(shí)驗(yàn), 對(duì)比不同算法的準(zhǔn)確度, 結(jié)果列于表7.
表7 不同算法的運(yùn)行結(jié)果準(zhǔn)確度對(duì)比
由表7可見, 采用3種不同算法判斷網(wǎng)絡(luò)入侵中模糊區(qū)域時(shí), 當(dāng)實(shí)驗(yàn)次數(shù)逐步增加, 3種算法的準(zhǔn)確率都隨之逐步降低. 但相比于其他兩種算法, 本文算法的準(zhǔn)確率下降較平緩. 當(dāng)100次判斷實(shí)驗(yàn)結(jié)束后, 本文算法的準(zhǔn)確率仍保持在93%以上, 而基于層次屬性約減模型的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法和基于非平穩(wěn)數(shù)據(jù)流下的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法的準(zhǔn)確率分別為80%和75%. 實(shí)驗(yàn)結(jié)果表明, 使用本文算法判斷網(wǎng)絡(luò)入侵中的模糊區(qū)域時(shí)穩(wěn)定性較高.
綜上所述, 本文提出了一種基于多層邏輯結(jié)構(gòu)的網(wǎng)絡(luò)入侵中模糊區(qū)域判斷算法. 首先采用基于多層邏輯結(jié)構(gòu)的模糊區(qū)域判斷算法獲取網(wǎng)絡(luò)入侵中模糊區(qū)域的判斷結(jié)果; 然后基于判斷結(jié)果, 通過(guò)警報(bào)合成算法降低雷同警報(bào)數(shù)量, 防止警報(bào)洪流的形成或降低警報(bào)洪流的規(guī)模, 實(shí)現(xiàn)網(wǎng)絡(luò)入侵中模糊區(qū)域的準(zhǔn)確判斷. 實(shí)驗(yàn)結(jié)果表明, 與基于層次屬性約減模型的判斷算法相比, 本文算法的檢測(cè)率平均值上升14.8%, 誤報(bào)率平均值降低1.39%, 對(duì)于網(wǎng)絡(luò)入侵模糊區(qū)域的警報(bào)合成比總數(shù)降低0.675 9, 準(zhǔn)確率保持在93%以上. 本文算法檢測(cè)總體數(shù)據(jù)的檢測(cè)率和誤報(bào)率的平均值分別為93.13%和0.97%, 實(shí)驗(yàn)結(jié)果表明, 使用本文算法能準(zhǔn)確地判斷網(wǎng)絡(luò)入侵中的模糊區(qū)域.