張金霜 ,梁樹杰 ,左敬龍
(1.廣東茂名幼兒師范專科學(xué)校 教育信息技術(shù)中心,廣東 茂名 525000;2.廣東石油化工學(xué)院 網(wǎng)絡(luò)與教育信息技術(shù)中心,廣東 茂名 525000)
隨著信息通信產(chǎn)業(yè)的發(fā)展,物聯(lián)網(wǎng)技術(shù)已被廣泛應(yīng)用于人們生產(chǎn)生活中,其中智能家居就是物聯(lián)網(wǎng)技術(shù)運(yùn)用的典型代表。然而物聯(lián)網(wǎng)技術(shù)在給人們生活帶來便捷的同時(shí),也帶來了新的安全威脅,如個(gè)人隱私泄露、越權(quán)操作、數(shù)據(jù)破壞等[1]。 其中,物聯(lián)網(wǎng)的通信與信息安全問題是關(guān)鍵一環(huán),通過使用網(wǎng)絡(luò)入侵檢測(cè)技術(shù),能有效抵御或降低此類安全風(fēng)險(xiǎn)。
網(wǎng)絡(luò)入侵檢測(cè)的核心是分類算法。 盡管當(dāng)下使用深度學(xué)習(xí)進(jìn)行數(shù)據(jù)分類十分流行,但支持向量機(jī)(Support Vector Machine,SVM)作為一種經(jīng)典的分類算法,因其具有小樣本學(xué)習(xí)、避免“維數(shù)災(zāi)難”、算法魯棒性好等優(yōu)點(diǎn),在網(wǎng)絡(luò)入侵檢測(cè)的研究中仍占有一席之地,具有良好的推廣性和適應(yīng)性。 在面向物聯(lián)網(wǎng)環(huán)境,相較于其他常見的分類算法,如貝葉斯網(wǎng)絡(luò)、KNN 算法、模糊聚類、隨機(jī)森林等,SVM 表現(xiàn)出更好的綜合性能[2]。
SVM 的分類效果與其參數(shù)選擇有較大的關(guān)系,關(guān)于參數(shù)如何選擇問題,常用的方法是使用群智能優(yōu)化算法求解,如粒子群算法(Particle Swarm Optimization,PSO)、遺 傳 算 法 (Genetic Algorithm,GA)、人工蜂群算 法(Artificial Bee Colony,ABC)等[3-6]。 針對(duì)部分優(yōu)化算法存在收斂速度慢、容易陷入局部最優(yōu)解等缺點(diǎn),本文引入一種新型元啟發(fā)性優(yōu)化算法——灰狼優(yōu)化算法對(duì)SVM 參數(shù)進(jìn)行優(yōu)化。
灰狼優(yōu)化算法(Grey Wolf Optimizer,GWO)由學(xué)者 MIRJALILI S 等在 2014 年提出[7],它通過模擬自然界灰狼種群等級(jí)機(jī)制和捕獵行為,確定捕食獵物的位置,實(shí)現(xiàn)優(yōu)化搜索目的。 灰狼算法具有實(shí)現(xiàn)步驟簡(jiǎn)單,需調(diào)整的參數(shù)少,收斂速度快,有較強(qiáng)的全局搜索能力等特點(diǎn),在工程領(lǐng)域得到廣泛應(yīng)用[8-10]。
分類問題的實(shí)質(zhì)就是基于訓(xùn)練集在特征空間中找到一個(gè)劃分超平面, 將不同類別的樣本分開。而多維的特征空間常常給分類帶來困難。 支持向量機(jī)在解決小樣本、非線性和高維特征空間中表現(xiàn)出獨(dú)特的優(yōu)勢(shì)。 它是建立在統(tǒng)計(jì)學(xué)習(xí)理論的VC 維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小原理基礎(chǔ)上的,通過選取合適的核函數(shù),能有效解決線性及非線性分類問題。
SVM 通過尋找一個(gè)最優(yōu)超平面,使得位于超平面兩側(cè)的樣本距離該超平面最大,其工作原理如圖1所示。

式中,ω 為法向量,決定超平面的方向;b 為位移項(xiàng),決定超平面與原點(diǎn)之間的距離。
由圖1 可知,兩個(gè)異類支持向量到超平面的距離之和為:

圖1 SVM 分類原理圖

