韓奕
(公安部第一研究所 北京市 100048)
近年來(lái),隨著5G 時(shí)代的來(lái)臨,世界上物聯(lián)網(wǎng)設(shè)備的數(shù)量正在急速增加,預(yù)計(jì)到2020年年底將有超過(guò)500 億件物聯(lián)網(wǎng)設(shè)備連接到互聯(lián)網(wǎng)上。但是伴隨著物聯(lián)網(wǎng)設(shè)備的增加以及通信技術(shù)的創(chuàng)新和發(fā)展,物聯(lián)網(wǎng)安全漏洞問(wèn)題越來(lái)越嚴(yán)重,由于這些智能設(shè)備可以方便地在任何地點(diǎn)、任何網(wǎng)絡(luò)、任何距離使用,所以容易受到各種惡意攻擊。與傳統(tǒng)互聯(lián)網(wǎng)不同的是,物聯(lián)網(wǎng)一旦被入侵,會(huì)造成更為嚴(yán)重的后果,不只是數(shù)據(jù)泄露,服務(wù)受挫,更可能對(duì)物聯(lián)網(wǎng)設(shè)備造成破壞。因此,物聯(lián)網(wǎng)入侵檢測(cè)越來(lái)越受到物聯(lián)網(wǎng)安全相關(guān)研究人員的重視。
神經(jīng)網(wǎng)絡(luò)技術(shù)在物聯(lián)網(wǎng)入侵檢測(cè)領(lǐng)域有著很好的應(yīng)用前景,能針對(duì)入侵檢測(cè)需求完成對(duì)攻擊模式的處理。而目前,神經(jīng)網(wǎng)絡(luò)在入侵檢測(cè)中的應(yīng)用中存在檢測(cè)率低、誤報(bào)率高、檢測(cè)周期長(zhǎng)等缺點(diǎn),為了克服這些缺點(diǎn),普遍使用種群算法等智能優(yōu)化算法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,可以加快神經(jīng)網(wǎng)絡(luò)的收斂,從而取得更好的效果。
顏謙和等人[1]提出利用生物遺傳中的雜交、變異等機(jī)制運(yùn)用到神經(jīng)網(wǎng)絡(luò)中的閾值尋優(yōu)中,通過(guò)在BP神經(jīng)網(wǎng)絡(luò)迭代計(jì)算中引入交叉因子和變異因子,使BP神經(jīng)網(wǎng)絡(luò)得到最優(yōu)參數(shù),最終在KDDcup99 數(shù)據(jù)集的仿真實(shí)驗(yàn)對(duì)Dos 類型的檢測(cè)中取得93.2%的檢測(cè)率。沈夏炯等人[2]使用模擬蜜蜂覓食行為的人工蜂群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始值,通過(guò)學(xué)習(xí)引領(lǐng)蜂和跟隨蜂覓食時(shí)的正反饋效應(yīng),加快收斂速度,仿真實(shí)驗(yàn)證明該論文所使用的方法能獲得更快的收斂速度。丁紅衛(wèi)等人[3]利用和聲搜索算法全局尋優(yōu)能力強(qiáng)、可控參數(shù)少的優(yōu)點(diǎn)優(yōu)化BP神經(jīng)網(wǎng)絡(luò),檢測(cè)率和迭代次數(shù)達(dá)到了95.1%和59 次,與原始的BP神經(jīng)網(wǎng)絡(luò)相比有了很大改進(jìn)。但現(xiàn)有的神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)依然存在檢測(cè)率低的特點(diǎn),同時(shí)檢測(cè)效率普遍較低,不能滿足物聯(lián)網(wǎng)安全的需要,為解決這個(gè)問(wèn)題,本文引入人類行為粒子群優(yōu)化算法(HPSO)[4],通過(guò)模仿人類行為中壞習(xí)慣因子對(duì)周圍因子的影響,權(quán)衡粒子群算法探索全局最優(yōu)值的能力,使粒子群算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)能夠更快速的收斂,以滿足物聯(lián)網(wǎng)入侵檢測(cè)需要。
Hao Liu 等人2014年提出了基于人類行為的粒子群優(yōu)化算法(Human Behavior-Based PSO),稱為HPSO。算法靈感來(lái)源于人類行為特征,人類的行為或者壞習(xí)慣會(huì)影響周圍的人,若人們學(xué)習(xí)壞習(xí)慣,則該習(xí)慣對(duì)群體有不好的影響,若人們從壞習(xí)慣中吸取教訓(xùn),則該習(xí)慣對(duì)群體產(chǎn)生有益的影響。所以引入全局最差粒子gworst,即每次迭代中全局最壞的適應(yīng)度。[7]
gworst=argmax{fit(pbest1),fit(pbest2),...,fit(pbestn)}
式中,fit()表示適應(yīng)度函數(shù),除此之外,增加服從標(biāo)準(zhǔn)正態(tài)分布的學(xué)習(xí)系數(shù)r3,當(dāng)r3>0,表示壞習(xí)慣對(duì)群體有益,r3<0 時(shí),表示壞習(xí)慣對(duì)群體有害,當(dāng)r3=0 時(shí),表示壞習(xí)慣對(duì)群體無(wú)影響。然后將加速常數(shù)c1,c2 替換成[0,1]之間的隨機(jī)數(shù)。迭代過(guò)程中速度和位置更新公式修改為:
其中,w 為慣性系數(shù),r1,r2為[0,1]之間的隨機(jī)數(shù), 且r1+r2=1。標(biāo)準(zhǔn)粒子群算法粒子快速飛向好的解決方案,容易陷入局部最優(yōu),HPSO 算法中無(wú)論是推進(jìn)學(xué)習(xí)項(xiàng)還是懲罰項(xiàng),都給粒子轉(zhuǎn)變方向的機(jī)會(huì),極大的加強(qiáng)了算法的多樣性,在提高粒子脫離局部最優(yōu)解概率和加快算法收斂速度方面具有明顯的優(yōu)勢(shì)。
本文通過(guò)HPSO 算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化,提高模型預(yù)測(cè)性能。在迭代過(guò)程中HPSO 算法對(duì)粒子速度位置更新,粒子群的移動(dòng)受到局部最優(yōu)和全局最優(yōu)的共同吸引,最終能夠收斂到全局最優(yōu)解。優(yōu)化之前,將輸入層、隱含層和輸出層每個(gè)神經(jīng)元包含的權(quán)值及閾值總參數(shù)表示為HPSO 算法中d 維的空間向量,對(duì)其進(jìn)行編碼。
此外,構(gòu)建BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型還需要確定神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),主要有輸入節(jié)點(diǎn)數(shù)、輸出節(jié)點(diǎn)數(shù)、隱含層層數(shù)及節(jié)點(diǎn)數(shù)和各層激活函數(shù)選擇。
本文在Windows10 系統(tǒng)測(cè)試環(huán)境下,python 軟件作為編程語(yǔ)言,利用tensorflow 構(gòu)建神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型。各軟件版本為anaconda3,python3.7,tensorflow2.2.0.
KDDcup99 數(shù)據(jù)集來(lái)源于20世紀(jì)末美國(guó)國(guó)防部高級(jí)規(guī)劃局(DARPA)在麻省理工學(xué)院進(jìn)行的一個(gè)入侵檢測(cè)項(xiàng)目,用來(lái)評(píng)估入侵檢測(cè)系統(tǒng)的性能。該評(píng)估項(xiàng)目的一個(gè)重要結(jié)果是建立了模擬各種攻擊的數(shù)據(jù)集,可供下載數(shù)據(jù)集包括完整訓(xùn)練集,10%的測(cè)試子集,完整測(cè)試集以及10%的測(cè)試子集,完整數(shù)據(jù)集包括490 萬(wàn)條入侵?jǐn)?shù)據(jù)。數(shù)據(jù)包括41 個(gè)特征屬性和包括normal 在內(nèi)的5 個(gè)入侵類別。
3.2.1 字符數(shù)據(jù)數(shù)值化
KDDcup99 數(shù)據(jù)集的41 個(gè)特征中包含字符型數(shù)據(jù),通過(guò)對(duì)protocol_type,service,flag,label 等字符型特征特征進(jìn)行編碼,轉(zhuǎn)換為數(shù)值型數(shù)據(jù),完成字符數(shù)據(jù)數(shù)值化。
3.2.2 數(shù)據(jù)標(biāo)準(zhǔn)化
由于KDDcup99 數(shù)據(jù)集中數(shù)值大小不平衡,直接導(dǎo)入模型會(huì)對(duì)總體精度有影響,因此需要對(duì)數(shù)據(jù)集進(jìn)行標(biāo)準(zhǔn)化處理,本文采用標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化的方式進(jìn)行處理,此方法能使處理后的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布。轉(zhuǎn)化函數(shù)如下:
其中σ 為所選數(shù)據(jù)集的標(biāo)準(zhǔn)差,μ 為所選數(shù)據(jù)集的平均值。
3.2.3 數(shù)據(jù)選擇
KDDcup99 數(shù)據(jù)集中10%的訓(xùn)練子集包含所有種類的數(shù)據(jù),因此本實(shí)驗(yàn)選用10%的訓(xùn)練子集作為數(shù)據(jù),由于10%的訓(xùn)練子集由311026 條數(shù)據(jù)組成,仍然較大,本實(shí)驗(yàn)隨機(jī)采樣1000 條10%的訓(xùn)練子集中的數(shù)據(jù)作為實(shí)驗(yàn)訓(xùn)練集,隨機(jī)采樣3 組各1000 條10%的訓(xùn)練子集中的數(shù)據(jù)作為實(shí)驗(yàn)測(cè)試集。
為了檢測(cè)物聯(lián)網(wǎng)入侵檢測(cè)模型的性能,本實(shí)驗(yàn)選用檢測(cè)率(detection rate,DR)和誤報(bào)率(false alarm rate)兩項(xiàng)指標(biāo)對(duì)模型性能進(jìn)行量化。檢測(cè)率指入侵報(bào)警的數(shù)量占總樣本數(shù)量的比率,誤報(bào)率指入侵檢測(cè)系統(tǒng)錯(cuò)誤報(bào)警的樣本數(shù)與正常行為樣本數(shù)與攻擊行為樣本數(shù)之和的比率。計(jì)算公式如下:
首先構(gòu)建BP神經(jīng)網(wǎng)絡(luò)分類器,輸入神經(jīng)元設(shè)置為41,輸出神經(jīng)元設(shè)置為5,經(jīng)過(guò)多次實(shí)驗(yàn),當(dāng)BP神經(jīng)網(wǎng)絡(luò)的隱含層數(shù)量為13時(shí)實(shí)驗(yàn)精度最高,效果最好。HPSO 算法的參數(shù)設(shè)置中,粒子群規(guī)模為40,慣性權(quán)重最大值為0.9,最小值為0.4,由0.9 至0.4 按迭代次數(shù)線性遞減;r1,r2為[0,1]之間的隨機(jī)數(shù),且r1+r2=1;最大迭代次數(shù)為1000。為了驗(yàn)證所提出的IHPSO_BP 算法的有效性,在預(yù)處理后的3 個(gè)測(cè)試集上進(jìn)行測(cè)試,并與BP 算法,PSO_BP 算法進(jìn)行比較,結(jié)果如表1。
表1:BP 算法和PSO_BP 算法比較
通過(guò)分析表1 中的數(shù)據(jù)可以看到,IHPSO_BP 算法在檢測(cè)率和誤報(bào)率方面都優(yōu)于PSO_BP 和BP 算法。Test1 數(shù)據(jù)集上,IHPSO_BP 算法的檢測(cè)率最高可達(dá)到96%,相比于PSO_BP 的90%檢測(cè)率顯著提高,同時(shí)誤報(bào)率也明顯減少。
隨著5G技術(shù)日益成熟,物聯(lián)網(wǎng)安全研究必然成為未來(lái)的熱點(diǎn)問(wèn)題,本文首先介紹相關(guān)的模型包括BP 算法,標(biāo)準(zhǔn)PSO 算法,引入了HPSO 算法并進(jìn)行改進(jìn),然后提出了基于IHPSO_BP 算法的物聯(lián)網(wǎng)入侵檢測(cè)模型,IHPSO_BP 算法采用基于人類行為的粒子群優(yōu)化算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)重和閾值,并在預(yù)處理后的KDDcup99 數(shù)據(jù)集上進(jìn)行仿真實(shí)驗(yàn),并與BP 算法,PSO_BP 算法進(jìn)行比較,仿真結(jié)果表明,該算法在測(cè)試樣本集的檢測(cè)率,誤報(bào)率均優(yōu)于另兩種算法且具有收斂速度快的優(yōu)點(diǎn)。但是本文還有一些不足之處,KDDcup99 數(shù)據(jù)集比較老,所以算法還需要在更適合的數(shù)據(jù)集中進(jìn)一步測(cè)試,而且入侵檢測(cè)的檢測(cè)率依然較低,還有很大提高空間,在下一步的研究工作中,將繼續(xù)探索更有效的入侵檢測(cè)方法,并在在專用的物聯(lián)網(wǎng)檢測(cè)數(shù)據(jù)集或者實(shí)際數(shù)據(jù)集中繼續(xù)研究。