






收稿日期:2021-11-26;修回日期:2022-01-17
基金項目:國家自然科學基金資助項目(92067201);江蘇省重點研發計劃資助項目(BE2020084-4)
作者簡介:劉祥軍(1996-),男,山東日照人,碩士研究生,主要研究方向為物聯網安全與機器學習;江凌云(1971-),女(通信作者),安徽安慶人,副教授,碩士,主要研究方向為移動互聯網、物聯網應用和信息安全(jiangly@njupt.edu.cn).
摘 要:隨著物聯網設備數量的快速增長,被劫持的物聯網設備組成的僵尸網絡發起非法攻擊的頻率大大增加,物聯網設備的安全性已經成為一個嚴峻的問題。為了檢測物聯網設備發起的異常流量,提出一種集成學習的個體學習器選擇算法(individual learner selection algorithm,IISA),IISA是一種基于相關系數度量的選擇方法,利用相關系數將相似度差異大的個體學習器集成起來并采用投票的方式進行判決,在減少個體學習器的同時,提高檢測的準確度和檢測效率。實驗結果表明,和八種半監督機器學習檢測算法相比,其查全率最大降低9.12%,準確率最大提高4.69%,檢測效率最大提高70.72%。
關鍵詞:僵尸網絡; 集成學習; 相關系數; 半監督學習
中圖分類號:TP309"" 文獻標志碼:A
文章編號:1001-3695(2022)06-031-1785-05
doi:10.19734/j.issn.1001-3695.2021.11.0634
Abnormal traffic detection algorithm for IoT devices based on ensemble learning
Liu Xiangjun, Jiang Lingyun
(School of Communication amp; Information Engineering, Nanjing University of Posts amp; Telecommunications, Nanjing 210003, China)
Abstract:With the rapid growth of the number of Internet of Things devices, the frequency of illegal attacks by botnets composed of hijacked IoT devices has increased greatly, and the security of IoT devices has become a serious issue. In order to detect abnormal traffic initiated by IoT devices, this paper proposed an individual learner selection algorithm (IISA) based on ensemble learning. IISA was a selection method based on correlation coefficient measurement. It used correlation coefficient to integrate individual learners with large differences in similarity and made judgements by voting, which could reduce individual learners while improving the accuracy and efficiency of detection. The experimental results show that compared with the eight semi-supervised machine learning detection algorithms, the recall rate can be reduced by 9.12%, the accuracy can be increased by 4.69%, and the detection efficiency can be increased by 70.72%.
Key words:botnet; ensemble learning; correlation coefficient; semi-supervised learning
物聯網作為互聯網的延伸,已經在很多領域得到了廣泛應用,如物流運輸、工業加工、公共安全監控、家庭自動化、環境監測和醫療保健等,它給人們的衣食住行帶來很大的便利[1]。然而,現實世界的物體與互聯網的結合也給人們的大部分日常活動帶來了網絡安全隱患。 例如,對發電廠和交通控制系統等關鍵基礎設施的攻擊會引發社會恐慌,對家用電器設備的攻擊和劫持會威脅到家庭成員的安全,泄露個人隱私等。文獻[2]對三種常見的智能家居設備進行了用戶隱私、缺乏加密和身份驗證等相關漏洞的測試,結果顯示,由于這些設備所涉及的標準和通信協議的不同,且它們的計算能力有限、互連設備數量眾多等原因,傳統的安全對策無法在物聯網系統中有效發揮作用。 因此,針對物聯網研究特定的安全解決方案是至關重要的[3]。
隨著全球部署的物聯網設備數量急劇增加[4],物聯網設備已經成為僵尸網絡劫持的主要目標,當各種家用設備、工業機器變身物聯網產品時,一個巨大的僵尸網絡也在形成。由于這些設備數量巨多、通常采用簡單的默認出廠設置等特點,給不法分子帶來了可乘之機,通過感染,劫持大量的物聯網設備并組成僵尸網絡發動分布式拒絕服務攻擊(DDoS),其頻率和流量都達到前所未有的高度[4~6]。因此,一些能夠實時檢測物聯網設備異常流量的方法已成為減輕網絡安全風險的必要條件。因為流量實時檢測可以迅速地將受到威脅的物聯網設備與網絡斷開連接并發出警報,從而阻止僵尸網絡病毒的傳播并進一步阻止出站的攻擊流量,所以設備流量的實時檢測可提高網絡安全性。因此,為了保護物聯網設備的正常運行,安裝入侵檢測系統(network intrusion detection system)是必要的。入侵檢測系統的核心就是檢測算法,傳統設備通常具有較強的計算能力和存儲、內存空間,能夠部署復雜的檢測算法,但是由于物聯網設備硬件資源受限、功率有限、異構性和多連接性等特點,傳統的檢測算法可能效率較低或者不適用于物聯網系統[7,8]。所以,與傳統計算系統中的異常流量檢測算法相比,物聯網環境中的異常流量檢測算法更具挑戰性和限制性。
1 相關工作
針對物聯網環境中的設備流量異常檢測,目前國內外有許多學者已經提出很多算法和方案。傳統的入侵檢測算法是使用基于攻擊規則(attacks rules/signatures)或正常行為規范(normal behavior specification)開發的,然而,這些算法存在以下問題:a)高誤報率,包括假陽率(1 positive rate)和假陰率(1 positive rate);b)無法檢測未知/零日攻擊。因此,現在大多數學者致力于探索人工智能(artificial intelligence)和機器學習(machine learning)算法應用到物聯網設備的保護,以提高系統安全性[9]。
1.1 入侵檢測算法
Meidan等人[10]提出運用深度自編碼(AutoEncoder)算法檢測物聯網設備流量的異常行為,用物聯網中常見病毒Mirai和BASHLITE去感染九臺常見的物聯網設備(門鈴、嬰兒監視器、網絡攝像頭等),通過交換機的鏡像端口去收集這些被感染設備的流量,并從中抽取出115個統計特征,然后運用深度自編碼算法為每臺設備訓練一個異常檢測模型,可以高效地識別出每臺設備流量的異常行為,但是對于功能種類較多的設備如嬰兒監視器的檢測結果較其他設備有著較高的假正率(1 positive rate,FPR)。
Jia等人[11]提出一種基于多元降維方法分析網絡異常流量,多元降維分析是一種統計分析相關理論,結合了主成成分分析和多元相關分析方法,主成成分分析主要是對采集、處理后的流量提取出主要特征,在保留關鍵信息的前提下大大降低待檢測數據維度,有效降低流量檢測所需要的時間以及計算機資源的消耗。多元相關分析是通過提取出正常流量數據背后的統計規律而訓練出一個異常檢測的模型,該方法在檢測效率和檢測準確度上都有不錯的效果,不足之處在于實驗所采用的數據集并不是從物聯網中收集、處理得到的,因此該方法并不一定適合物聯網異常流量的檢測。
麻文剛等人[12]設計了一種三層堆疊長短記憶網絡來提取流量中的特征信息,提出并使用帶有跳躍連接線的改進殘差神經網絡進行優化,該方法和一些現有的深度學習方法相比,提高了網絡異常流量檢測的準確度;宋勇等人[13]提出一種基于深度學習的自適應特征提取方法,并利用支持向量機的多分類器形成入侵流量檢測方法,該方法可以提高檢測效率和準確度。但是,不足之處在于它們都沒有對物聯網場景下設備產生的流量進行檢測。
Garca等人[14]提出了一種基于網絡流量的僵尸網絡檢測方法,且該方法不限于物聯網領域。在真實物聯網環境中采集、分析流量數據,使用模式匹配來檢測異常的網絡活動,但這種方式依賴于:a)蜜罐設備捕獲到的流量特征;b)僵尸網絡Camp;C 服務器產生的 DNS 流量;c)異常流量的數據挖掘。同時,他們也發現基于異常檢測的方法適合檢測物聯網設備,因為這些設備通常是面向單一任務的(例如,專門設計用于檢測運動速度或測量濕度),所以它們執行的網絡協議種類少且沒有復雜的網絡協議,并且與傳統的計算機設備相比,流量的變化范圍更少。
Wang等人[15]提出基于圖和基于流的混合分析檢測方法。首先通過收集網絡中的流量,提取出15個統計特征,通過分析得出正常流量和異常流量在相似性和穩定性方面存在不同,異常流量的相似性和穩定性都比正常流量的高,因此可以通過這兩個特性來區分出設備通信過程產生的流量是否異常;然后再結合圖論的方法給每臺設備計算出一個異常得分;最后綜合相似性、穩定性、異常得分,用投票的方式決定設備是否異常;檢測結果證明可以降低FPR,但是缺點在于某些病毒會模仿合法的流量行為,從而規避檢測。
1.2 入侵檢測算法分類
入侵檢測方法分類為濫用檢測(misuse detection)、異常檢測(anomaly detection)、規范檢測(specification detection)和混合檢測(hybrid detection)四類。
a)濫用檢測依賴于觀察系統或者網絡中發生的事件,對已知的系統缺陷和已知的入侵方法建立模型,當觀測事件和模型相匹配時,就判斷設備發生異常的網絡狀況。濫用檢測的精確性較高,但不能檢測未知類型的入侵,這種方法難以應對目前復雜的物聯網安全環境。
b)異常檢測是對正常的網絡行為進行建模,然后比較觀測事件和正常網絡行為模型,當偏差超過某個閾值時,就可判斷網絡中存在異常流量。異常檢測可以成功檢測出未知類型的攻擊,但是往往也會有較高的誤報率,這是因為:(a)建立的模型存在誤差,目前通常采用機器學習的方式來提高建模的質量;(b)建模時未包含所有可能的正常行為的樣本,一般通過數據的積累和反饋機制不斷完善模型。當前,由于攻擊方式日趨復雜,攻擊技術已經呈現出多樣化,基于已有類型的攻擊及其變種不斷產生、演進,所以異常檢測已經成為當前主流的檢測策略。
c)規范檢測與異常檢測具有相同的邏輯,它將異常定義為偏離正常行為,但是規范檢測模型是基于人工描述的正常流量行為來進行建模,而不是基于歷時已觀測到的正常行為。與異常檢測相比,這種方法能降低誤報率,可以作為異常檢測的一個補充。
d)混合檢測是將濫用檢測、異常檢測、規范檢測相結合,達到最小化異常檢測誤報的目的,是異常檢測的一種重要補充手段,基于異常檢測的算法仍然是研究的重點。
綜上所述,針對物聯網環境的特點,本文提出一種集成學習算法。一個集成學習算法包含若干個個體學習器,而個體學習器的個數是一個超參數,通常采用經驗值。本文提出了一種采用相關系數來度量個體分類器的多樣性,通過計算出個體分類器之間的相似度,在最大化相似度的前提下減少個體學習器的個數,在提高檢測精度的同時,降低檢測算法的時間復雜度。
本文主要內容和創新如下:
a)流量采集和處理。采用滑動時間窗口和增量計算的方法,從設備產生的流量中提取出描述設備行為的特征信息。
b)提出一種個體學習器的選擇算法IISA。利用相關系數來度量個體學習器的多樣性,通過計算出個體學習器之間的相似度,選擇出差異性大的最優個體學習器組合。
c)實驗與結果分析。在實驗室搭建一個物聯網環境,用Mirai僵尸網絡病毒感染該環境中的物聯網設備,并使用本文提出的集成學習算法進行流量的實時檢測,結果表明和八種半監督學習算法相比,檢測結果的查全率最大降低了9.37%,準確率最大提高了4.69%。
2 設備流量的采集與檢測
圖1顯示了本文設計的設備流量檢測系統的工作流程,其中主要包含流量收集、特征信息提取和流量異常檢測三個主要部分。這樣的設計使該系統具有可擴展性,可以實時檢測網絡中進出站的數據流。 首先,流量收集模塊通過數據嗅探工具捕獲并存儲進入和傳出設備的流量數據包;然后使用數據預處理模塊,將捕獲到的設備流量轉換為算法能處理的數值特征信息,例如進站速率、出站速率等;再利用個體學習器選擇子模塊,將八種半監督學習算法訓練得到的個體學習器進行篩選;最后使用篩選后得到的個體學習器構建集成學習算法,異常檢測檢測模塊就是利用設備正常運行時產生的流量和上述集成學習算法訓練得到的檢測模型。
2.1 設備流量抓取
設備流量抓取的目的是收集網絡中的流量數據包,利用工具Scapy從網絡接口捕獲實時流量數據包。在物聯網環境中,設備產生的流量首先在邊緣網關處匯聚,然后再匯聚到路由器,再接入到互聯網。因此,在邊緣網關處可以實時采集設備的進站和出站的流量。
2.2 特征信息提取
為了使特征信息提取過程更加輕量級,本文僅從物聯網網絡鏈路中的流量數據中提取特征,研究每個特征的方差和均值等統計量變化,以確定其對分類過程的貢獻。任何對分類過程沒有貢獻的特征都將從最終特征集中刪除,從而可以減少特征信息提取過程的資源占用并加速分類算法任務的執行。
滑動窗口是一種數據采樣技術,是在數據流的一個片段上設置的窗口,該片段只包含數據流中最新到來的數據, 當有新數據到來時,滑動窗口將向前移動,用最新的數據替換最舊的數據。在數據流中定義滑動窗口有根據序列順序定義滑動窗口和基于時間定義滑動窗口兩種方法。
本文將研究基于時間的滑動窗口,即滑動時間窗口,對于數據流S={x1,x2,…,xn},滑動時間窗口的定義如下:設T為時間間隔,tgt;T為變化時刻,稱S[t-T:t]為S的滑動窗口,其中t和T具有相同的單位,t是相對于S起點的時間延遲。在滑動時間窗口模型中,并不規定滑動時間窗口內捕獲到的流量數據包個數,而是規定滑動窗口的時間,所以和第一種根據序列順序定義的滑動窗口相比,滑動時間窗口內的捕獲到的流量數據包的個數不是一個固定值,而是一個隨時間變化的值,能刻畫出流量的實時變化情況,有利于后續的實時檢測。
為了進一步提高滑動窗口提取特征信息的效率,解決流量處理過程中設備占用內存過大的問題,本文采用一種基于增量計算的特征信息計算方法。提取特征信息時需要計算出流量數據包的一些統計量,例如方差、均值、相關系數等。增量計算的基本原理是:假設從網絡中捕獲到N個數據包,x1,x2,…,xN,這組樣本的平均值和方差可由公式=1N∑Ni=1xi和σ2X=1N∑Ni=1(xi-)2計算得到;假設現在有兩組樣本值,即歷史樣本值h1,h2,…,hM和增量樣本a1,a,…,aN,根據上述方差和均值公式的定義,可以分別得到兩組樣本的均值和方差,分別稱為歷史均值=1M∑Mi=1hi,歷史方差σ2H=1M∑Mi=1(hi-)2,增量均值=1N∑Ni=1ai,增量方差σ2A=1N∑Ni=1(ai-)2;現在需要求出樣本h1,h2,…,hM,a1,a,…,aN的均值和方差,結果分別由式(1)(2)所示,當N=1時,增量均值變為=a1,增量方差變為σ2A=0,此時,式(1)(2)就可以化簡為式(3)(4)。所以增量計算的特點就是可以基于歷史統計值和當前的增量計算出當前的統計值,對于性能受限的物聯網網關而言,可以減少內存的負擔,提高計算效率。
=1M+N[∑Mi=1hi+∑Ni=1ai]=M+NM+N(1)
σ2=1M+N[∑Mi=1(hi-)2+∑Nj=1(aj-)2]=
1M+N∑Mi=1((hi-)-(-))2+1M+N∑Nj=1((aj-)-
(-))2=M[σ2H+(-)2]+N[σ2A+(-)2]M+N(2)
=MM+1+MM+1a1(3)
σ2=MM+1(σ2H+(-)2)+1M+1(-a1)2(4)
如表1所示,本文從目標設備的網絡數據流中提取七種統計量作為特征信息,分別是數量、均值、均方差、二維均值、二維方差、協方差、相關系數,且這七種統計量都可采用增量計算的方式得到。這些特征信息是從目標設備的三種數據流中統計得到,這三種數據流分別是:a)相同IP地址和MAC地址產生的數據流;b)相同源IP地址產生的數據流;c)相同源IP地址和目的IP地址之間產生的數據流。滑動時間窗口大小為500 ms,共提取23個特征。
本文采用了一種基于數據增量計算特征信息的方法,它可以在動態數量的數據流上進行特征信息的提取。計算方法如下:對于一個數據流S={x1,x2,…},xi∈R,xi代表數據包的大小,要計算S的均值μs,方差σ2s,標準差σs,可以通過維護三元數組IS=(N,LS,SS)來計算得到,其中N代表數據流S中元素個數,LS代表S中元素之和,SS代表S中元素的平方和,當S中增加一個數據xn,此時IS=(N+1,LS+xn,SS+x2n),即不用把S中每個元素xi都記錄在內存中,當有新的數據到達時,只需要更新IS即可,而均方差、二維均值、二維方差、協方差、相關系數等特征信息均可根據表1中的方法計算得到。
3 集成學習算法
3.1 個體學習器
集成學習并不是一個單獨的機器學習算法,而是將多種機器學習算法組合在一起來完成學習任務,其中組成集成學習的每種算法稱為個體學習器。集成學習運用的思想是:即使其中一個個體學習器得到了錯誤的結果,但是其他的個體學習器也能糾正過來。所以對這些個體學習器的要求是“好而不同”,即個體學習器要有一定的準確性,同時要求個體學習器之間要有差異性。集成學習模型的構建過程包括兩個關鍵步驟:a)產生一組若干個個體學習器,個體學習器通常采用一個現有的學習算法訓練得到;b)采用結合策略將這些個體學習器的檢測結果組合,常見的結合策略有平均法、投票法和學習法。
目前常見的個體學習器產生方法可分為兩類:a)個體學習器之間存在依賴關系,采用串行化方式生成個體學習器,典型的代表算法是AdaBoost;b)個體學習器之間不存在依賴關系,可采用并行化方式生成個體學習器,典型的代表算法是隨機森林(random forest)。
3.2 個體學習器選擇算法
根據上述可知,想要構建一個泛化性能好的集成學習算法,個體學習應滿足“好而不同”,根據Krogh等人在1995年提出的誤差—分歧分解(error-ambiguity decomposition)理論可知,個體學習器的準確度越高,多樣性越大,則集成的效果越好,但是在現實的任務中很難進行優化且優化方法只適用于回歸學習,很難推廣到分類學習的任務上去。而異常檢測是一個分類問題,且要求是一個半監督學習分類問題,因此需要找到一種適合半監督學習的集成學習方法。為了將集成學習用于設備的異常檢測,本文提出一種度量個體學習器多樣性的算法IISA。該算法利用相關系數度量個體學習器之間的相似度,在最大化相似度的前提下減少個體學習器的個數,實現在提高檢測準確度的同時,降低檢測算法的時間復雜度。
給定數據集D={(x1,y1),(x2,y2),…,(xm,ym)}與二分類任務,yi∈(-1,+1),分類器hi和hj的預測結果如表2所示。其中,a表示hi和hj均預測為正類的樣本數目;b、c、d的含義依此類推;a+b+c+d=m;此時分類器hi和hj的相關系數ρij可由公式ρij=ad-bc(a+b)(a+c)(c+d)(b+d)表示,ρij的取值為[-1,+1],ρij=0表示hi和hj無關;ρijgt;0代表正相關;ρijlt;0代表負相關。
本文提出的集成學習算法由八個個體學習器篩選組成,這八個個體學習器分別是由八種半監督機器學習算法訓練得到,分別是基于直方圖的異常值檢測(histogram-based outlier score,HBOS)[16]、輕量級異常在線檢測器LODA(lightweight on-line detector of anomalies)[17]、局部異常因子(local outlier factor,LOF)[18]、基于角度的異常值檢測器(angle-based outlier detector,ABOD)[19]、基于聚類的局部異常因子(clustering based local outlier factor,CBLOF)[20]、K最近鄰(K-nearest neighbors,KNN)[21]、主成分分析分析(principal component analysis,PCA)[22]和最小協方差行列式異常值檢測(outlier detection with minimum covariance determinant,MCD)[23]。
個體學習器應該滿足“好而不同”。在本文的實驗環境中,這八種個體學習器單獨進行異常檢測時其誤判率低于10%,可以滿足“好”的特點。然后本文利用相關系數來度量這些個體學習器之間的相似度,在實驗環境中采集設備正常運行時的數據,從這些數據中提取出特征信息,組成訓練算法所需要的樣本集合,并將其稱為正常樣本集S,將S均分為兩部分,一部分作為訓練集Ta,一部分作為測試集Te。上述八種半監督算法用訓練集Ta訓練模型,然后用訓練好的模型對測試集Te的樣本進行檢測,得到八個檢測結果的集合M={D1,D2,…,D8},分別計算出它們任意兩個之間的相關系數Rij,從中挑選出最小的相關系數Rmn,代表結果集Dm和Dn的相關系數最小,將結果集Dm和Dn加入到集合G中,此時G={Dm,Dn},然后求出集合M∩中一個結果集和G中所有結果集之間的相關系數之和,M∩存在一個結果集Dk使得公式Sum=∑Di∈GRik取得最小值,將Dk加入到集合G中,重復上述步驟,直到將集合M中的結果集全部加入到集合G,此時集合G中存放的結果集的相關性就是按照加入時的順序依次遞減,這樣就可以求出多樣性強的個體學習器,該算法具體的實現步驟見算法1。
算法1 個體學習器選擇算法IISA
輸入:設備正常運行時采集的樣本集合S;八種半監督機器學習算法。
輸出:按照上文中結果集之間的相關系數之和Sum最小原則,按順序輸出個體學習器。
a)將樣本集合S均分為訓練集Ta和測試集Te;
b)八種半監督機器學習算法使用訓練集Ta訓練異常檢測模型;
c)使用八種半監督機器學習算法訓練好的模型對測試集Te中的每個樣本進行檢測,每個檢測模型會得到一個檢測結果集合Di,最后得到八個檢測結果的集合M={D1,D2,…,D8};
d)使用上文中的公式ρij=ad-bc(a+b)(a+c)(c+d)(b+d)分別計算出它們任意兩個之間的相關系數Rij;
e)從Rij中挑選出最小的相關系數Rmn,代表結果集Dm和Dn的相關系數最小,將結果集Dm和Dn加入到集合G,此時,G={Dm,Dn};
f)求出集合M和集合的交集I=M∩;
循環開始:對于每個Dk,Dk∈I
求出Sumk=∑Zi∈GRki
循環結束:找到最小的Sump
g)將Sump對應的結果集Dp加入到集合G中;
h)重復步驟f)g),直到集合M中的結果集全部加入到集合G;
i)將集合G中的結果集合按加入集合G時的順序輸出。
4 實驗與結果分析
4.1 軟硬件環境
軟件:Windows 10 64位操作系統,Python 3.8.4,Jupyter Notebook;硬件:Intel Core i5-5200U@2.20 GHz,CPU 8 GB內存。
4.2 數據集
本文使用的樣本是由實驗室中部署的七臺物聯網設備中采集的真實流量制作而成,每臺設備收集30 000個樣本進行檢測。這些設備包含兩臺環境溫濕度、大氣壓強采集設備(Ⅰ,Ⅱ),一臺報警器(Ⅲ),兩臺網絡攝像頭(Ⅳ,Ⅴ),一個智能小車(Ⅵ)和一臺智能風扇(Ⅶ)。包含這七臺設備組成的物聯網環境如圖2所示,用物聯網中常見的僵尸網絡病毒Mirai去感染物聯網設備,并發動掃描攻擊Scan、Ack泛洪攻擊、Syn泛洪攻擊、UDP泛洪攻擊和高速率UDP泛洪攻擊UDPplain五種類型攻擊。
4.3 評估標準
基于分類的檢測模型,可以根據混淆矩陣中數據分布的情況對模型進行評估,該矩陣表示如表3所示。本文主要用到的評估標準有準確率、查全率,具體的定義如下:
a)準確率。accuracy=2×P×RP+R表示正確分類的樣本占總樣本的比例。
b)查準率。P=TPTP+FP表示正確預測為正樣本占所有預測為正樣本的比例。
c)查全率。R=TPTP+FN表示正確預測為正樣本占所有正樣本的比例。
4.4 結果及分析
通過對八種半監督機器學習算法訓練得到的個體學習器進行選擇。圖3顯示了這七臺設備根據IISA選擇適合自身的最優個體學習器的過程。隨著個體學習器數量的增加,這七臺設備檢測結果的查全率總體的趨勢是先下降后上升,趨勢下降且在集成四個個體學習器時達到最優檢測效果,這說明隨著集成多個查全率相近、但是差異性較大的個體學習器后,滿足個體學習器“好而不同”的要求;趨勢上升說明一個問題,在集成學習中盲目地增加個體學習器的數量并不一定能提高檢測結果的查全率,反而會降低,這是因為當一個集成學習算法集成了多個檢測效果較差的個體學習器或者多個檢測結果相近的個體學習器時,由于檢測結果是采用投票的方式得到,相似的個體學習器和檢測效果較差的個體學習器的數量越多對投票結果的影響就會越大,從而降低檢測結果的查全率。
個體學習的數量不僅可能降低集成學習檢測的效果,而且還會增加檢測的時間,降低檢測效率。表4顯示了每種類型設備對應的最優個體學習器組合,圖4顯示了每種類型設備采用對應最優個體學習器組合來構建集成學習,檢測效率最低提高36.74%,最高提高70.72%。
集成學習可集成多種機器學習算法,因而具有良好的泛化性能。從表5和6可以看出,對比八種半監督學習算法,采用IISA選擇出的最優個體學習器組成的集成學習算法,設備Ⅰ~Ⅶ的查全率分別最小可以降低3.61%、7.00%、7.79%、3.67%、0.76%、5.44%、1.81%,最大可以降低6.67%、8.24%、8.92%、5.60%、9.37%、6.87%、9.12%;其準確率最小可以提高1.81%、3.51%、3.90%、1.84%、0.39%、2.73%、0.91%;最大可以提高3.36%、4.13%、4.47%、2.80%、4.69%、3.44%、4.57%。和八種半監督學習算法融合成的集成算法All相比,設備Ⅰ~Ⅶ的查全率最小可以降低0.3%,最大可以降低1.69%;其準確率最小可以提高0.28%,最大可以提高2.89%。
5 結束語
針對物聯網環境中設備特點以及存在的僵尸網絡病毒問題,本文從設備流量處理和檢測算法兩方面考慮。設備流量處理方面,本文采用滑動時間窗口和基于增量計算統計量的方法,可降低設備在流量采集,提取特征信息階段的負擔;在檢測算法方面,提出一種個體學習器選擇算法IISA,IISA采用相關系數來度量個體學習器的多樣性,通過計算出個體學習器之間的相似度,在最大化相似度的前提下減少個體學習器的個數,通過篩選出差異性大的個體學習器作為最優個體學習器組合,并以此構建集成學習算法。該集成學習算法不僅提高了檢測效率,而且相較于八種半監督學習算法,在查全率和準確率方面均有更好性能。
下一步工作考慮將集成學習和深度學習算法結合起來,以進一步提高檢測算法的準確率。
參考文獻:
[1]Borgia E. The Internet of Things vision: key features, applications and open issues[J].Computer Communications,2014,54:1-31.
[2]Notra S, Siddiqi M, Gharakheili H H, et al. An experimental study of security and privacy risks with emerging household appliances[C]//Proc of Communications amp; Network Security. Piscataway,NJ:IEEE Press,2014:79-8.
[3]Sicari S, Rizzardi A, Grieco L A, et al. Security, privacy and trust in Internet of Things:the road ahead[J].Computer Networks,2015,76(15):146-164.
[4]Kolias C, Kambourakis G, Stavrou A, et al. DDoS in the IoT: Mirai and other botnets[J].Computer,2017,50(7):80-84.
[5]Bertino E, Islam N. Botnets and Internet of Things security[J].Computer,2017,50(2):76-79.
[6]Hallman R, Bryan J, Palavicini G, et al. IoDDoS—the Internet of distributed denial of service attacks: a case study of the Mirai malware and IoT-based botnets[C]//Proc of the 2nd International Conference on Internet of Things.[S.l.]:SciTePress,2017:47-58.
[7]Raza S, Wallgren L, Voigt T. SVELTE: real-time intrusion detection in the Internet of Things[J].Ad hoc Networks,2013,11(8):2661-2674.
[8]Bertino E, Islam N. Botnets and Internet of Things security[J].Computer,2017,50(2):76-79.
[9]Sommer R, Paxson V. Outside the closed world: on using machine learning for network intrusion detection[C]//Proc of IEEE Symposium on Security and Privacy. Piscataway,NJ:IEEE Press,2010:305-316.
[10]Meidan Y, Bohadana M, Mathov Y, et al. N-BaIoT: network-based detection of IoT botnet attacks using deep autoencoders[J].IEEE Pervasive Computing,2018,17(3):12-22.
[11]Jia Bin, Ma Yan,Huang Xiaohong, et al. A novel real-time DDoS attack detection mechanism based on MDRA algorithm in big data[J].Mathematical Problems in Engineering,2016,2016:article ID 1467051.
[12]麻文剛,張亞東,郭進.基于LSTM與改進殘差網絡優化的異常流量檢測方法[J].通信學報,2021,42(5):23-40.(Ma Wengang, Zhang Yadong, Guo Jin. Abnormal traffic detection method based on LSTM and improved residual neural network optimization[J].Journal on Communications,2021,42(5):23-40.)
[13]宋勇,侯冰楠,蔡志平.基于深度學習特征提取的網絡入侵檢測方法[J].華中科技大學學報:自然科學版,2021,49(2):1-7.(Song Yong, Hou Bingnan, Cai Zhiping. Network intrusion detection me-thod based on deep learning feature extraction[J].Journal of Huazhong University of Science and Technology:Natural Science Edition,2021,49(2):1-7.)
[14]Garca S, Zunino A, Campo M. Survey on network-based botnet detection methods[J].Security amp; Communication Networks,2014,7(5):878-903.
[15]Wang Wei , Shang Yaoyao, He Yongzhong, et al. BotMark: automated botnet detection with hybrid analysis of flow-based and graph-based traffic behaviors[J].Information Sciences,2020,511:284-296.
[16]Goldstein M, Dengel A. Histogram-based outlier score (HBOS): a fast unsupervised anomaly detection algorithm[C]//Proc of the 35th German Conference on Artificial Intelligence.2012:59-63.
[17]Pevn T. LODA: lightweight on-line detector of anomalies[J].Machine Learning,2016,102(2):275-304.
[18]Breunig M M, Kriegel H P, Ng R T, et al. LOF: identifying density-based local outliers[C]//Proc of ACM SIGMOD International Confe-rence on Management of Data.2000:93-104.
[19]Kriegel H P, Schubert M, Zimek A. Angle-based outlier detection in high-dimensional data[C]//Proc of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM Press,2008:24-27.
[20]He Zengyou, Xu Xiaofei, Deng Shengshun. Discovering cluster-based local outliers[J].Pattern Recognition Letters,2003,24(9-10):1641-1650.
[21]Angiulli F, Pizzuti C. Fast outlier detection in high dimensional spaces[C]//Proc of European Conference on Principles of Data Mi-ning amp; Knowledge Discovery.Berlin:Springer,2002:15-27.
[22]Shyu M, Chen S, Sarinnapakorn K, et al. A novel anomaly detection scheme based on principal component classifier[C]//Proc of IEEE Foundations amp; New Directions of Data Mining Workshop.Piscataway,NJ:IEEE Press,2003:1-9.
[23]Hardin J, Rocke D M. Outlier detection in the multiple cluster setting using the minimum covariance determinant estimator[J].Computational Statistics and Data Analysis,2007,44(4):625-638.