為了最大化間隔,僅需最小化||ω||2,于是可將式(1)轉(zhuǎn)為凸二次規(guī)劃優(yōu)化問題:

為了防止結(jié)果過擬合,提升模型泛化能力,在式(3)中引入懲罰項(xiàng),目標(biāo)函數(shù)調(diào)整為:

式中,ξi為隨機(jī)數(shù),稱為松弛變量。C 為懲罰參數(shù),當(dāng)C 無窮大時(shí),式(5)迫使所有的樣本均滿足約束(4);當(dāng)C 為有限值時(shí),允許部分樣本不滿足約束。
進(jìn)一步引入 Lagrange 乘子,將式(5)、式(6)轉(zhuǎn)為求解對(duì)偶問題,引入合適的核函數(shù),可將線性分類問題推廣到非線性分類問題。

式中,κ(xi,xj)為核函數(shù),αi為 Lagrange 乘子。 據(jù) 此,可得到相應(yīng)的分類模型:

式中,sgn 是判別函數(shù),用來標(biāo)注樣本的類別(如1 或-1)。
核函數(shù)的選擇是影響分類模型效果的一個(gè)關(guān)鍵,其中高斯核(RBF)使用較為廣泛,通過調(diào)節(jié)核函數(shù)半徑σ,可實(shí)現(xiàn)線性與非線性兩種分類器,具有很好的靈活性。 考慮到網(wǎng)絡(luò)入侵特征向量與入侵行為類型之間存在一定的隨機(jī)性和非線性,為此本文將采用 RBF 核。

在灰狼優(yōu)化算法中,每只灰狼代表種群一個(gè)潛在解。算法模擬了灰狼社會(huì)等級(jí),分別為 α 狼、β 狼、δ 狼和 ω 狼,依次代表最優(yōu)解、優(yōu)解、次優(yōu)解和候選解。 其中,α、β 和 δ 引導(dǎo)搜索,ω 跟隨。
1.2.1 包圍獵物
設(shè)狼群數(shù)量為 N,搜索空間維度為 M,則第 i 頭狼的位置定義為 Xi,j=(Xi,1,Xi,2,…,Xi,m),i=1,2,…,n。 則包圍獵物的定義如下:

式中,t為當(dāng)前迭代次數(shù) ;A和C為系數(shù)向量 ;Xp為獵物位置,X 為灰狼位置,D 表示灰狼與獵物的距離。 向量 A 和 C 的計(jì)算如下:

其中 a 的分量在迭代過程中從 2 線性減少到 0;r1和 r2是[0,1]中的隨機(jī)數(shù)。
GWO 算法中利用|A |>1 的隨機(jī)值來強(qiáng)迫搜索狼遠(yuǎn)離獵物, 有利于全局搜索;C 為獵物提供隨機(jī)權(quán)重,這有助于在整個(gè)優(yōu)化過程中顯示更隨機(jī)的行為,有利于搜索及避免陷入局部最優(yōu)。
1.2.2 狩獵
狩獵過程中,α狼、β狼和δ狼擁有更多的獵物信息,因此每次迭代過程中,保留3 個(gè)最優(yōu)解,迫使其他的ω 狼根據(jù)這3 個(gè)最優(yōu)解更新自己的搜索位置,具體如下:


式 (16) 得到灰狼個(gè)體與 α、β 和 δ 這三狼的距離,式(17)、(18)決定了灰狼個(gè)體移動(dòng)的位置。
SVM 的分類效果受懲罰系數(shù) C 與 RBF 核函數(shù)半徑σ 的影響,僅憑經(jīng)驗(yàn)值難以保證分類效果,所以優(yōu)化的目的在于尋找合適的參數(shù)。 目前已有研究采用各種群智能優(yōu)化算法改進(jìn)SVM 的參數(shù)選擇。本文在前期研究的基礎(chǔ)上,采用 GWO 優(yōu)化 SVM 算法這兩個(gè)重要的參數(shù),一方面要提升分類模型的準(zhǔn)確率,另一方面要兼顧模型的泛化能力。 最后將分類模型應(yīng)用于物聯(lián)網(wǎng)安全入侵檢測(cè)系統(tǒng)中。 GWOSVM 算法工作過程如圖2 所示。

