劉俊澤 湯艷君 薛秋爽 中國(guó)刑事警察學(xué)院
物聯(lián)網(wǎng)的蓬勃發(fā)展給日常生活與諸多領(lǐng)域帶來(lái)了許多便利。然而,由于物聯(lián)網(wǎng)尚處于脆弱的發(fā)展前期和安全攻擊事件的不斷發(fā)生,導(dǎo)致使用者的隱私和數(shù)據(jù)安全威脅日益增加。物聯(lián)網(wǎng)設(shè)備會(huì)產(chǎn)生大量流量數(shù)據(jù),建立高效精準(zhǔn)的入侵檢測(cè)模型對(duì)于保護(hù)這些隱私數(shù)據(jù)來(lái)說(shuō)至關(guān)重要。
許多傳統(tǒng)機(jī)器學(xué)習(xí)方法,如支持向量機(jī)、K近鄰等被應(yīng)用于物聯(lián)網(wǎng)入侵檢測(cè)中。但支持向量機(jī)的分類(lèi)性能受內(nèi)部參數(shù)影響大,K近鄰的分類(lèi)效率低,單個(gè)弱分類(lèi)器應(yīng)用于大規(guī)模訓(xùn)練樣本時(shí)計(jì)算速度慢,精度不夠高,不能滿(mǎn)足入侵檢測(cè)的實(shí)時(shí)性要求。集成學(xué)習(xí)的出現(xiàn)很好解決了單個(gè)弱分類(lèi)器分類(lèi)精度與速度的問(wèn)題,LightGBM是集成學(xué)習(xí)的一種,是梯度提升決策樹(shù)的高效實(shí)現(xiàn)。但其超參數(shù)有很多,不同的超參數(shù)組合會(huì)對(duì)最終模型的性能產(chǎn)生很大影響。因此應(yīng)用LightGBM算法時(shí)需考慮超參數(shù)的選取。
本文提出基于貝葉斯優(yōu)化集成學(xué)習(xí)算法LightGBM的物聯(lián)網(wǎng)入侵檢測(cè)模型,根據(jù)貝葉斯優(yōu)化思想設(shè)計(jì)了超參數(shù)尋優(yōu)的過(guò)程,進(jìn)而實(shí)現(xiàn)LightGBM算法的優(yōu)化。對(duì)模型進(jìn)行訓(xùn)練測(cè)試后,得到的結(jié)果與其他機(jī)器學(xué)習(xí)模型進(jìn)行對(duì)比,得出最終結(jié)論。
所提用于物聯(lián)網(wǎng)入侵檢測(cè)的貝葉斯優(yōu)化LightGBM模型如圖1所示,所用的數(shù)據(jù)集為真實(shí)物聯(lián)網(wǎng)入侵檢測(cè)數(shù)據(jù)集,物聯(lián)網(wǎng)網(wǎng)絡(luò)層的特征和攻擊類(lèi)型與互聯(lián)網(wǎng)有一些差異,因此選擇物聯(lián)網(wǎng)真實(shí)數(shù)據(jù)集來(lái)訓(xùn)練模型,使其更能符合真實(shí)物聯(lián)網(wǎng)的需求。
圖1 基于貝葉斯優(yōu)化LightGBM的物聯(lián)網(wǎng)入侵檢測(cè)模型
由于LightGBM模型的參數(shù)眾多,且參數(shù)的選擇對(duì)模型性能的影響很大,因此需對(duì)LightGBM的參數(shù)尋優(yōu)。將預(yù)處理后的數(shù)據(jù)7:3分為訓(xùn)練與測(cè)試數(shù)據(jù),將訓(xùn)練數(shù)據(jù)輸入到參數(shù)尋優(yōu)模塊中,通過(guò)定義目標(biāo)函數(shù)、確定搜索空間、選擇搜索算法與保存最優(yōu)參數(shù)來(lái)獲得使訓(xùn)練集準(zhǔn)確率最優(yōu)的參數(shù),最后將最優(yōu)參數(shù)帶入測(cè)試數(shù)據(jù)進(jìn)行測(cè)試,進(jìn)行十分類(lèi)預(yù)測(cè),獲得預(yù)測(cè)正常流量和每種攻擊的精確率,進(jìn)而驗(yàn)證模型性能。下一節(jié)將對(duì)參數(shù)尋優(yōu)方法的每個(gè)步驟進(jìn)行詳細(xì)說(shuō)明。
貝葉斯優(yōu)化(Bayesian)是基于歷史驗(yàn)證結(jié)果來(lái)決策模型下一次迭代參數(shù)的選擇,這個(gè)迭代過(guò)程遠(yuǎn)遠(yuǎn)低于隨機(jī)搜索的迭代次數(shù),這樣的好處是在保證建模時(shí)間短的同時(shí)更好的提升在測(cè)試集上的泛化性能,進(jìn)而提升模型穩(wěn)定性與準(zhǔn)確率。其核心思想是:構(gòu)建一個(gè)初始模型,然后根據(jù)后續(xù)的結(jié)果來(lái)進(jìn)行優(yōu)化。因?yàn)殡S著數(shù)據(jù)的積累,優(yōu)化函數(shù)會(huì)離真正的目標(biāo)函數(shù)越來(lái)越接近,從而得到最優(yōu)解。
本文根據(jù)貝葉斯優(yōu)化思想設(shè)計(jì)了對(duì)LightGBM的超參數(shù)優(yōu)化過(guò)程,首先輸入初始超參數(shù),計(jì)算得出首輪目標(biāo)函數(shù)值后,訓(xùn)練并通過(guò)高斯搜索算法得出下一組超參數(shù)值,再次帶入計(jì)算目標(biāo)函數(shù)值。在設(shè)定的迭代次數(shù)內(nèi)通過(guò)多次迭代來(lái)實(shí)現(xiàn)對(duì)目標(biāo)函數(shù)最小值的搜索,定義的目標(biāo)函數(shù)需與訓(xùn)練集準(zhǔn)確率呈反比關(guān)系,因此迭代過(guò)程中目標(biāo)函數(shù)最小值的對(duì)應(yīng)參數(shù),即為最佳模型性能的超參數(shù)最優(yōu)解,將其帶入模型中進(jìn)行訓(xùn)練即可得到最優(yōu)模型。
基于Hyperopt框架的貝葉斯優(yōu)化過(guò)程設(shè)計(jì)主要可分為四個(gè)部分:
圖2 本文貝葉斯優(yōu)化流程圖
①定義目標(biāo)函數(shù):以超參數(shù)作為輸入,通過(guò)計(jì)算返回一個(gè)數(shù)值;
②確定搜索空間:給定的超參數(shù)搜索空間;
③選擇搜索算法:用來(lái)構(gòu)建下一次迭代參數(shù)值的方法;
④獲取最優(yōu)參數(shù):保存優(yōu)化過(guò)程中的最優(yōu)超參數(shù)。
第一步先構(gòu)建一個(gè)以超參數(shù)作為輸入,輸出用于梯度下降的函數(shù)。由于在Hyperopt框架中的目標(biāo)函數(shù)必須返回一個(gè)需要減小的單數(shù)值,算法通過(guò)對(duì)該目標(biāo)值求最小值的過(guò)程,來(lái)實(shí)現(xiàn)參數(shù)優(yōu)化,當(dāng)目標(biāo)函數(shù)的值為最小值時(shí),此時(shí)的模型性能最好。在模型中引入了交叉熵?fù)p失函數(shù)作為參數(shù)尋優(yōu)的目標(biāo)函數(shù),交叉熵?fù)p失函數(shù)可以精確表現(xiàn)出在多分類(lèi)中模型的性能指標(biāo),損失函數(shù)的值越低,則模型的性能越好,其公式如下:
式中概率分布p為期望輸出,概率分布q為實(shí)際輸出,H(p,q)為交叉熵。
目標(biāo)函數(shù)對(duì)于整個(gè)調(diào)參的結(jié)果有著舉足輕重的影響,其能否收斂到最小值關(guān)系到整個(gè)優(yōu)化過(guò)程是否得到最優(yōu)的模型參數(shù)。
在Hyperopt中制定搜索空間與使用網(wǎng)格搜索(Grid Search)方式不同。在Hyperopt和其他貝葉斯優(yōu)化框架中,搜索空間不是預(yù)先規(guī)定好的列表,而是每個(gè)超參數(shù)的概率分布。對(duì)于每個(gè)超參數(shù),參數(shù)數(shù)量的上下限設(shè)置與網(wǎng)格搜索(Grid Search)并無(wú)區(qū)別,但參數(shù)的間隔不再設(shè)置,而是聲明每個(gè)超參數(shù)的概率。以學(xué)習(xí)率(Learning Rate)為例子,使用Log-Uniform空間定義學(xué)習(xí)率區(qū)間在0.001到0.5。Hyperopt能夠使得空間在0.001~0.05到0.01~0.5的數(shù)量概率一樣,使得其能有一樣的概率被選中,這對(duì)于搜索在分布上跨度較大的超參數(shù)提升很大。
在Hyperopt中可以使用條件聲明來(lái)制定超參數(shù)間的依賴(lài)情況。主要對(duì)八個(gè)參數(shù)進(jìn)行搜索,以達(dá)到尋優(yōu)的目的,具體參數(shù)空間定義如表1所示。
表1 搜索空間定義
其中搜索空間定義方式有三種,分別為uniform、loguniform和choice。其中uniform表示變量在最小值和最大值之間均勻分布;log-uniform表示變量在exp(最小值)和exp(最大值)之間均勻分布;choice表示返回一個(gè)選項(xiàng),選項(xiàng)可以是列表或者嵌套的表達(dá)式。
根據(jù)模型選擇最佳的搜索算法,根據(jù)返回的目標(biāo)函數(shù)來(lái)選擇下一輪迭代的超參數(shù),在Hyperopt框架中支持三種搜索算法,分別是隨機(jī)搜索算法、模擬退火算法和高斯算法。選擇高斯算法作為搜索算法,其公式如下:
其中∑為協(xié)方差矩陣, ∑ 為協(xié)方差矩陣的行列式,u為x的平均值。
在LightGBM中不同的超參數(shù)組合會(huì)使模型的最終預(yù)測(cè)結(jié)果產(chǎn)生很大的變化。由于LightGBM模型具有的超參數(shù)較多,對(duì)模型進(jìn)行調(diào)參會(huì)對(duì)性能提升很大,需搜索出能使模型性能更佳的超參數(shù)。在整個(gè)模型運(yùn)行第一階段需要將初始參數(shù)輸入到模型中,在LightGBM中多分類(lèi)與二分類(lèi)的參數(shù)設(shè)置有所差異,由于目標(biāo)為十分類(lèi),具體的初始參數(shù)設(shè)置如表2所示。
表2 模型參數(shù)設(shè)置
將預(yù)處理好的數(shù)據(jù)集輸入模型后便開(kāi)始參數(shù)尋優(yōu),在參數(shù)尋優(yōu)的過(guò)程中,伴隨著迭代次數(shù)增加,貝葉斯算法會(huì)根據(jù)上一次的loss值來(lái)確定下次帶入的參數(shù),從而確定最優(yōu)參數(shù)值。圖3為訓(xùn)練集準(zhǔn)確率隨迭代次數(shù)的增加而變化值,可以看出,在迭代次數(shù)為22次時(shí),算法得到了最優(yōu)參數(shù),此時(shí)的訓(xùn)練集準(zhǔn)確率達(dá)到99.99%。之后準(zhǔn)確率一直在波動(dòng),直到50輪迭代終止。
圖3 參數(shù)尋優(yōu)過(guò)程中的訓(xùn)練集準(zhǔn)確率
圖4為訓(xùn)練集損失函數(shù)隨迭代次數(shù)的變化,在迭代次數(shù)為22輪時(shí),訓(xùn)練集loss降到了局部最低值,此時(shí)的訓(xùn)練集loss值為1.461。
圖4 訓(xùn)練集loss隨迭代次數(shù)變化
對(duì)LightGBM進(jìn)行超參數(shù)搜索后得到最優(yōu)參數(shù),模型記錄此時(shí)參數(shù),保存為最優(yōu)參數(shù)。Hyperopt內(nèi)部可以保存最終模型參數(shù),如首次效果不佳,可將首次獲得的優(yōu)化參數(shù)二次迭代到優(yōu)化模型中,第二次得出的最優(yōu)參數(shù)模型性能會(huì)大大提升,且在總輪數(shù)相同的條件下,分兩次迭代比單次迭代所耗用的時(shí)間更短。
選取由新南威爾士大學(xué)實(shí)驗(yàn)室近期開(kāi)發(fā),專(zhuān)用于物聯(lián)網(wǎng)安全的數(shù)據(jù)集TON_IoT。TON_IoT是新一代物聯(lián)網(wǎng)(IoT)和工業(yè)4.0物聯(lián)網(wǎng)(IIoT)數(shù)據(jù)集,用于評(píng)估基于人工智能的不同網(wǎng)絡(luò)安全應(yīng)用的保真度和效率,即機(jī)器學(xué)習(xí)或者深度學(xué)習(xí)算法。數(shù)據(jù)集可以從新南威爾士大學(xué)網(wǎng)站下載,選取數(shù)據(jù)集中的TON_IoT_Network來(lái)驗(yàn)證提出模型性能指標(biāo),以測(cè)試其在真實(shí)物聯(lián)網(wǎng)流量數(shù)據(jù)中的可靠性。
TON_IoT_Network數(shù)據(jù)集中包含了44個(gè)網(wǎng)絡(luò)數(shù)據(jù)特征與10個(gè)數(shù)據(jù)類(lèi)型標(biāo)簽,根據(jù)開(kāi)發(fā)者建議,刪除源和目標(biāo)的ip地址和端口相關(guān)特征后,有效特征有38個(gè),可分為六大類(lèi),分別是連接特征、統(tǒng)計(jì)特征、DNS特征、SSL特征、HTTP特征與違規(guī)特征,所有特征數(shù)據(jù)都是在真實(shí)的物聯(lián)網(wǎng)環(huán)境下獲取的,數(shù)據(jù)集從整個(gè)網(wǎng)絡(luò)數(shù)據(jù)集中選擇了461043條記錄,包括所有攻擊和正常事件。這些記錄可用于應(yīng)用多種的機(jī)器學(xué)習(xí)模型,且已經(jīng)平衡化處理,與原始數(shù)據(jù)集相比可以顯著提高模型訓(xùn)練后的性能。該數(shù)據(jù)集的標(biāo)簽共有十個(gè)類(lèi)別,其中包含一個(gè)正常流量和九個(gè)攻擊類(lèi)型,目標(biāo)是將數(shù)據(jù)集進(jìn)行十分類(lèi),使模型不僅能分辨出正常流量數(shù)據(jù)與攻擊流量數(shù)據(jù),而且還要分辨出每一類(lèi)的攻擊類(lèi)型。
表3 TON_loT_Network標(biāo)簽統(tǒng)計(jì)
1. 訓(xùn)練與測(cè)試
參數(shù)設(shè)置為優(yōu)化后的最優(yōu)參數(shù),如表4所示。
表4 模型參數(shù)設(shè)置
將最優(yōu)參數(shù)帶入至模型中進(jìn)行訓(xùn)練,LightGBM的訓(xùn)練過(guò)程可以解釋為梯度提升樹(shù),圖5表示了參數(shù)設(shè)置樹(shù)的數(shù)量為100時(shí),隨著樹(shù)的提升,訓(xùn)練集與測(cè)試集多分類(lèi)的損失函數(shù)值的共同變化,且逐漸達(dá)到收斂過(guò)程。
圖5 最優(yōu)參數(shù)L ightGBM的訓(xùn)練過(guò)程
2. 特征重要性評(píng)估
最后利用LightGBM模型對(duì)特征重要性進(jìn)行評(píng)估,為方便表述,在數(shù)據(jù)預(yù)處理階段需對(duì)特征進(jìn)行編號(hào),具體編號(hào)情況在上述特征表格中。圖6為根據(jù)LightGBM得到的最終特征貢獻(xiàn)度,可以看出特征0(流標(biāo)識(shí)符之間連接的時(shí)間戳)對(duì)最終預(yù)測(cè)結(jié)果的貢獻(xiàn)最大,其余特征的影響度可以在圖中表示,后續(xù)可以根據(jù)特征結(jié)果再對(duì)特征進(jìn)行處理,以達(dá)到最優(yōu)結(jié)果。
圖6 特征重要性評(píng)分
TON_IoT_Network為物聯(lián)網(wǎng)網(wǎng)絡(luò)層數(shù)據(jù)集,將數(shù)據(jù)集以7:3劃分為訓(xùn)練集與測(cè)試集。由于其是在真實(shí)物聯(lián)網(wǎng)環(huán)境中測(cè)得,使用該數(shù)據(jù)集更能顯示出模型在真實(shí)物聯(lián)網(wǎng)環(huán)境中的檢測(cè)性能。LightGBM參數(shù)較多,且不同參數(shù)會(huì)對(duì)模型造成不同影響,模型參數(shù)為貝葉斯優(yōu)化后搜索的最優(yōu)值,模型的參數(shù)設(shè)置如表4,其余未提到的為默認(rèn)值。
將經(jīng)過(guò)預(yù)處理與特征處理的訓(xùn)練集和測(cè)試集數(shù)據(jù),輸入到多個(gè)機(jī)器學(xué)習(xí)模型訓(xùn)練,結(jié)果詳見(jiàn)表5。
表5 多種機(jī)器學(xué)習(xí)算法在TON_loT_Network數(shù)據(jù)集上的指標(biāo)結(jié)果
從表5中可以看到,當(dāng)輸入數(shù)據(jù)集為T(mén)ON_IoT_Network時(shí),采用的貝葉斯+LightGBM模型在訓(xùn)練集和測(cè)試集上相對(duì)于其他模型的準(zhǔn)確率都要高,訓(xùn)練集多分類(lèi)準(zhǔn)確率達(dá)到99.99%,測(cè)試集多分類(lèi)準(zhǔn)確率達(dá)到99.97%,并且誤報(bào)率也能保持在相對(duì)較低水平。
采用ROC-AUC曲線對(duì)貝葉斯+LightGBM模型進(jìn)行客觀評(píng)價(jià)。ROC曲線越靠近左上角(TPR=1,F(xiàn)PR=0),證明所采用的模型分類(lèi)效果越理想,area表示每一類(lèi)攻擊分類(lèi)的AUC精度。從圖7中可以看出針對(duì)每一類(lèi)的分類(lèi)精度都較高,可以實(shí)現(xiàn)高精度的物聯(lián)網(wǎng)入侵檢測(cè)多分類(lèi)預(yù)測(cè)。
圖7 貝葉斯+L jghtGBM模型ROC-AUC曲線
另外,對(duì)于物聯(lián)網(wǎng)入侵檢測(cè)模型來(lái)說(shuō),評(píng)價(jià)其性能指標(biāo)的重要因素還有檢測(cè)時(shí)間,檢測(cè)時(shí)間越短,異常的攻擊行為對(duì)設(shè)備的損失就越小。貝葉斯+LightGBM模型的訓(xùn)練時(shí)間只有7.322s,相對(duì)于其他模型訓(xùn)練時(shí)間為中上水平,而檢測(cè)時(shí)間是0.724s,相對(duì)于模型檢測(cè)時(shí)間與準(zhǔn)確率來(lái)說(shuō),其效率高了很多,尤其是與隨機(jī)森林相比較時(shí),能夠在保證準(zhǔn)確率與誤報(bào)率的同時(shí),明顯縮短檢測(cè)時(shí)間。綜合準(zhǔn)確率和檢測(cè)時(shí)間等指標(biāo),對(duì)于TON_IoT_Network數(shù)據(jù)集,基于貝葉斯優(yōu)化LightGBM構(gòu)建的入侵檢測(cè)模型表現(xiàn)是較好的。
目前社會(huì)發(fā)展的智能化轉(zhuǎn)變?yōu)楣补ぷ鲙?lái)了前所未有的挑戰(zhàn),針對(duì)物聯(lián)網(wǎng)的入侵方式愈發(fā)多種多樣,與此同時(shí)物聯(lián)網(wǎng)安全的保護(hù)措施尚未健全,發(fā)展的速度遠(yuǎn)不及攻擊方式更新的速度,因此研究物聯(lián)網(wǎng)入侵檢測(cè)方法為物聯(lián)網(wǎng)安全提供保護(hù)、為公安相關(guān)工作提供便利是研究的出發(fā)點(diǎn)與落腳點(diǎn)。
本文從物聯(lián)網(wǎng)入侵檢測(cè)模型構(gòu)建的角度,對(duì)LightGBM模型進(jìn)行了參數(shù)優(yōu)化,使其更適應(yīng)物聯(lián)網(wǎng)的攻擊環(huán)境,最終將提出的模型與傳統(tǒng)機(jī)器學(xué)習(xí)模型相對(duì)比,提出的模型在測(cè)試時(shí)間與準(zhǔn)確率上都占優(yōu)勢(shì)。本文研究?jī)?nèi)容為物聯(lián)網(wǎng)設(shè)備的使用安全提供后盾,為用戶(hù)的隱私數(shù)據(jù)提供保障,為公安取證工作提供服務(wù),在物聯(lián)網(wǎng)入侵模型構(gòu)建的創(chuàng)新上具有一定意義。