時間:2022年03月28日 分類:電子論文 次數:
摘 要:針對不同異常檢測方法的差異及應用于工業物聯網(IIOT)安全防護的適用性問題,從技術原理出發,調研分析 2000—2021 年發表的關于網絡異常檢測的論文,總結了工業物聯網面臨的安全威脅,歸納了 9 種網絡異常檢測方法及其特點,通過縱向對比梳理了不同方法的優缺點和適用工業物聯網場景。另外,對常用數據集做了統計分析和對比,并從 4 個方向對未來發展趨勢做展望。分析結果可以指導按應用場景選擇適配方法,發現待解決關鍵問題并為后續研究指明方向。
關鍵詞:工業物聯網;異常檢測;網絡入侵;網絡攻擊
引言
隨著 5G 通信技術的快速發展,以及傳感器和處理器等嵌入式設備的計算和存儲能力不斷增加,這些網絡通信和嵌入式設備在工業系統中的應用越來越普遍。工業物聯網(IIoT, industrialInternet of things)是由應用程序、軟件系統和物理設備三者組成的大型網絡,這三者與外部環境以及人類之間進行通信和共享智能[1]。據埃森哲預測,到 2030 年,美國的工業物聯網價值將出到7.1 萬億美元,對歐洲而言價值將超過 1.2 萬億美元[2]。在這波工業發展浪潮中,物聯網安全是影響工業物聯網廣泛使用的最大因素之一。
物聯網論文范例:物聯網計算機網絡安全與遠程控制技術分析
事實上,物聯網設備的安全性通常很差,因此很容易成為攻擊者的目標。攻擊者利用這些設備可以進行毀滅性的網絡攻擊,如分布式拒絕服務(DDoS, distributeddenial of service)[3 4]。傳統的工業環境在過去一直遭受攻擊,有的還造成了災難性的后果(例如,震網病毒[5]或故障超馳/工業破壞者[6])。因此,如果沒有安全性,工業物聯網將永遠無法發揮其全部潛力。另外,工業系統對性能和可用性有嚴格的要求,即使系統受到網絡攻擊,維護系統不間斷和安全地運行也常常是最優先考慮的。異常檢測在防御系統和網絡的惡意活動中是至關重要的。近年來,為了緩解網絡攻擊,工業物聯網異常檢測方面的研究迅速增多,許多檢測機制被提出。
另一方面,在異常檢測方面研究者已經從技術手段、應用場景等方面做了一些調研工作,如文獻[7 10],但這些工作很少專門針對工業物聯網的特性和適用性進行深入剖析。近兩年,雖然出現了針對工業物聯網異常檢測的綜述性文章,但介紹的都不夠全面。例如,文獻[2]只介紹了基于系統規則、建模系統物理狀態的檢測方法,文獻[4]則只介紹了基于統計和機器學習的檢測方法。除了文獻[2,4]提到的檢測方法之外,還存在許多新穎的檢測技術。
因此,本文從技術原理的角度,梳理了基于系統不變性和物理狀態的建模、基于統計學習、特征選擇、機器學習、圖、邊緣/霧計算、指紋、生物免疫等算法的異常檢測技術,并詳細分析了各類技術的優缺點。由于用于工業異常檢測研究的數據集繁雜且多樣,本文詳細歸納了常用數據集的特點及其使用頻率,方便讀者對比和選擇。除此之外,本文針對工業物聯網典型場景的網絡威脅和異常檢測方法進行調研和綜述,介紹了邊緣/霧計算方法在異常檢測方面的應用,增加了對 2021 年最新論文的調研,對不同檢測方法的特點和適用場景進行了深入分析。
1 工業物聯網面臨的安全威脅工業
4.0 將信息通信技術應用于工業制造和自動化領域,極大地提高了生產力和效率。然而,這一進步的代價是擴大了工業系統的受攻擊面。針對工業物聯網的攻擊,可以分為被動攻擊和主動攻擊。被動攻擊是隱蔽的,通常無法檢測到,如竊聽和流量分析。
主動攻擊包括丟包、回注、干擾網絡的正常運行等。惡意軟件感染、拒絕服務(DoS, denial ofservice)、未授權訪問和虛假數據包注入等主動攻擊通常是可以檢測到的[9]。下面簡要總結幾種主動攻擊的特點和目標。惡意包注入攻擊。重放抓包,發送偽造或篡改的報文,以達到干擾或破壞系統操作的目的。DoS 攻擊。消耗系統或網絡資源,導致資源不可用。未授權訪問攻擊。探測計算機或網絡以發現漏洞;對報文進行嗅探或攔截,用于收集信息。除此之外,還涌現出了一些針對工業物聯網典型場景的威脅。物理攻擊。例如針對交通運輸物聯網的物理攻擊,對交通設備節點本身進行物理上的破壞,如斷電、移動節點位置等,造成信息缺失、信息泄露等。
感知數據破壞。非授權地增刪、修改或破壞感知數據,例如針對新能源發電廠的電力物聯網生產數據篡改。控制命令偽造攻擊。發送偽造的控制命令,從而達到破壞系統或惡意利用系統的目的,例如針對數控機床設備物聯網的控制命令偽造。為了保護工業系統免受網絡攻擊,涌現出了各種安全措施,如加密通信數據、數據完整性校驗和訪問控制等方法,可以保護系統免受多種類型的攻擊。然而,即使這些安全措施已經到位,攻擊者仍然可以成功地對系統發起攻擊,如惡意包注入和DDoS 攻擊等。因此,有必要對網絡進行異常檢測,以此來進一步保障工業系統的安全。
2 工業物聯網異常檢測
本節首先介紹了工業物聯網中存在的異常種類,進而詳細分析和梳理了現有的針對不同異常類別和不同應用場景的異常檢測方法。
2.1 異常種類
網絡攻擊以損害系統信息的機密性、完整性和資源的可用性為目標,通常以某種方式造成網絡運行偏離正常,表現出異常行為。因此,可以通過發現數據中不符合預期行為的模式來識別異常。現階段 IIoT 中主要存在 3 種異常[8]。點異常。即個別數據實例相對于其余數據是異常的。例如,假設水溫傳感器值的預定義范圍是 30~40℃,那么超出這個范圍的值將是一個異常點。上下文異常。僅在特定上下文中表現異常的數據實例稱為上下文異常。這類異常多為空間數據或時序數據中的異常。集合異常。
如果相關數據實例的集合相對于整個數據集是異常的,則稱為集合異常。集合異常中的單個數據實例本身可能不是異常,但它們一起作為一個集合出現就是異常。例如,單個 TCP 連接請求是正常的,但是連續從同一個源收到多個這種請求就有可能是 DoS 攻擊,也就是異常。網絡異常檢測是指檢測網絡流量數據中的異常,利用設備或軟件應用程序對網絡流量進行監控和分析,從而檢測出惡意活動。現有工業物聯網異常檢測方法可以分為基于系統不變性、物理狀態建模、統計學習、特征選擇、機器學習、邊緣/霧計算、圖、指紋以及生物免疫等算法的檢測方法。下面將針對每一種檢測方法的技術原理、現有研究成果、優缺點及適用應用場景做介紹梳理和深入分析。
2.2 基于系統不變性的檢測方法
系統不變性是指系統運行過程的“物理”或“化學”特性中的一個條件,每當系統處于給定狀態時,必須滿足該條件。通過分析物理不變性來檢測異常已經被應用于許多網絡信息物理系統(CPS, cyber physical system)[11 14]。文獻[11]將所有組件的穩定性和正確性約束以邏輯不變性的形式表示出來,系統動作只有在保證不違反這些不變性時才能執行。
針對 CPS 各個模塊的不變性,文獻[12]提出了統一不變性,開發了跨越系統各個層面的公共語義。然而,文獻[11 12]都是通過人工來產生物理不變性,開銷很大,且很容易出錯。為了解決這個問題,文獻[13]提出利用關聯規則挖掘算法自動識別系統不變性,該算法的優點是可以發現隱藏在設計布局中的不變性,避免了手動尋找的煩瑣。但是,這項技術僅適用于成對出現的傳感器和執行器,而在真實的 CPS 中,所有傳感器和執行器都是跨多個過程協同工作的。也有一些使用機器學習算法來挖掘 CPS 物理不變性的研究。
例如,Momtazpour 等[14]采用預先發現潛在變量的外源性輸入自動回歸模型,以發現多個時間步內無線傳感器數據之間的不變性。Chen 等[15]利用代碼變異程序生成異常數據軌跡,然后利用支持向量機(SVM, support vector machine)分類器和統計模型檢驗來發現安全水處理實驗臺傳感器數據之間的不變性。文獻[16]采用幾種機器學習和數據挖掘技術的組合,系統地從工業控制系統(ICS, industrialcontrol system)的操作日志以及執行器的狀態信息生成不變性。
2.3 基于物理狀態建模的檢測方法
CPS 的底層過程一般由其工作原理控制,因此其過程狀態是可預測的。基于物理模型的異常檢測方法根據物理狀態對正常的物理操作進行建模,從而能夠從偏離物理操作模型的異常狀態中檢測到網絡攻擊。文獻[17]提出了一個 CPS 攻擊彈性框架。該框架利用已知物理領域的數學描述,以及預測值和歷史數據信息,驗證預測值和測量值之間的相關性。文獻[18]描述了如何使用流體動力學模型來檢測供水網絡的物理故障和網絡攻擊,并通過狀態和測量方程以及未知輸入來建模水系統。
該模型能夠反映傳感器、執行器故障或漏水等異常事件對系統的影響,但僅依靠建模物理模型來檢測網絡攻擊是不夠的,如果傳感器的測量值被破壞,則很難檢測到攻擊。為了識別攻擊者利用系統漏洞,注入合法的惡意控制命令來破壞電網的行為,文獻[19]提出結合電網物理基礎設施知識和網絡信息來檢測攻擊。該方法基于協議規范對數據包進行檢測,提取其中的關鍵控制命令,并通過電力系統運行方程進行仿真運行。通過仿真,對執行控制命令所產生的系統狀態進行估計,并與可信度量進行比較,從而識別攻擊。
文獻[20]提出了一種針對電力領域的基于模型的異常檢測算法。該算法驗證了接收到的測量數據與控制底層物理系統運行的方程所獲得的預測數據的一致性。文獻[21]描述了一種基于模型的方法來保護智能電網。該方法基于系統狀態動力學方程,評估系統狀態,并與采集的測量值比較,檢測出受損的測量值。文獻[22]在一個水基礎設施實驗臺上測試了基于控制理論建模的故障檢測和基于網絡安全的異常檢測方法。結果表明,這 2 種方法都能有效地檢測出故障和攻擊,但存在一定的局限性。在物理故障和網絡攻擊同時進行的實驗中,網絡攻擊者可以躲避控制理論建模方法的檢測。因此,將物理動態建模方法中的狀態估計與網絡安全方法中的數據分析相結合,是提高 ICS 網絡安全的關鍵。
2.4 基于統計學習的檢測方法
基于統計的異常檢測方法為數據集創建一個分布模型,并與目標數據對象相匹配。假設正常數據落在高概率區間,而異常數據相對落在低概率區間,根據目標數據集中數據落在模型中的概率來判斷是否異常。Rajasegarar 等[23 24]建立了 2 種異常檢測模型:統計檢測模型和非參數檢測模型。
這 2 種模型可以應用于不同的場景,其中前者適用于數據類型和采樣周期預先確定的應用;而后者在沒有先驗知識的情況下,通過比較當前數據和相鄰數據的行為識別異常。費歡等[25]提出一種多源數據異常檢測方法。該方法主要應用于平臺空間,通過二維坐標的位置來確定 2 個節點之間的關系。類似地,文獻[26]提出基于密度的模型,通過分析電數據來發現太陽能發電系統的異常行為。另外,傳感器數據的時間和頻率屬性能夠為建立時頻邏輯提供有價值的信息。時域信號(均值、標準差或方差等)可以描述有關系統行為的某些信息。
例如,基于頻率的信號特性(傅里葉變換、小波變換等)可以單獨或結合時域特征來理解系統的行為[27]。工業系統復雜而廣泛,大量的傳感器被用于監控空間和物體,以為異常行為預測提供全面、多維度的運行數據。對于這種情況,基于相關性分析的方法[28]被證明可以更有效地識別異常。該方法能夠反映系統的真實表現,因為這些相關性可以從物理上反映系統的運行機制和條件。
2.5 基于特征選擇的檢測方法
異常檢測處理的數據是人工從復雜的網絡系統中提取出來的。這些數據一般具有高維、強冗余、低相關性等特點。直接使用原始數據,檢測算法的性能會很差。而特征選擇的作用是從原始數據中選擇有用的特征,選出的特征具有更強的相關性、非冗余特性和更少的噪聲。這些特征可以幫助相關算法更高效、快速地區分、檢測和分類出不同的目標。因此許多研究者將其應用于入侵檢測系統(IDS,intrusion detection system)的設計中,以提高檢測精度,減少檢測時間。這些研究通常來自 2 種觀點。
一種是有效提取,如主成分分析(PCA, principal component analysis)。針對異常檢測系統耗時長、性能下降等問題,文獻[30]提出了一種混合的 PCA 神經網絡算法。該算法利用 PCA 變換對特征降維,使訓練時間減少約 40%,測試時間減少約 70%,同時還提高了檢測精度。文獻[31]基于核主成分分析和極限學習機(ELM, extremelearning machine)設計 IDS。其中,核主成分分析用于特征矩陣降維。實驗結果表明,該系統比單純基于 ELM 或者 SVM 算法的 IDS 效率更高,速度更快。類似地,文獻[32]提出一種增量 ELM 與自適應PCA 相結合的方法,該方法可以自適應地選擇相關特征以獲得更高的精度。然而,所有這些方法都沒有減少原始數據的特征量,總的時間消耗仍然非常大。
另一種是有效特征選擇,如遺傳算法和最大相關最小冗余算法。文獻[33 34]將特征選擇問題定義為組合優化問題,提出基于局部搜索最優解算法來選擇有效的特征子集,用于檢測“正常”和“DoS”攻擊數據。雖然使用該算法選擇出的有效特征子集在檢測率和準確率方面都優于使用全部特征集,但也帶來了較高的誤報率。文獻[35]提出了一種基于遺傳算法的特征選擇方法來設計 IDS 以選擇最優特征,采用單點交叉而不是兩點交叉優化該遺傳算法的參數。總體而言,其給出了更好的結果,但在某些情況下分類率會下降。Feng 等[36]提出基于 K 近鄰和樹種子算法的 IDS 模型來選擇特征,減少特征冗余,檢測效率有所提升但準確率沒有明顯的改善。
2.6 基于機器學習的檢測方法
在工業系統中,機器學習方法(如貝葉斯網絡、k means、ELM[39]、SVM、回歸等)已經被成功用于識別和檢測工業物聯網中的異常行為[10]。除此之外,聚類[40 42]、隨機森林[43]、孤立森林[44]和隱馬爾可夫模型[45]等算法也取得了不錯的成績。
2.6.1 深度學習方法
深度學習(DL, deep learning)是一種具有自動學習能力的智能算法,是機器學習的一個分支。由于 DL 對任何特征工程的獨立性、對動態環境的適應性以及強大的學習能力(特別是從高維數據中),其很快成為解決上述局限性的新的學習范式。
各種各樣的 DL 方法已經成功應用于異常和入侵檢測,如卷積神經網絡(CNN, convolutionalneural network)[52 53]、循環神經網絡( RNN,recurrent neural network)[54 56]、生成對抗網絡(GAN, generative adversarial network)[57 59]、脈沖神經網絡[60]、粒子深框架[61]和長短期記憶(LSTM, long short term memory)網絡[56,62 66]。Ferrag 等[53]對 CNN、RNN 和深度神經網絡(DNN,deep neural network)進行了入侵檢測研究,并對它們在不同配置下的性能進行了對比分析。
Bhuvaneswari 等[67]在基于霧的物聯網中引入向量卷積構建入侵檢測系統。但是,CNN 有一個讓人無法忽視的缺點,即無法學習物聯網流量的長時依賴特征,而這正是 LSTM 網絡的優勢。因此,Saharkhizan 等[68]提出使用 LSTM來學習時序數據之間的依賴關系。該研究使用一個 LSTM 集合作為檢測器,將該檢驗器的輸出合并成決策樹,最終進行分類。然而,這些模型的計算成本很高。為了解決這個問題,Liaqat 等[69]提出了一個整合 CNN 和 CudaDNN LSTM 的方案,該方案能夠及時有效地檢測出醫療物聯網環境中的復雜惡意僵尸網絡。
文獻[70]提出了一種壓縮卷積變分自動編碼器,用于 IIoT 中時間序列數據的異常檢測。該方法減少了模型的大小和推理的時間,但是分類性能基本上沒有提升。研究了卷積神經網絡在工業控制系統異常檢測的應用后,文獻[52]提出了一種基于測量預測值與觀測值的統計偏差的異常檢測方法,并指出一維卷積網絡在工業控制系統的異常檢測方面優于循環神經網絡。從網絡包內容分析的角度出發,文獻[66]提出了簽名+LSTM 的多層異常檢測方法。
其首先開發了一個數據包的基準簽名數據庫,并用布魯姆過濾器存儲該簽名數據庫同時檢測包異常,然后將該簽名數據庫作為數據源輸入 LSTM 中,來進行時間序列的異常檢測。為了保護集成電路免受網絡攻擊,文獻[71]采用 2 個異常檢測算法來做異常檢測,一個是傳統機器學習算法 k means,另一個是卷積自編碼算法,并取 2個算法結果的邏輯與來作為最終的檢測結果。但是該方法在特征選擇時,沒有采用專有的特征選擇算法,僅僅通過人工過濾掉了不產生影響的屬性。另外,為了保護 IIoT 系統免受勒索軟件攻擊,文獻[72]提出了一種基于堆疊變分自編碼的檢測模型,該模型具有一個全連接神經網絡,能夠學習系統活動的潛在結構,并揭示勒索軟件的行為。
2.7 基于邊緣/霧計算的檢測方法
深度神經網絡的進展極大地支持異常物聯網數據的實時檢測。然而,由于計算能力和能源供應有限,物聯網設備幾乎負擔不起復雜的深度神經網絡模型。雖然可以將異常檢測的任務轉移到云上,但當數千個物聯網設備同時將數據傳到云上時,會導致時延和網絡擁塞。一種新興架構——霧(邊緣)計算的出現,解決了上述問題。該架構旨在通過將計算、通信、存儲和分析等資源密集型功能轉移到終端用戶來減輕云和核心網絡的網絡負擔。
霧計算系統能夠處理對時間要求嚴格的物聯網的能源效率和時延敏感型應用,如工廠的火災報警系統、地下采礦環境等,都需要快速檢測出異常。因此,涌現出許多基于霧(邊緣)計算的異常檢測框架[82 84]。文獻[85]針對數據異常檢測的準確性和時效性,提出了一種基于層次邊緣計算(HEC, hierarchical edge computing)模型的多源多維數據異常檢測方案。該研究首先提出了 HEC 模型,來實現傳感器端和基站端負載均衡和低時延數據處理;然后設計了一種基于模糊理論的單源數據異常檢測算法,該算法能夠綜合分析多個連續時刻的異常檢測結果。
2.8 基于圖的檢測方法
基于圖的異常檢測在醫療保健、網絡、金融和保險等各個領域都有應用。由于來自網絡、電子郵件、電話等的數據相互依賴,使用圖表檢測異常變得越來越流行。文獻[89]提出了一種基于知識圖譜的工業物聯網移動設備異常檢測方法,并利用可視化技術對檢測結果進行演示。具體地,作者使用優化后的基于頻繁項集的數據挖掘算法對數據進行分析,使提出的方法能夠準確地檢測出不同類型的并發攻擊。
另外,作者還設計了可以將結果多維度可視化的異常告警模塊,幫助非專業用戶在工業領域充分了解網絡安全情況。文獻[90 91]引入了一種新的基于圖的異常檢測方法,并將背景知識添加到傳統圖挖掘方法的評價指標中。背景知識以規則覆蓋的形式添加,報告子結構實例覆蓋了最終圖的百分比。由于人們認為異常不會頻繁出現,因此作者假定,通過為規則覆蓋分配負權值,可以發現異常的子結構。該方法在不損失精度的同時,大大降低了檢測時間。
3 公開的數據集
列舉了對應技術下工業物聯網中具有代表性的異常檢測技術的研究,包括使用的數據集以及被引次數。數據集出現的頻率,可以發現,研究者比較常用的數據集有 4 個,即 SWAT、NSL KDD、UNSW NB15 以及 KDD Cup99 數據集。除此之外,還有許多優秀的數據集可用于異常檢測的研究。
4 未來展望
工業物聯網的安全是大趨勢,隨著終端設備存儲和計算能力的增加,終端設備將來必然擁有獨立的操作系統,安全問題隨之而來。未來,終端的智能性、自主性、互聯的依賴性都會增加,工業物聯網的安全問題會越來越嚴重。這些安全問題之間也存在依賴性以及相互影響的問題,同時,工業物聯網也可能作為危險的翹板,蔓延到其他領域,如互聯網。因此,對工業物聯網的異常檢測勢在必行。
從上文的分析中可以發現,針對工業物聯網異常檢測,機器學習和深度學習等算法應用較廣泛;而基于霧計算、知識圖譜、生物免疫、聯邦學習等的研究則略顯不足。在工業系統中,穩健的、性能良好的異常檢測方法對于降低系統宕機的可能性至關重要。雖然當前已經存在許多研究成果,但是,仍然有許多值得研究的方向。
1) 可視化檢測結果。當前的研究只關注異常檢測方案本身,檢測結果需要專業人士解讀,不方便非專業人士閱讀;另外,可視化結果還能幫助非專業人士在工業領域充分了解網絡安全情況。
2) 混合架構。由于工業物聯網數據具有大量、高維、強冗余、低相關性、環境噪聲等復雜性,直接使用原始數據,模型的訓練時間和檢測性能都不容樂觀。因此,將特征選擇、知識圖譜和深度學習等知識結合是一個趨勢。一方面,特征選擇算法能夠選擇強相關的特征,降低數據的冗余和噪聲;另一方面,深度學習由于其強大的自學習能力,能夠精準地識別出異常。3) 深度學習方法尚未涵蓋多個領域,因此有必要重新審視不同領域異常檢測的問題,如 SCADA、智能電網、5G 和眾多物聯網平臺,這些平臺已經存在系統機器學習等異常檢測方法。對不同領域的可擴展性需要真正反映目標環境的數據集,才能取得更好的效果。
4) 一旦工業系統遭受攻擊,將會造成嚴重的損失。因此,有必要在異常行為損害工業系統前,對可能發生的異常進行預測和警告,并提供預防性解決方案。
5 結束語
多年來,異常檢測一直是一個活躍的研究領域,得到了各個應用領域研究者的廣泛關注。識別異常行為可以降低功能風險,避免系統宕機和其他難以預料的問題。本文盡可能全面地搜集了現有工業物聯網中異常檢測的研究工作,按照實現原理的角度,對現有工業物聯網中的異常檢測方法進行了歸類分析。這些信息可以幫助研究者對最新提出的異常檢測算法及其概要信息產生宏觀認知。另外,還需要進一步研究新的智能檢測和預測技術,來實時處理復雜工業系統產生的各種數據流,做到實時健康態勢感知、異常檢測、風險預警和及時預防。
參考文獻:
[1] DAUGHERTY P, BERTHON B. Winning with the industrial Internetof things: how to accelerate the journey to productivity and growth[R].2015.
[2] TANGE K, DONNO M D, FAFOUTIS X, et al. A systematic survey ofindustrial Internet of things security: requirements and fog computingopportunities[J]. IEEE Communications Surveys & Tutorials, 2020,22(4): 2489 2520.
[3] SPOGNARDI A, DONNO M D, DRAGONI N, et al. Analysis ofDDoS capable IoT malwares[C]//Proceedings of the 2017 FederatedConference on Computer Science and Information Systems, Annals ofComputer Science and Information Systems. Piscataway: IEEE Press,2017: 807 816.
[4] ZHOU L Y, GUO H Q. Anomaly detection methods for IIoT networks[C]//Proceedingsof 2018 IEEE International Conference onService Operations and Logistics, and Informatics. Piscataway: IEEEPress, 2018: 214 219.
[5] LANGNER R. Stuxnet: dissecting a cyberwarfare weapon[J]. IEEESecurity & Privacy, 2011, 9(3): 49 51.
[6] LEE R. CRASHOVERRIDE: analysis of the threat to electric gridoperations[R]. 2017.
作者:孫海麗 1,龍翔 1,2,韓蘭勝 1,3,黃炎 4,李清波 1