圖2 GWO-SVM 算法工作流程圖
GWO-SVM 算法的具體步驟如下:
(1)對(duì)樣本數(shù)據(jù)做預(yù)處理,包括字符特征數(shù)值化、規(guī)范化等;劃分訓(xùn)練數(shù)據(jù)集與測(cè)試數(shù)據(jù)集,為后續(xù)的SVM 模型擬合與驗(yàn)證做準(zhǔn)備。
(2)初始灰狼種群規(guī)模與迭代次數(shù),將 SVM 的參數(shù) C 和 σ 設(shè)定為灰狼個(gè)體的位置向量,即 Xi,j=(Ci,1,σi,2)。
(3)計(jì)算適應(yīng)度值,將 SVM 的分類準(zhǔn)確率作為適應(yīng)度值,公式如下:

式中,TP 表示所有預(yù)測(cè)正確的樣本數(shù),Total 表示總樣本數(shù)。
(4)保存最優(yōu)的前3 個(gè)適應(yīng)度值及灰狼位置。
(5)更新 GWO 中的參數(shù) a、A 和 C。
(6)根據(jù)適應(yīng)度更新ω 狼的位置。
(7)判斷算法是否滿足結(jié)束條件,若滿足,則轉(zhuǎn)到(8);否則轉(zhuǎn)到(3)繼續(xù)迭代。
(8)獲取 SVM 最優(yōu)參數(shù)(C、σ)。
(9)采用最優(yōu)參數(shù)訓(xùn)練分類模型。
(10)運(yùn)用分類模型對(duì)測(cè)試樣本進(jìn)行分類。
實(shí)驗(yàn)采用 Scikit-learn 機(jī)器學(xué)習(xí)庫,使用 Python語言編程。
實(shí)驗(yàn)采用 UNSW-NB15 數(shù)據(jù)集[11],該數(shù)據(jù)集來自新南威爾士大學(xué)網(wǎng)絡(luò)安全實(shí)驗(yàn)室,提供了在綜合環(huán)境中生成的實(shí)際的異常網(wǎng)絡(luò)流量。 相較于經(jīng)典的KDD CUP 99,該數(shù)據(jù)集更貼近當(dāng)下網(wǎng)絡(luò)環(huán)境,數(shù)據(jù)內(nèi)容也更新。 但該數(shù)據(jù)集的樣本區(qū)分度差于KDD CUP 99,這給數(shù)據(jù)分類帶來一定的挑戰(zhàn)[12]。
為了驗(yàn)證算法的有效性,本文分別與原始SVM、PSO-SVM 和 GA-SVM 在 UNSW-NB15 數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)。
由于UNSW-NB15 含有字符型常量,需要進(jìn)行數(shù)值與字符特征值之間的轉(zhuǎn)換,如協(xié)議字段,均使用了協(xié)議名稱或簡(jiǎn)寫,共包含 131 種協(xié)議。 按照協(xié)議占比排序后再轉(zhuǎn)換為對(duì)應(yīng)的整數(shù),如TCP 協(xié)議占比最大,則將其轉(zhuǎn)換為 2,而 UDP 占比次之,將其轉(zhuǎn)換為 3,以此類推。 轉(zhuǎn)換后分別用 2~132 表示。
由于各字段值域不同,有的取值較小,而有的取值特別大,如上下行流量比ttl 字段大很多,不同值域的屬性對(duì)結(jié)果的影響也不一樣。 因此,為了平衡各字段對(duì)結(jié)果的影響,本文采用零均值規(guī)范化方法,公式如下:

SVM 的懲罰系數(shù)C 值越大,對(duì)分錯(cuò)樣本的懲罰越大,訓(xùn)練樣本的準(zhǔn)確率越高,但模型的泛化能力就越低;反之則準(zhǔn)確率降低,泛化能力加強(qiáng)。而核函數(shù)半徑σ 的經(jīng)驗(yàn)值是 1/n_features。 因此要對(duì) GWO 算法中的狼群位置范圍做合理測(cè)算。 經(jīng)多次實(shí)驗(yàn)測(cè)試,本文將 C 值限定在 [0.1,100],σ 值限定在[0.001,10],且盡量均勻分布。
為進(jìn)一步優(yōu)化參數(shù)選擇效果,防止預(yù)測(cè)結(jié)果過擬合,本文在計(jì)算適應(yīng)度值時(shí)使用的是綜合適應(yīng)度值,即綜合了兩組測(cè)試結(jié)果,分別是訓(xùn)練數(shù)據(jù)(train_data)預(yù)測(cè)結(jié)果與測(cè)試數(shù)據(jù)(test_data)預(yù)測(cè)結(jié)果,組合比例為 4:6,即 fitness′=fitnesstrain×40%+fitnesstest×60%。
本文實(shí)驗(yàn)的訓(xùn)練數(shù)據(jù)樣本為5 000 條, 測(cè)試樣本為 1 000 條,包含源數(shù)據(jù)中的各種入侵類型。 標(biāo)簽字段只取“正常”和“非正常”兩類,分別用 1 和-1表示。 GWO、PSO 和 GA 初始化種群規(guī)模 N=100,迭代次數(shù) t=50。
評(píng)價(jià)指標(biāo)采用準(zhǔn)確率和 F1 值。 通過實(shí)驗(yàn)對(duì)測(cè)試數(shù)據(jù)進(jìn)行分類,其結(jié)果如表1 所示。

