孫海麗,龍翔,2,韓蘭勝,3,黃炎,李清波
(1.華中科技大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,湖北 武漢 430074;2.湖北生物科技職業(yè)學(xué)院,湖北 武漢 430070;3.鵬程實驗室網(wǎng)絡(luò)空間安全研究中心,廣東 深圳 518000;4.華中科技大學(xué)計算機科學(xué)與技術(shù)學(xué)院,湖北 武漢 430074)
隨著5G 通信技術(shù)的快速發(fā)展,以及傳感器和處理器等嵌入式設(shè)備的計算和存儲能力不斷增加,這些網(wǎng)絡(luò)通信和嵌入式設(shè)備在工業(yè)系統(tǒng)中的應(yīng)用越來越普遍。工業(yè)物聯(lián)網(wǎng)(IIoT,industrial Internet of things)是由應(yīng)用程序、軟件系統(tǒng)和物理設(shè)備三者組成的大型網(wǎng)絡(luò),這三者與外部環(huán)境以及人類之間進行通信和共享智能[1]。據(jù)埃森哲預(yù)測,到2030 年,美國的工業(yè)物聯(lián)網(wǎng)價值將出到7.1 萬億美元,對歐洲而言價值將超過1.2 萬億美元[2]。
在這波工業(yè)發(fā)展浪潮中,物聯(lián)網(wǎng)安全是影響工業(yè)物聯(lián)網(wǎng)廣泛使用的重要因素之一。事實上,物聯(lián)網(wǎng)設(shè)備的安全性通常很差,因此很容易成為攻擊者的目標。攻擊者利用這些設(shè)備可以進行毀滅性的網(wǎng)絡(luò)攻擊,如分布式拒絕服務(wù)(DDoS,distributed denial of service)[3-4]。傳統(tǒng)的工業(yè)環(huán)境在過去一直遭受攻擊,有的還造成了災(zāi)難性的后果(例如,震網(wǎng)病毒[5]或故障超馳/工業(yè)破壞者[6])。因此,如果沒有安全性,工業(yè)物聯(lián)網(wǎng)將永遠無法發(fā)揮其全部潛力。另外,工業(yè)系統(tǒng)對性能和可用性有嚴格的要求,即使系統(tǒng)受到網(wǎng)絡(luò)攻擊,維護系統(tǒng)不間斷和安全地運行也常常是優(yōu)先考慮的。
異常檢測在防御系統(tǒng)和網(wǎng)絡(luò)的惡意活動中是至關(guān)重要的。近年來,為了緩解網(wǎng)絡(luò)攻擊,工業(yè)物聯(lián)網(wǎng)異常檢測方面的研究迅速增多,許多檢測機制被提出。另一方面,在異常檢測方面研究者已經(jīng)從技術(shù)手段、應(yīng)用場景等方面做了一些調(diào)研工作,如文獻[7-10],但這些工作很少專門針對工業(yè)物聯(lián)網(wǎng)的特性和適用性進行深入剖析。近兩年,雖然出現(xiàn)了針對工業(yè)物聯(lián)網(wǎng)異常檢測的綜述性文章,但介紹的都不夠全面。例如,文獻[2]只介紹了基于系統(tǒng)規(guī)則、建模系統(tǒng)物理狀態(tài)的檢測方法,文獻[4]則只介紹了基于統(tǒng)計和機器學(xué)習(xí)的檢測方法。除了文獻[2,4]提到的檢測方法之外,還存在許多新穎的檢測技術(shù)。
因此,本文從技術(shù)原理的角度,梳理了基于系統(tǒng)不變性和物理狀態(tài)的建模、基于統(tǒng)計學(xué)習(xí)、特征選擇、機器學(xué)習(xí)、圖、邊緣/霧計算、指紋、生物免疫等算法的異常檢測技術(shù),并詳細分析了各類技術(shù)的優(yōu)缺點。由于用于工業(yè)異常檢測研究的數(shù)據(jù)集繁雜且多樣,本文詳細歸納了常用數(shù)據(jù)集的特點及其使用頻率,方便讀者對比和選擇。除此之外,本文針對工業(yè)物聯(lián)網(wǎng)典型場景的網(wǎng)絡(luò)威脅和異常檢測方法進行調(diào)研和綜述,介紹了邊緣/霧計算方法在異常檢測方面的應(yīng)用,增加了對2021 年最新論文的調(diào)研,對不同檢測方法的特點和適用場景進行了深入分析。
工業(yè)4.0 將信息通信技術(shù)應(yīng)用于工業(yè)制造和自動化領(lǐng)域,極大地提高了生產(chǎn)力和效率。然而,這一進步的代價是擴大了工業(yè)系統(tǒng)的受攻擊面。針對工業(yè)物聯(lián)網(wǎng)的攻擊,可以分為被動攻擊和主動攻擊。被動攻擊是隱蔽的,通常無法檢測到,如竊聽和流量分析。主動攻擊包括丟包、回注、干擾網(wǎng)絡(luò)的正常運行等。惡意軟件感染、拒絕服務(wù)(DoS,denial of service)、未授權(quán)訪問和虛假數(shù)據(jù)包注入等主動攻擊通常是可以檢測到的[9]。下面簡要總結(jié)幾種主動攻擊的特點和目標。
惡意包注入攻擊。重放抓包,發(fā)送偽造或篡改的報文,以達到干擾或破壞系統(tǒng)操作的目的。
DoS 攻擊。消耗系統(tǒng)或網(wǎng)絡(luò)資源,導(dǎo)致資源不可用。
未授權(quán)訪問攻擊。探測計算機或網(wǎng)絡(luò)以發(fā)現(xiàn)漏洞;對報文進行嗅探或攔截,用于收集信息。
除此之外,還涌現(xiàn)出了一些針對工業(yè)物聯(lián)網(wǎng)典型場景的威脅。
物理攻擊。例如針對交通運輸物聯(lián)網(wǎng)的物理攻擊,對交通設(shè)備節(jié)點本身進行物理上的破壞,如斷電、移動節(jié)點位置等,造成信息缺失、信息泄露等。
感知數(shù)據(jù)破壞。非授權(quán)地增刪、修改或破壞感知數(shù)據(jù),例如針對新能源發(fā)電廠的電力物聯(lián)網(wǎng)生產(chǎn)數(shù)據(jù)篡改。
控制命令偽造攻擊。發(fā)送偽造的控制命令,從而達到破壞系統(tǒng)或惡意利用系統(tǒng)的目的,例如針對數(shù)控機床設(shè)備物聯(lián)網(wǎng)的控制命令偽造。
為了保護工業(yè)系統(tǒng)免受網(wǎng)絡(luò)攻擊,涌現(xiàn)出了各種安全措施,如加密通信數(shù)據(jù)、數(shù)據(jù)完整性校驗和訪問控制等方法,可以保護系統(tǒng)免受多種類型的攻擊。然而,即使這些安全措施已經(jīng)到位,攻擊者仍然可以成功地對系統(tǒng)發(fā)起攻擊,如惡意包注入和DDoS 攻擊等。因此,有必要對網(wǎng)絡(luò)進行異常檢測,以此來進一步保障工業(yè)系統(tǒng)的安全。
本節(jié)首先介紹了工業(yè)物聯(lián)網(wǎng)中存在的異常種類,進而詳細分析和梳理了現(xiàn)有的針對不同異常類別和不同應(yīng)用場景的異常檢測方法。
網(wǎng)絡(luò)攻擊以損害系統(tǒng)信息的機密性、完整性和資源的可用性為目標,通常以某種方式造成網(wǎng)絡(luò)運行偏離正常,表現(xiàn)出異常行為。因此,可以通過發(fā)現(xiàn)數(shù)據(jù)中不符合預(yù)期行為的模式來識別異常?,F(xiàn)階段IIoT中主要存在3 種異常[8]。
點異常。即個別數(shù)據(jù)實例相對于其余數(shù)據(jù)是異常的。例如,假設(shè)水溫傳感器值的預(yù)定義范圍是30℃~40℃,那么超出這個范圍的值將是一個異常點。
上下文異常。僅在特定上下文中表現(xiàn)異常的數(shù)據(jù)實例稱為上下文異常。這類異常多為空間數(shù)據(jù)或時序數(shù)據(jù)中的異常。
集合異常。如果相關(guān)數(shù)據(jù)實例的集合相對于整個數(shù)據(jù)集是異常的,則稱為集合異常。集合異常中的單個數(shù)據(jù)實例本身可能不是異常,但它們一起作為一個集合出現(xiàn)就是異常。例如,單個TCP 連接請求是正常的,但是連續(xù)從同一個源收到多個這種請求就有可能是DoS 攻擊,也就是異常。
網(wǎng)絡(luò)異常檢測是指檢測網(wǎng)絡(luò)流量數(shù)據(jù)中的異常,利用設(shè)備或軟件應(yīng)用程序?qū)W(wǎng)絡(luò)流量進行監(jiān)控和分析,從而檢測出惡意活動?,F(xiàn)有工業(yè)物聯(lián)網(wǎng)異常檢測方法可以分為基于系統(tǒng)不變性、物理狀態(tài)建模、統(tǒng)計學(xué)習(xí)、特征選擇、機器學(xué)習(xí)、邊緣/霧計算、圖、指紋以及生物免疫等算法的檢測方法。下面將針對每一種檢測方法的技術(shù)原理、現(xiàn)有研究成果、優(yōu)缺點及適用應(yīng)用場景做介紹梳理和深入分析。
系統(tǒng)不變性是指系統(tǒng)運行過程的“物理”或“化學(xué)”特性中的一個條件,每當(dāng)系統(tǒng)處于給定狀態(tài)時,必須滿足該條件。通過分析物理不變性來檢測異常已經(jīng)被應(yīng)用于許多網(wǎng)絡(luò)信息物理系統(tǒng)(CPS,cyber-physical system)[11-14]。文獻[11]將所有組件的穩(wěn)定性和正確性約束以邏輯不變性的形式表示出來,系統(tǒng)動作只有在保證不違反這些不變性時才能執(zhí)行。針對CPS 各個模塊的不變性,文獻[12]提出了統(tǒng)一不變性,開發(fā)了跨越系統(tǒng)各個層面的公共語義。然而,文獻[11-12]都是通過人工來產(chǎn)生物理不變性,開銷很大,且很容易出錯。為了解決這個問題,文獻[13]提出利用關(guān)聯(lián)規(guī)則挖掘算法自動識別系統(tǒng)不變性,該算法的優(yōu)點是可以發(fā)現(xiàn)隱藏在設(shè)計布局中的不變性,避免了手動尋找的煩瑣。但是,這項技術(shù)僅適用于成對出現(xiàn)的傳感器和執(zhí)行器,而在真實的CPS中,所有傳感器和執(zhí)行器都是跨多個過程協(xié)同工作的。也有一些使用機器學(xué)習(xí)算法來挖掘CPS 物理不變性的研究。例如,Momtazpour 等[14]采用預(yù)先發(fā)現(xiàn)潛在變量的外源性輸入自動回歸模型,以發(fā)現(xiàn)多個時間步內(nèi)無線傳感器數(shù)據(jù)之間的不變性。Chen 等[15]利用代碼變異程序生成異常數(shù)據(jù)軌跡,然后利用支持向量機(SVM,support vector machine)分類器和統(tǒng)計模型檢驗來發(fā)現(xiàn)安全水處理實驗臺傳感器數(shù)據(jù)之間的不變性。文獻[16]采用幾種機器學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù)的組合,系統(tǒng)地從工業(yè)控制系統(tǒng)(ICS,industrial control system)的操作日志以及執(zhí)行器的狀態(tài)信息生成不變性。
CPS 的底層過程一般由其工作原理控制,因此其過程狀態(tài)是可預(yù)測的?;谖锢砟P偷漠惓z測方法根據(jù)物理狀態(tài)對正常的物理操作進行建模,從而能夠從偏離物理操作模型的異常狀態(tài)中檢測到網(wǎng)絡(luò)攻擊。
文獻[17]提出了一個CPS 攻擊彈性框架。該框架利用已知物理領(lǐng)域的數(shù)學(xué)描述,以及預(yù)測值和歷史數(shù)據(jù)信息,驗證預(yù)測值和測量值之間的相關(guān)性。文獻[18]描述了如何使用流體動力學(xué)模型來檢測供水網(wǎng)絡(luò)的物理故障和網(wǎng)絡(luò)攻擊,并通過狀態(tài)和測量方程以及未知輸入來建模水系統(tǒng)。該模型能夠反映傳感器、執(zhí)行器故障或漏水等異常事件對系統(tǒng)的影響,但僅依靠建模物理模型來檢測網(wǎng)絡(luò)攻擊是不夠的,如果傳感器的測量值被破壞,則很難檢測到攻擊。為了識別攻擊者利用系統(tǒng)漏洞,注入合法的惡意控制命令來破壞電網(wǎng)的行為,文獻[19]提出結(jié)合電網(wǎng)物理基礎(chǔ)設(shè)施知識和網(wǎng)絡(luò)信息來檢測攻擊。該方法基于協(xié)議規(guī)范對數(shù)據(jù)包進行檢測,提取其中的關(guān)鍵控制命令,并通過電力系統(tǒng)運行方程進行仿真運行。通過仿真,對執(zhí)行控制命令所產(chǎn)生的系統(tǒng)狀態(tài)進行估計,并與可信度量進行比較,從而識別攻擊。文獻[20]提出了一種針對電力領(lǐng)域的基于模型的異常檢測算法。該算法驗證了接收到的測量數(shù)據(jù)與控制底層物理系統(tǒng)運行的方程所獲得的預(yù)測數(shù)據(jù)的一致性。文獻[21]描述了一種基于模型的方法來保護智能電網(wǎng)。該方法基于系統(tǒng)狀態(tài)動力學(xué)方程,評估系統(tǒng)狀態(tài),并與采集的測量值比較,檢測出受損的測量值。文獻[22]在一個水基礎(chǔ)設(shè)施實驗臺上測試了基于控制理論建模的故障檢測和基于網(wǎng)絡(luò)安全的異常檢測方法。結(jié)果表明,這2 種方法都能有效地檢測出故障和攻擊,但存在一定的局限性。在物理故障和網(wǎng)絡(luò)攻擊同時進行的實驗中,網(wǎng)絡(luò)攻擊者可以躲避控制理論建模方法的檢測。因此,將物理動態(tài)建模方法中的狀態(tài)估計與網(wǎng)絡(luò)安全方法中的數(shù)據(jù)分析相結(jié)合,是提高ICS 網(wǎng)絡(luò)安全的關(guān)鍵。
基于統(tǒng)計的異常檢測方法為數(shù)據(jù)集創(chuàng)建一個分布模型,并與目標數(shù)據(jù)對象相匹配。假設(shè)正常數(shù)據(jù)落在高概率區(qū)間,而異常數(shù)據(jù)相對落在低概率區(qū)間,根據(jù)目標數(shù)據(jù)集中數(shù)據(jù)落在模型中的概率來判斷是否異常。Rajasegarar 等[23-24]建立了2 種異常檢測模型:統(tǒng)計檢測模型和非參數(shù)檢測模型。這2 種模型可以應(yīng)用于不同的場景,其中前者適用于數(shù)據(jù)類型和采樣周期預(yù)先確定的應(yīng)用;而后者在沒有先驗知識的情況下,通過比較當(dāng)前數(shù)據(jù)和相鄰數(shù)據(jù)的行為識別異常。費歡等[25]提出一種多源數(shù)據(jù)異常檢測方法。該方法主要應(yīng)用于平臺空間,通過二維坐標的位置來確定2 個節(jié)點之間的關(guān)系。類似地,文獻[26]提出基于密度的模型,通過分析電數(shù)據(jù)來發(fā)現(xiàn)太陽能發(fā)電系統(tǒng)的異常行為。
另外,傳感器數(shù)據(jù)的時間和頻率屬性能夠為建立時頻邏輯提供有價值的信息。時域信號(均值、標準差或方差等)可以描述有關(guān)系統(tǒng)行為的某些信息。例如,基于頻率的信號特性(傅里葉變換、小波變換等)可以單獨或結(jié)合時域特征來理解系統(tǒng)的行為[27]。工業(yè)系統(tǒng)復(fù)雜而廣泛,大量的傳感器被用于監(jiān)控空間和物體,以為異常行為預(yù)測提供全面、多維度的運行數(shù)據(jù)。對于這種情況,基于相關(guān)性分析的方法[28]被證明可以更有效地識別異常。該方法能夠反映系統(tǒng)的真實表現(xiàn),因為這些相關(guān)性可以從物理上反映系統(tǒng)的運行機制和條件。表1 列出了基于統(tǒng)計學(xué)習(xí)方法的異常檢測在工業(yè)物聯(lián)網(wǎng)中的應(yīng)用。
異常檢測處理的數(shù)據(jù)是人工從復(fù)雜的網(wǎng)絡(luò)系統(tǒng)中提取出來的。這些數(shù)據(jù)一般具有高維、強冗余、低相關(guān)性等特點。直接使用原始數(shù)據(jù),檢測算法的性能會很差。而特征選擇的作用是從原始數(shù)據(jù)中選擇有用的特征,選出的特征具有更強的相關(guān)性、非冗余特性和更少的噪聲。這些特征可以幫助相關(guān)算法更高效、快速地區(qū)分、檢測和分類出不同的目標。因此許多研究者將其應(yīng)用于入侵檢測系統(tǒng)(IDS,intrusion detection system)的設(shè)計中,以提高檢測精度,減少檢測時間。
這些研究通常來自2 種觀點。一種是有效提取,如主成分分析(PCA,principal component analysis)。針對異常檢測系統(tǒng)耗時長、性能下降等問題,文獻[30]提出了一種混合的PCA 神經(jīng)網(wǎng)絡(luò)算法。該算法利用PCA 變換對特征降維,使訓(xùn)練時間減少約40%,測試時間減少約70%,同時還提高了檢測精度。文獻[31]基于核主成分分析和極限學(xué)習(xí)機(ELM,extreme learning machine)設(shè)計IDS。其中,核主成分分析用于特征矩陣降維。實驗結(jié)果表明,該系統(tǒng)比單純基于ELM 或者SVM 算法的IDS 效率更高,速度更快。類似地,文獻[32]提出一種增量ELM 與自適應(yīng)PCA 相結(jié)合的方法,該方法可以自適應(yīng)地選擇相關(guān)特征以獲得更高的精度。然而,所有這些方法都沒有減少原始數(shù)據(jù)的特征量,總的時間消耗仍然非常大。另一種是有效特征選擇,如遺傳算法和最大相關(guān)最小冗余算法。文獻[33-34]將特征選擇問題定義為組合優(yōu)化問題,提出基于局部搜索最優(yōu)解算法來選擇有效的特征子集,用于檢測“正?!焙汀癉oS”攻擊數(shù)據(jù)。雖然使用該算法選擇出的有效特征子集在檢測率和準確率方面都優(yōu)于使用全部特征集,但也帶來了較高的誤報率。文獻[35]提出了一種基于遺傳算法的特征選擇方法來設(shè)計IDS 以選擇最優(yōu)特征,采用單點交叉而不是兩點交叉優(yōu)化該遺傳算法的參數(shù)??傮w而言,其給出了更好的結(jié)果,但在某些情況下分類率會下降。Feng 等[36]提出基于K 近鄰和樹種子算法的IDS 模型來選擇特征,減少特征冗余,檢測效率有所提升但準確率沒有明顯的改善。
上述方法有一個共同的缺點,即選擇的特征具有一定的隨機性和不確定性,不能應(yīng)用于下次選擇。為了克服這個問題以及明確不同特征對異常檢測的影響,文獻[37]基于最大相關(guān)最小冗余特征選擇算法和SVM 分類方法進行了一系列實驗。另外,為了進一步選取有效的特征,文獻[38]結(jié)合群體智能算法和強化學(xué)習(xí),提出了一個名叫QBSO-FS 的特征選擇模型,實驗結(jié)果表明,該模型確實優(yōu)于傳統(tǒng)特征選擇算法。工業(yè)系統(tǒng)中基于特征選擇的異常檢測方法對比如表2 所示。
在工業(yè)系統(tǒng)中,機器學(xué)習(xí)方法(如貝葉斯網(wǎng)絡(luò)、k-means、ELM[39]、SVM、回歸等)已經(jīng)被成功用于識別和檢測工業(yè)物聯(lián)網(wǎng)中的異常行為[10]。除此之外,聚類[40-42]、隨機森林[43]、孤立森林[44]和隱馬爾可夫模型[45]等算法也取得了不錯的成績。表3 總結(jié)了工業(yè)系統(tǒng)中基于機器學(xué)習(xí)的異常檢測方法。
表3 工業(yè)系統(tǒng)中基于機器學(xué)習(xí)的異常檢測方法
單分類支持向量機(OCSVM,one class suport vector machine)是一種非常著名的異常檢測算法,被應(yīng)用于許多應(yīng)用領(lǐng)域中,它能夠?qū)W習(xí)可見數(shù)據(jù)的邊界,并將邊界之外的所有事件或數(shù)據(jù)點識別為系統(tǒng)異常行為[43,46-47]。為了進一步提升OCSVM 的性能,文獻[48]采用云灰狼優(yōu)化算法對OCSVM 參數(shù)進行優(yōu)化。實驗結(jié)果表明,該算法在一定程度上確實提高了模型的檢測精度。與文獻[48]的工作不同,文獻[49]提出 2 種將OCSVM 擴展到張量空間的異常檢測算法,即單分類支持塔克機和基于張量塔克分解以及遺傳算法的遺傳單分類支持塔克機。兩者都是針對傳感器大數(shù)據(jù)的無監(jiān)督異常檢測,保留了數(shù)據(jù)結(jié)構(gòu)信息的同時,提高了檢測的準確率和效率。
聚類方法以無監(jiān)督的方式將特征相似的對象歸為一組,經(jīng)過這種自動分組后,如果新的數(shù)據(jù)點不能被放入預(yù)定義的集群(組)中,則系統(tǒng)會將該數(shù)據(jù)點判為異常情況并生成警報[40,42]。梯度提升樹是一種集成學(xué)習(xí)分類器,文獻[50]用其檢測風(fēng)力機螺栓斷裂問題的早期異常。該算法首先生成多棵決策樹,然后綜合所有樹的結(jié)果從而做出最終決策。梯度提升樹有個令人不容忽視的缺點,即不能處理海量數(shù)據(jù)。為了解決這個問題,文獻[51]提出結(jié)合輕量級梯度提升機和貝葉斯優(yōu)化來檢測工業(yè)網(wǎng)絡(luò)流量中的異常。該方法在提高檢測效率和準確率的同時,減少了人工對模型訓(xùn)練的參與度。
然而,機器學(xué)習(xí)方法有以下3 個局限性:1)性能很大程度上依賴所采用的特征工程技術(shù)的穩(wěn)健性,限制了穩(wěn)定性;2)應(yīng)用于大規(guī)模高維數(shù)據(jù)時,性能會嚴重惡化;3)學(xué)習(xí)能力不夠強,無法應(yīng)對工業(yè)物聯(lián)網(wǎng)環(huán)境中數(shù)據(jù)(網(wǎng)絡(luò)攻擊)的動態(tài)性。
2.6.1 深度學(xué)習(xí)方法
深度學(xué)習(xí)(DL,deep learning)是一種具有自動學(xué)習(xí)能力的智能算法,是機器學(xué)習(xí)的一個分支。由于DL 對任何特征工程的獨立性、對動態(tài)環(huán)境的適應(yīng)性以及強大的學(xué)習(xí)能力(特別是從高維數(shù)據(jù)中),其很快成為解決上述局限性的新的學(xué)習(xí)范式。各種各樣的DL 方法已經(jīng)成功應(yīng)用于異常和入侵檢測,如卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)[52-53]、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,recurrent neural network)[54-56]、生成對抗網(wǎng)絡(luò)(GAN,generative adversarial network)[57-59]、脈沖神經(jīng)網(wǎng)絡(luò)[60]、粒子深框架[61]和長短期記憶(LSTM,long short-term memory)網(wǎng)絡(luò)[56,62-66]。Ferrag 等[53]對CNN、RNN和深度神經(jīng)網(wǎng)絡(luò)(DNN,deep neural network)進行了入侵檢測研究,并對它們在不同配置下的性能進行了對比分析。Bhuvaneswari 等[67]在基于霧的物聯(lián)網(wǎng)中引入向量卷積構(gòu)建入侵檢測系統(tǒng)。但是,CNN 有一個讓人無法忽視的缺點,即無法學(xué)習(xí)物聯(lián)網(wǎng)流量的長時依賴特征,而這正是LSTM 網(wǎng)絡(luò)的優(yōu)勢。因此,Saharkhizan 等[68]提出使用LSTM 來學(xué)習(xí)時序數(shù)據(jù)之間的依賴關(guān)系。該研究使用一個LSTM 集合作為檢測器,將該檢驗器的輸出合并成決策樹,最終進行分類。
然而,這些模型的計算成本很高。為了解決這個問題,Liaqat 等[69]提出了一個整合CNN和Cuda DNN LSTM 的方案,該方案能夠及時有效地檢測出醫(yī)療物聯(lián)網(wǎng)環(huán)境中的復(fù)雜惡意僵尸網(wǎng)絡(luò)。
文獻[70]提出了一種壓縮卷積變分自動編碼器,用于IIoT中時間序列數(shù)據(jù)的異常檢測。該方法減少了模型的大小和推理的時間,但是分類性能基本上沒有提升。研究了卷積神經(jīng)網(wǎng)絡(luò)在工業(yè)控制系統(tǒng)異常檢測的應(yīng)用后,文獻[52]提出了一種基于測量預(yù)測值與觀測值的統(tǒng)計偏差的異常檢測方法,并指出一維卷積網(wǎng)絡(luò)在工業(yè)控制系統(tǒng)的異常檢測方面優(yōu)于循環(huán)神經(jīng)網(wǎng)絡(luò)。從網(wǎng)絡(luò)包內(nèi)容分析的角度出發(fā),文獻[66]提出了簽名+LSTM 的多層異常檢測方法。其首先開發(fā)了一個數(shù)據(jù)包的基準簽名數(shù)據(jù)庫,并用布魯姆過濾器存儲該簽名數(shù)據(jù)庫同時檢測包異常,然后將該簽名數(shù)據(jù)庫作為數(shù)據(jù)源輸入LSTM中,來進行時間序列的異常檢測。為了保護集成電路免受網(wǎng)絡(luò)攻擊,文獻[71]采用2 種異常檢測算法來做異常檢測,一個是傳統(tǒng)機器學(xué)習(xí)算法k-means,另一個是卷積自編碼算法,并取2 種算法結(jié)果的邏輯與來作為最終的檢測結(jié)果。但是該方法在特征選擇時,沒有采用專有的特征選擇算法,僅僅通過人工過濾掉了不產(chǎn)生影響的屬性。另外,為了保護IIoT 系統(tǒng)免受勒索軟件攻擊,文獻[72]提出了一種基于堆疊變分自編碼的檢測模型,該模型具有一個全連接神經(jīng)網(wǎng)絡(luò),能夠?qū)W習(xí)系統(tǒng)活動的潛在結(jié)構(gòu),并揭示勒索軟件的行為。為了提高檢測的準確率和降低出錯率,文獻[73]利用深度學(xué)習(xí)自編碼器結(jié)合編碼層的系數(shù)懲罰和重構(gòu)損失來提取高維數(shù)據(jù)特征,然后使用極限學(xué)習(xí)機(ELM,extreme learning machine)對提取的特征進行快速有效的分類。文獻[59]提出一種基于雙向生成對抗網(wǎng)絡(luò)(BiGAN,bidirectional-GAN)的ICS 入侵檢測策略。為了提高BiGAN 模型在ICS 入侵檢測中的適應(yīng)性,該研究通過單變量原理和交叉驗證得到了最優(yōu)模型。針對循環(huán)DL 模型不能并行化且難以處理長流量序列的問題,文獻[74]設(shè)計了基于取證的深度學(xué)習(xí)模型,該模型使用局部門控制循環(huán)單元學(xué)習(xí)局部特征,并引入多頭注意力機制來捕獲和學(xué)習(xí)全局表示(即長期依賴)。文獻[75]設(shè)計了一個雙向多特征層的長短時記憶網(wǎng)絡(luò)。文獻[76]基于深度隨機神經(jīng)網(wǎng)絡(luò)設(shè)計了入侵檢測方案,在訓(xùn)練過程中,其選擇了數(shù)據(jù)集的41 個最顯著的特征。文獻[77]提出了基于孿生卷積神經(jīng)網(wǎng)絡(luò)的少樣本學(xué)習(xí)模型,以緩解ICPS中的過擬合問題,同時提高了智能異常檢測的準確率。表4 展示了工業(yè)系統(tǒng)中的基于深度學(xué)習(xí)的異常檢測研究成果。
表4 工業(yè)系統(tǒng)中的基于深度學(xué)習(xí)的異常檢測研究成果
2.6.2 聯(lián)邦學(xué)習(xí)方法
聯(lián)邦學(xué)習(xí)是一種機器學(xué)習(xí)框架,能有效幫助多個機構(gòu)在滿足用戶隱私保護、數(shù)據(jù)安全等要求下,進行數(shù)據(jù)使用和機器學(xué)習(xí)建模。近年來,為了在異常檢測的過程中不泄露用戶的隱私,聯(lián)邦學(xué)習(xí)在工業(yè)物聯(lián)網(wǎng)中的應(yīng)用引起了學(xué)術(shù)界和產(chǎn)業(yè)界的極大興趣。
為了保護用戶的隱私數(shù)據(jù),Liu 等[78]將聯(lián)邦學(xué)習(xí)與深度異常檢測相結(jié)合,建立具有LSTM 的卷積神經(jīng)網(wǎng)絡(luò)模型,同時在聯(lián)邦學(xué)習(xí)的過程中利用基于Top-k 選擇的梯度壓縮機制降低通信代價以及提高通信質(zhì)量。2021 年,Liu 等[79]在文獻[78]的基礎(chǔ)上引入注意力機制,進一步提高了異常檢測的準確率。Li 等[80]基于卷積神經(jīng)網(wǎng)絡(luò)和門控遞歸單元設(shè)計了聯(lián)邦深度學(xué)習(xí)方案。該方案允許多個工業(yè)CPS 以隱私保護的方式共同構(gòu)建一個綜合性的入侵檢測模型,并利用Paillier 加密機制保護訓(xùn)練過程中模型參數(shù)的安全性和隱私性。值得一提的是,該模型僅適用于同域工業(yè)CPS。文獻[81]提出了一種聯(lián)邦深度強化學(xué)習(xí)異常檢測算法,即利用聯(lián)邦學(xué)習(xí)技術(shù),建立一個通用的異常檢測模型,然后采用深度強化學(xué)習(xí)算法訓(xùn)練每個局部模型。由于聯(lián)邦學(xué)習(xí)過程中不需要局部數(shù)據(jù)集,減少了隱私泄露的機會。此外,通過在異常檢測設(shè)計中引入隱私泄露程度和動作關(guān)系,提高了檢測精度。表5 總結(jié)了聯(lián)邦學(xué)習(xí)在工業(yè)異常檢測中的研究成果。
表5 聯(lián)邦學(xué)習(xí)在工業(yè)異常檢測中的研究成果
深度神經(jīng)網(wǎng)絡(luò)的進展極大地支持異常物聯(lián)網(wǎng)數(shù)據(jù)的實時檢測。然而,由于計算能力和能源供應(yīng)有限,物聯(lián)網(wǎng)設(shè)備幾乎負擔(dān)不起復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)模型。雖然可以將異常檢測的任務(wù)轉(zhuǎn)移到云上,但當(dāng)數(shù)千個物聯(lián)網(wǎng)設(shè)備同時將數(shù)據(jù)傳到云上時,會導(dǎo)致時延和網(wǎng)絡(luò)擁塞。
一種新興架構(gòu)——霧(邊緣)計算的出現(xiàn),解決了上述問題。該架構(gòu)旨在通過將計算、通信、存儲和分析等資源密集型功能轉(zhuǎn)移到終端用戶來減輕云和核心網(wǎng)絡(luò)的網(wǎng)絡(luò)負擔(dān)。霧計算系統(tǒng)能夠處理對時間要求嚴格的物聯(lián)網(wǎng)的能源效率和時延敏感型應(yīng)用,如工廠的火災(zāi)報警系統(tǒng)、地下采礦環(huán)境等,都需要快速檢測出異常。因此,涌現(xiàn)出許多基于霧(邊緣)計算的異常檢測框架[82-84]。文獻[85]針對數(shù)據(jù)異常檢測的準確性和時效性,提出了一種基于層次邊緣計算(HEC,hierarchical edge computing)模型的多源多維數(shù)據(jù)異常檢測方案。該研究首先提出了HEC 模型,來實現(xiàn)傳感器端和基站端負載均衡和低時延數(shù)據(jù)處理;然后設(shè)計了一種基于模糊理論的單源數(shù)據(jù)異常檢測算法,該算法能夠綜合分析多個連續(xù)時刻的異常檢測結(jié)果。針對工業(yè)物聯(lián)網(wǎng)終端設(shè)備中數(shù)據(jù)量大的問題,文獻[86]先采用邊緣計算對傳感器數(shù)據(jù)進行壓縮優(yōu)化(即預(yù)處理),進而利用k-means 聚類算法對處理后數(shù)據(jù)的離群值進行判斷。然而,壓縮技術(shù)會造成數(shù)據(jù)信息的損失,可能影響檢測精度。因此,需要權(quán)衡好壓縮率與檢測精度的關(guān)系。
與文獻[84-85]類似,文獻[87]同樣基于HEC提出了自適應(yīng)異常檢測方法。首先,構(gòu)建了3 個復(fù)雜度不斷增加的DNN 異常檢測模型,并將其與HEC 的三層(物聯(lián)網(wǎng)設(shè)備、邊緣服務(wù)器、云)自下而上關(guān)聯(lián)。然后,根據(jù)輸入數(shù)據(jù)的上下文信息自適應(yīng)地選擇合適的模型進行異常檢測。表6 展示了工業(yè)物聯(lián)網(wǎng)中基于云計算、邊緣計算和霧計算的異常檢測方法。從表6中可以看出,雖然文獻[87]的準確率和F1 得分略低于文獻[84],但平均時延大幅度降低了。由此可知其必然是犧牲了部分的精度來獲得較小的檢測時延。
表6 工業(yè)物聯(lián)網(wǎng)中基于云計算、邊緣計算和霧計算的異常檢測方法
基于自適應(yīng)圖更新模型,文獻[88]引入一種新的邊緣計算環(huán)境中的異常檢測方法。在云中心,利用深度學(xué)習(xí)模型對未知模式進行分類,根據(jù)分類結(jié)果定期更新特征圖,不斷地將分類結(jié)果傳輸?shù)矫總€邊緣節(jié)點,利用緩存暫時保存新出現(xiàn)的異常或正常模式,直到邊緣節(jié)點接收到新的更新的特征圖。
基于圖的異常檢測在醫(yī)療保健、網(wǎng)絡(luò)、金融和保險等各個領(lǐng)域都有應(yīng)用。由于來自網(wǎng)絡(luò)、電子郵件、電話等的數(shù)據(jù)相互依賴,使用圖表檢測異常變得越來越流行。文獻[89]提出了一種基于知識圖譜的工業(yè)物聯(lián)網(wǎng)移動設(shè)備異常檢測方法,并利用可視化技術(shù)對檢測結(jié)果進行演示。具體地,作者使用優(yōu)化后的基于頻繁項集的數(shù)據(jù)挖掘算法對數(shù)據(jù)進行分析,使提出的方法能夠準確地檢測出不同類型的并發(fā)攻擊。另外,作者還設(shè)計了可以將結(jié)果多維度可視化的異常告警模塊,幫助非專業(yè)用戶在工業(yè)領(lǐng)域充分了解網(wǎng)絡(luò)安全情況。
文獻[90-91]引入了一種新的基于圖的異常檢測方法,并將背景知識添加到傳統(tǒng)圖挖掘方法的評價指標中。背景知識以規(guī)則覆蓋的形式添加,報告子結(jié)構(gòu)實例覆蓋了最終圖的百分比。由于人們認為異常不會頻繁出現(xiàn),因此作者假定,通過為規(guī)則覆蓋分配負權(quán)值,可以發(fā)現(xiàn)異常的子結(jié)構(gòu)。該方法在不損失精度的同時,大大降低了檢測時間。表7 介紹了工業(yè)物聯(lián)網(wǎng)中基于圖的異常檢測方法的研究成果。
表7 工業(yè)物聯(lián)網(wǎng)中基于圖的異常檢測方法的研究成果
指紋識別技術(shù)被廣泛應(yīng)用在人們生活的方方面面,如企業(yè)考勤、智能小區(qū)等。另一方面,越來越多的無線智能設(shè)備被應(yīng)用到ICS 網(wǎng)絡(luò)中,由于設(shè)備的計算和存儲能力較弱,使用常規(guī)的加密方法和安全補丁來提高ICS 網(wǎng)絡(luò)中遺留設(shè)備的安全水平幾乎是不可能的。因此,指紋識別技術(shù)的高度成功吸引了許多安全領(lǐng)域研究者的目光。已經(jīng)有許多人將指紋技術(shù)的思想運用到檢測ICS 網(wǎng)絡(luò)的異常工作中。文獻[92]提出2 種設(shè)備類型指紋方法,來增強現(xiàn)有ICS 環(huán)境下的入侵檢測方法。方法1 利用ICS 網(wǎng)絡(luò)的靜態(tài)和低時延等特征建立設(shè)備指紋,方法2 采用物理操作時間為每個設(shè)備類型開發(fā)一個唯一的簽名。文獻[93]提出了一種混合增強設(shè)備指紋的方法,利用程序流程的簡單性和硬件配置的穩(wěn)定性,通過過濾掉異常數(shù)據(jù)包,來實現(xiàn)ICS 網(wǎng)絡(luò)中的異常檢測。為了消除對信號周期性的依賴,文獻[94]設(shè)計了一種不考慮周期性的異構(gòu)工業(yè)物聯(lián)網(wǎng)設(shè)備指紋識別算法。該算法從信號傳輸?shù)臅r間序列中提取模式,然后通過聚類得到的模式來學(xué)習(xí)設(shè)備的指紋。文獻[95]提出一種稱為過程傾斜的技術(shù),該技術(shù)利用ICS 過程中的小偏差(稱為工藝(process)指紋)進行異常檢測。表8 展示了工業(yè)物聯(lián)網(wǎng)中基于指紋的異常檢測的研究成果。
基于異常的入侵檢測技術(shù)通常假陽性很高,這使一些學(xué)者將目光轉(zhuǎn)向其他領(lǐng)域以尋求突破。人工免疫系統(tǒng)(AIS,artificial immune system)是一類生物啟發(fā)計算方法,出現(xiàn)在20 世紀90 年代,連接了不同的領(lǐng)域,如免疫學(xué)、計算機科學(xué)和工程。
基于AIS 的IDS 通常被用作異常檢測系統(tǒng)。文獻[96]在生物免疫系統(tǒng)的啟發(fā)下,提出了一種基于多智能體系統(tǒng)的入侵檢測新模型,該模型集成在網(wǎng)絡(luò)上的分布式代理行為中,以確保良好的入侵檢測性能。文獻[97]基于確定性樹突細胞算法(DDCA,deterministic dendritic cell algorithm)設(shè)計了用于工業(yè)場景的入侵檢測算法,該算法利用上下文與抗原之間的相關(guān)性作為異常檢測的基礎(chǔ)。DDCA 的分類性能很大程度上依賴于特征選擇過程,高度相關(guān)的特征導(dǎo)致近似完美的分類,反之,相關(guān)性較差的特征在DDCA 分類過程中會帶來非常負面的影響。為了能夠?qū)崟r檢測異常,文獻[98]基于分層時間記憶網(wǎng)絡(luò),構(gòu)建了在線序列記憶算法。該分層時間記憶網(wǎng)絡(luò)不斷學(xué)習(xí)和建模輸入數(shù)據(jù)的時空特性,通過預(yù)測輸入和實際輸入之間的差異來更新其突觸連接。學(xué)習(xí)發(fā)生在每個時間步,但由于表示非常稀疏,因此只有小部分突觸被更新,大大節(jié)省了訓(xùn)練時間。
上文詳細介紹了工業(yè)物聯(lián)網(wǎng)領(lǐng)域的9 種異常檢測方法。為了更加直觀地比較各種的算法,本文進而介紹了每種檢測方法的優(yōu)缺點以及現(xiàn)有研究成果,如表9 所示。
表1~表8 列舉了對應(yīng)技術(shù)下工業(yè)物聯(lián)網(wǎng)中具有代表性的異常檢測技術(shù)的研究,包括使用的數(shù)據(jù)集以及被引次數(shù)。統(tǒng)計表1~表8中數(shù)據(jù)集出現(xiàn)的頻率可以發(fā)現(xiàn),研究者比較常用的數(shù)據(jù)集有4 個,即SWAT、NSL-KDD、UNSW-NB15 以及KDD Cup 99數(shù)據(jù)集。除此之外,還有許多優(yōu)秀的數(shù)據(jù)集可用于異常檢測的研究,這些數(shù)據(jù)集的詳細信息如表10所示。
表8 工業(yè)物聯(lián)網(wǎng)中基于指紋的異常檢測的研究成果
表9 每種檢測方法的優(yōu)缺點以及現(xiàn)有研究成果
表10 工業(yè)物聯(lián)網(wǎng)中用于異常檢測的公共數(shù)據(jù)集
工業(yè)物聯(lián)網(wǎng)的安全是大趨勢,隨著終端設(shè)備存儲和計算能力的增加,終端設(shè)備將來必然擁有獨立的操作系統(tǒng),安全問題隨之而來。未來,終端的智能性、自主性、互聯(lián)的依賴性都會增加,工業(yè)物聯(lián)網(wǎng)的安全問題會越來越嚴重。這些安全問題之間也存在依賴性以及相互影響的問題,同時,工業(yè)物聯(lián)網(wǎng)也可能作為危險的翹板,蔓延到其他領(lǐng)域,如互聯(lián)網(wǎng)。因此,對工業(yè)物聯(lián)網(wǎng)的異常檢測勢在必行。
從上文的分析中可以發(fā)現(xiàn),針對工業(yè)物聯(lián)網(wǎng)異常檢測,機器學(xué)習(xí)和深度學(xué)習(xí)等算法應(yīng)用較廣泛;而基于霧計算、知識圖譜、生物免疫、聯(lián)邦學(xué)習(xí)等的研究則略顯不足。
在工業(yè)系統(tǒng)中,穩(wěn)健的、性能良好的異常檢測方法對于降低系統(tǒng)宕機的可能性至關(guān)重要。雖然當(dāng)前已經(jīng)存在許多研究成果,但是,仍然有許多值得研究的方向。
1)可視化檢測結(jié)果。當(dāng)前的研究只關(guān)注異常檢測方案本身,檢測結(jié)果需要專業(yè)人士解讀,不方便非專業(yè)人士閱讀;另外,可視化結(jié)果還能幫助非專業(yè)人士在工業(yè)領(lǐng)域充分了解網(wǎng)絡(luò)安全情況。
2)混合架構(gòu)。由于工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)具有大量、高維、強冗余、低相關(guān)性、環(huán)境噪聲等復(fù)雜性,直接使用原始數(shù)據(jù),模型的訓(xùn)練時間和檢測性能都不容樂觀。因此,將特征選擇、知識圖譜和深度學(xué)習(xí)等知識結(jié)合是一個趨勢。一方面,特征選擇算法能夠選擇強相關(guān)的特征,降低數(shù)據(jù)的冗余和噪聲;另一方面,深度學(xué)習(xí)由于其強大的自學(xué)習(xí)能力,能夠精準地識別出異常。
3)深度學(xué)習(xí)方法尚未涵蓋多個領(lǐng)域,因此有必要重新審視不同領(lǐng)域異常檢測的問題,如SCADA、智能電網(wǎng)、5G和眾多物聯(lián)網(wǎng)平臺,這些平臺已經(jīng)存在傳統(tǒng)機器學(xué)習(xí)等異常檢測方法。對不同領(lǐng)域的可擴展性需要真正反映目標環(huán)境的數(shù)據(jù)集,才能取得更好的效果。
4)一旦工業(yè)系統(tǒng)遭受攻擊,將會造成嚴重的損失。因此,有必要在異常行為損害工業(yè)系統(tǒng)前,對可能發(fā)生的異常進行預(yù)測和警告,并提供預(yù)防性解決方案。
多年來,異常檢測一直是一個活躍的研究領(lǐng)域,得到了各個應(yīng)用領(lǐng)域研究者的廣泛關(guān)注。識別異常行為可以降低功能風(fēng)險,避免系統(tǒng)宕機和其他難以預(yù)料的問題。本文盡可能全面地搜集了現(xiàn)有工業(yè)物聯(lián)網(wǎng)中異常檢測的研究工作,按照實現(xiàn)原理的角度,對現(xiàn)有工業(yè)物聯(lián)網(wǎng)中的異常檢測方法進行了歸類分析。這些信息可以幫助研究者對最新提出的異常檢測算法及其概要信息產(chǎn)生宏觀認知。另外,還需要進一步研究新的智能檢測和預(yù)測技術(shù),來實時處理復(fù)雜工業(yè)系統(tǒng)產(chǎn)生的各種數(shù)據(jù)流,做到實時健康態(tài)勢感知、異常檢測、風(fēng)險預(yù)警和及時預(yù)防。