表1 各算法在UNSW-NB15 數(shù)據(jù)集上的分類結(jié)果
由表1 可知,GWO-SVM 算法得到的準(zhǔn)確率與F1 值最高,而 PSO-SVM 與 GA-SVM 算法得到的準(zhǔn)確率和 F1 值相當(dāng),原始 SVM 算法在選用經(jīng)驗(yàn)值的情況下,準(zhǔn)確率與F1 值較低。
由圖3 可以看出,GWO 算法與 PSO 算法在第10 代左右都趨于收斂,但PSO 算法未得到最優(yōu)結(jié)果;而GA 算法收斂速度最慢,在28 代左右才趨于收斂,得到的結(jié)果與 PSO 算法的相當(dāng)。 總的來說,GWO 算法比PSO、GA 算法綜合表現(xiàn)更好。
綜上所述,使用 GWO 優(yōu)化 SVM 算法具有一定的優(yōu)勢(shì),GWO 算法收斂速度快,尋優(yōu)效果好,有助于提升SVM 算法的分類效果及建模效率。
本研究采用ThingsBoard 框架搭建物聯(lián)網(wǎng)平臺(tái),使用 Raspberry Pi(樹莓派)作為終端設(shè)備,自行模擬和采集物聯(lián)網(wǎng)流量數(shù)據(jù),包括異常數(shù)據(jù)和正常數(shù)據(jù)。采用GWO-SVM 分類算法構(gòu)建入侵檢測(cè)模型,并使用平衡二叉決策樹方法[13],實(shí)現(xiàn) SVM 算法入侵檢測(cè)結(jié)果多分類。

圖3 適應(yīng)度值變化曲線圖
仿真過程中,共采集 1 000 組測(cè)試數(shù)據(jù),使用GWO-SVM 模型對(duì)測(cè)試數(shù)據(jù)進(jìn)行多分類,結(jié)果如圖4所示。

圖4 仿真入侵檢測(cè)結(jié)果圖
仿真結(jié)果表明,使用GWO-SVM 算法得到的分類模型檢測(cè)準(zhǔn)確率高,檢測(cè)性能良好,適用于物聯(lián)網(wǎng)環(huán)境下的網(wǎng)絡(luò)入侵檢測(cè)。
本文使用GWO-SVM 算法實(shí)現(xiàn)網(wǎng)絡(luò)入侵檢測(cè)。GWO 算法在求解最優(yōu)化問題時(shí)有較大的優(yōu)勢(shì),實(shí)驗(yàn)中將該算法用于優(yōu)化SVM 的參數(shù)選擇,從而提升SVM 的分類準(zhǔn)確率。 實(shí)驗(yàn)在 UNSW-NB15 數(shù)據(jù)集基礎(chǔ)上,將 GWO-SVM 算法與原始 SVM、PSO-SVM及GA-SVM 算法進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明,將 GWO用于優(yōu)化SVM 網(wǎng)絡(luò)入侵檢測(cè)時(shí),在分類準(zhǔn)確率與F1 值兩項(xiàng)指標(biāo)上都有所提高,分類效果較好。
最后將模型應(yīng)用于物聯(lián)網(wǎng)環(huán)境下的仿真實(shí)驗(yàn),并實(shí)現(xiàn)了SVM 算法多分類,仿真結(jié)果表明GWO-SVM模型適用于物聯(lián)網(wǎng)環(huán)境下的網(wǎng)絡(luò)入侵檢測(cè)。