您所在的位置: 首頁(yè) >
新聞資訊 >
技術(shù)前沿 >
工控入侵檢測(cè)
摘要:工業(yè)控制系統(tǒng)是社會(huì)運(yùn)行和國(guó)家安全的重要基礎(chǔ)。為提高工業(yè)控制系統(tǒng)的入侵檢測(cè)能力,設(shè)計(jì)一個(gè)基于深度神經(jīng)網(wǎng)絡(luò)的工業(yè)入侵檢測(cè)方案。采用與真實(shí)世界水處理廠非常相似的六級(jí)水處理模型SWaT,通過(guò)訓(xùn)練長(zhǎng)短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò),對(duì)經(jīng)過(guò)PCA降維的SWaT預(yù)處理數(shù)據(jù)進(jìn)行檢測(cè)和鑒別。結(jié)果顯示,檢測(cè)方案在測(cè)試集的表現(xiàn)上優(yōu)于過(guò)去的OCSVM、IF、Matrix Profile這3種檢測(cè)方案,并且網(wǎng)絡(luò)訓(xùn)練速度更快,檢測(cè)需要的上下文環(huán)境更少,具有一定的實(shí)用價(jià)值。
引言
工業(yè)控制系統(tǒng)(Industrial Control System)在運(yùn)輸、供電以及水處理等領(lǐng)域應(yīng)用廣泛,是工業(yè)基礎(chǔ)設(shè)施的核心組成部分,也是國(guó)民經(jīng)濟(jì)、社會(huì)運(yùn)行和國(guó)家安全的重要基礎(chǔ)。自澳大利亞Maroochy廢水系統(tǒng)攻擊、Stuxnet蠕蟲(chóng)攻擊以及德國(guó)鋼鐵廠之后,工業(yè)控制系統(tǒng)的安全提升到一個(gè)新的高度,受到人們?cè)絹?lái)越多的重視。
大多數(shù)入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)采用CIDF通用模型。CIDF模型將IDS分為4個(gè)相互關(guān)聯(lián)的部分——事件生成器(Event Generators)、事件分析器(Event Analyzers)、響應(yīng)單元(Response Units)和事件記錄器(Event Recorder)。EG負(fù)責(zé)采集和預(yù)處理原始數(shù)據(jù),包括ICS中的數(shù)據(jù)報(bào)文、日志以及傳感器數(shù)據(jù)等,格式化為事件并傳遞給其他3個(gè)模塊。EA是入侵檢測(cè)系統(tǒng)的核心。EA實(shí)現(xiàn)入侵檢測(cè)算法,分析傳遞給它的事件行為,判斷事件是否構(gòu)成異?;蛉肭中袨?,并將判斷結(jié)果傳遞到RU。RU根據(jù)EA的判斷結(jié)果做出響應(yīng),包括發(fā)出切斷電源、停止數(shù)據(jù)傳輸命令或改變?cè)L問(wèn)權(quán)限。ER將入侵檢測(cè)系統(tǒng)的工作流程記錄成日志,以供安全人員查看。具體模型如圖1所示。
圖1 CIDF通用模型
傳統(tǒng)的IDS通常沒(méi)有考慮ICS特有的通信協(xié)議,如DNP3和Modbus,且ICS的異常檢測(cè)不能完全依賴(lài)網(wǎng)絡(luò)流量,還需要查看與物理過(guò)程控制相關(guān)的傳感器或執(zhí)行器信息,增加了數(shù)據(jù)特征數(shù)目和各項(xiàng)數(shù)據(jù)關(guān)聯(lián)性的復(fù)雜程度。傳感器傳遞的數(shù)據(jù)很有可能受到噪聲的影響,導(dǎo)致異常檢測(cè)設(shè)備產(chǎn)生高誤報(bào)率和低攻擊檢測(cè)率。
國(guó)內(nèi)外已有大量研究人員進(jìn)行了大量研究,但大多數(shù)方法高度依賴(lài)預(yù)定義的模型和特征來(lái)檢測(cè)異常行為,且現(xiàn)有的入侵檢測(cè)方法大多針對(duì)特定的協(xié)議和系統(tǒng)定制,缺少一定的通用性。此外,攻擊往往具有時(shí)間依賴(lài)性,在大多數(shù)檢測(cè)方案中沒(méi)有涉及。本文設(shè)計(jì)并實(shí)現(xiàn)一個(gè)基于LSTM的IDS方案,并在SWaT數(shù)據(jù)集上評(píng)估效果。為了獲得更好的對(duì)比效果,根據(jù)文獻(xiàn)[6-7]的描述,實(shí)現(xiàn)了Isolation Forest、OSCVM和Matrix Profile這3種檢測(cè)方案。實(shí)驗(yàn)結(jié)果表明,基于LSTM的檢測(cè)方法比其他3種檢測(cè)方法具有更高的正確率,且測(cè)試所需要的時(shí)間更短,需要的上下文環(huán)境更少。
本文余下部分組織如下:第1部分概述目前已有的檢測(cè)方法;第2部分說(shuō)明實(shí)驗(yàn)中的數(shù)據(jù)集;第3部分闡述降維方法和主要算法;第4部分分析評(píng)估結(jié)果并討論;第5部分為結(jié)論。
1 相關(guān)工作
作為一種有效的防御手段,異常檢測(cè)已經(jīng)被廣泛應(yīng)用在各個(gè)領(lǐng)域,如檢測(cè)僵尸網(wǎng)絡(luò)、檢測(cè)物聯(lián)網(wǎng)的攻擊以及檢測(cè)程序的異常行為等。
Maglaras和Jiang等人提出使用一類(lèi)支持向量機(jī)(One Class Support Vector Machine,OCSVM)來(lái)檢測(cè)攻擊。他們將原始的網(wǎng)絡(luò)跟蹤文件分割為兩個(gè)獨(dú)立集合用于訓(xùn)練與測(cè)試,但數(shù)據(jù)集較小,只有不到2000條獨(dú)立完整的跟蹤記錄。
Goh等人通過(guò)使用遞歸神經(jīng)網(wǎng)絡(luò),檢測(cè)網(wǎng)絡(luò)物理系統(tǒng)的攻擊。他們同樣使用安全水處理(Secure Water Treatment,SWaT)數(shù)據(jù)集。在他們的工作中,使用RNN是為了預(yù)測(cè)在接下來(lái)的一段時(shí)間內(nèi)某一物理屬性或某一傳感器接收到的數(shù)據(jù)的變化曲線。如果預(yù)測(cè)曲線和實(shí)際信號(hào)曲線有較大差別,說(shuō)明可能存在入侵。
此外,國(guó)內(nèi)外對(duì)工業(yè)控制系統(tǒng)的入侵檢測(cè)還有許多研究成果。Gao和Morris提出了利用特征碼來(lái)檢測(cè)Modbus數(shù)據(jù)中攻擊的方法;在Schneider和Bóttinger的研究中,他們通過(guò)自動(dòng)編碼器,以無(wú)監(jiān)督的方式檢測(cè)工業(yè)數(shù)據(jù)集中的真實(shí)攻擊;Knapp和Langill提出了保護(hù)工業(yè)網(wǎng)絡(luò)安全的方法;Yang等人則針對(duì)電力系統(tǒng)網(wǎng)絡(luò)入侵檢測(cè)問(wèn)題進(jìn)行了討論。
2 SWaT數(shù)據(jù)集
新加坡理工大學(xué)網(wǎng)絡(luò)安全中心iTrust提出的SWaT模擬一個(gè)工業(yè)水處理廠,通過(guò)膜超濾和反滲透裝置,每分鐘生產(chǎn)5加侖的過(guò)濾水。SWaT在正常模式下運(yùn)行7天,在攻擊模式下運(yùn)行4天,最終生成與水處理廠和水處理過(guò)程有關(guān)的物理特性,并與實(shí)驗(yàn)中網(wǎng)絡(luò)流量共同構(gòu)成數(shù)據(jù)集。
水處理分為生水存儲(chǔ)(Raw
Water
Storage)、預(yù)處理(Pre-treatment)、膜超濾(Ultrafiltration,UF)、紫外線(Ultraviolet,UV)燈脫氯、反滲透(Reverse
Osmosis,RO)和處理(Disposal)6個(gè)子過(guò)程。子過(guò)程之間的聯(lián)系和轉(zhuǎn)換關(guān)系如圖2所示。工廠將準(zhǔn)備處理的水儲(chǔ)存起來(lái),用不同的化學(xué)物質(zhì)預(yù)處理。之后使用膜超濾再進(jìn)行脫氯處理,輸送給反滲透設(shè)備。根據(jù)水清潔度的高低,決定存儲(chǔ)在干凈的儲(chǔ)水池中還是回到膜超濾環(huán)節(jié)。
圖2 模擬處理過(guò)程
SWaT數(shù)據(jù)集基于攻擊的特點(diǎn),區(qū)分了4種類(lèi)型的攻擊。
( 1 ) 單級(jí)別單點(diǎn)攻擊(Single Stage Single Point,SSSP):在一個(gè)子過(guò)程中,對(duì)一個(gè)點(diǎn)(傳感器或執(zhí)行器)進(jìn)行攻擊。
( 2 ) 單級(jí)別多點(diǎn)攻擊(Single Stage Multiple Point,SSMP):在一個(gè)子過(guò)程中,集中對(duì)多個(gè)點(diǎn)進(jìn)行攻擊。
( 3 ) 多級(jí)別單點(diǎn)攻擊(Multiple Stage Single Point,MSSP):在多個(gè)子過(guò)程中,分別對(duì)一個(gè)點(diǎn)攻擊。
( 4 ) 多級(jí)別多點(diǎn)攻擊(Multiple Stage Multiple Point,MSMP):在多個(gè)子過(guò)程中,對(duì)多個(gè)點(diǎn)進(jìn)行攻擊,可以看做是單級(jí)別多點(diǎn)攻擊在多個(gè)子過(guò)程上的實(shí)現(xiàn)。
在11天的數(shù)據(jù)收集過(guò)程中,共有36次攻擊。表1列出了攻擊的分類(lèi)。
表1 SWaT中攻擊類(lèi)型和次數(shù)
3 研究方法
3.1 基于LSTM的入侵檢測(cè)建立網(wǎng)絡(luò)模型
3.1.1 PCA降維
雖然SWaT是較為簡(jiǎn)單的典型工業(yè)控制系統(tǒng),一項(xiàng)物理屬性記錄中只有53個(gè)數(shù)據(jù)項(xiàng),物理控制過(guò)程可以抽象為只有51個(gè)屬性的數(shù)據(jù)(其他兩個(gè)數(shù)據(jù)項(xiàng)分別為時(shí)間戳和標(biāo)簽Normal/Attack),但為了不失一般性,抽取數(shù)據(jù)特征對(duì)數(shù)據(jù)進(jìn)行降維處理。
使用卡方檢驗(yàn)返回最佳特征,并使用PCA(主成分分析)算法進(jìn)行降維。為了獲得最好的降維效果,在SWaT數(shù)據(jù)集上測(cè)試最佳特征返回?cái)?shù)目為8~14時(shí)降維數(shù)據(jù)的完整性,具體測(cè)試結(jié)果如表2所示。抽取數(shù)據(jù)保留11個(gè)屬性(時(shí)間戳和標(biāo)簽除外),分別是'LIT101'、'AIT203'、'FIT201'、'DPIT301'、'FIT301'、'LIT301'、'AIT402'、'LIT401'、'AIT502'、'PIT501'、'PIT503'。此時(shí)數(shù)據(jù)的損失較少,數(shù)據(jù)完整性保留程度高。圖3與圖4分別顯示了降維前后特征之間的關(guān)聯(lián)性。PCA處理前,各個(gè)屬性之間均存在一定關(guān)聯(lián),其中有部分屬性存在明顯的正相關(guān)與負(fù)相關(guān)聯(lián)系。PCA提取出主要特征分量,將抽取后的特征變換為線性無(wú)關(guān)的表示,因此圖4顯示各個(gè)維度之間關(guān)聯(lián)性為0。
表2 保留屬性與完整性
圖3 降維前特征間關(guān)聯(lián)性
圖4 降維后特征間關(guān)聯(lián)性
為了能夠更好地應(yīng)用SWaT數(shù)據(jù)集(以及其他工業(yè)控制系統(tǒng)中數(shù)據(jù))的時(shí)序性特點(diǎn),將降維后的數(shù)據(jù)每30條分作一組,每一組內(nèi)部數(shù)據(jù)都是時(shí)序的。將每一組數(shù)據(jù)組成的矩陣轉(zhuǎn)置,形成類(lèi)似字符串embedding后的編碼結(jié)果。
3.1.2 LSTM網(wǎng)絡(luò)
LSTM是一種特殊的RNN。通過(guò)精巧的設(shè)計(jì),解決長(zhǎng)序列訓(xùn)練過(guò)程中梯度消失和梯度爆炸問(wèn)題。標(biāo)準(zhǔn)RNN由簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)模塊按時(shí)序展開(kāi)成鏈?zhǔn)?,?nèi)部結(jié)構(gòu)如圖5所示。這個(gè)重復(fù)模塊結(jié)構(gòu)簡(jiǎn)單且單一,記憶疊加方式顯得簡(jiǎn)單粗暴。
圖5 RNN網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)
LSTM內(nèi)部有較為復(fù)雜的結(jié)構(gòu),能通過(guò)門(mén)控狀態(tài)選擇調(diào)整傳輸?shù)男畔?,記住需要長(zhǎng)時(shí)記憶的信息,忘記不重要的信息,如圖6所示。
圖6 LSTM網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)
LSTM內(nèi)部主要有3個(gè)階段。
( 1 ) 忘記階段。這個(gè)階段主要是對(duì)上一個(gè)節(jié)點(diǎn)傳進(jìn)來(lái)的輸入進(jìn)行選擇性忘記——“忘記不重要的,記住重要的”。通過(guò)計(jì)算得到的zf(f表示forget)作為忘記門(mén)控,ct-1來(lái)控制上一個(gè)狀態(tài)哪些需要保留哪些需要遺忘。
( 2 ) 選擇記憶階段。該階段將輸入有選擇性地進(jìn)行“記憶”。主要對(duì)輸入xt進(jìn)行選擇記憶,重要內(nèi)容著重記錄,不重要內(nèi)容則少記一些。當(dāng)前的輸入內(nèi)容由前面計(jì)算得到的z表示。選擇的門(mén)控信號(hào)則由zi(i代表information)進(jìn)行控制。將上面兩步得到的結(jié)果相加,即可得到傳輸給下一個(gè)狀態(tài)的ct。
( 3 ) 輸出階段。這個(gè)階段將決定哪些將會(huì)被當(dāng)成當(dāng)前狀態(tài)的輸出。主要通過(guò)zo控制,且對(duì)上一階段得到的co進(jìn)行放縮(通過(guò)一個(gè)tanh激活函數(shù)進(jìn)行變化)。
LSTM通過(guò)門(mén)控狀態(tài)控制傳輸狀態(tài),記住需要長(zhǎng)時(shí)間記憶的,同時(shí)忘記不重要的信息。這對(duì)很多需要“長(zhǎng)期記憶”的任務(wù)尤其好用,但也因?yàn)橐肓撕芏鄡?nèi)容導(dǎo)致參數(shù)變多,加大了訓(xùn)練難度。
3.1.3 網(wǎng)絡(luò)結(jié)構(gòu)
本文實(shí)現(xiàn)了一個(gè)基于LSTM的深度網(wǎng)絡(luò)。網(wǎng)絡(luò)包含2個(gè)LSTM網(wǎng)絡(luò)層和1個(gè)全連接層,最后使用Sigmoid進(jìn)行歸一化。由于Sigmoid會(huì)帶來(lái)過(guò)擬合問(wèn)題,在網(wǎng)絡(luò)各層間添加Dropout并設(shè)置LSTM的recurrent_dropout為0.2。第4部分評(píng)估結(jié)果顯示,這樣的方法是合適的。
3.2 其他入侵檢測(cè)方法
3.2.1 OCSVMOCSVM
即一類(lèi)支持向量機(jī)。該模型將數(shù)據(jù)樣本通過(guò)核函數(shù)映射到高維特征空間,使其具有良好的聚集性。在特征空間中求解一個(gè)最優(yōu)超平面,實(shí)現(xiàn)目標(biāo)數(shù)據(jù)與坐標(biāo)原點(diǎn)的最大分離。OCSVM使用一個(gè)類(lèi)進(jìn)行訓(xùn)練,以確定測(cè)試用例的元素是否屬于該類(lèi),非常適合單類(lèi)占主導(dǎo)地位的應(yīng)用場(chǎng)景,如異常檢測(cè)。
3.2.2 孤立森林
孤立森林算法是一種適用于連續(xù)數(shù)據(jù)的無(wú)監(jiān)督異常檢測(cè)方法。與其他異常檢測(cè)算法通過(guò)距離、密度等量化指標(biāo)來(lái)刻畫(huà)樣本間的疏離程度不同,孤立森林算法的核心是通過(guò)孤立數(shù)據(jù)點(diǎn)檢測(cè)異常值。
孤立森林利用一種名為孤立樹(shù)的數(shù)據(jù)結(jié)構(gòu)來(lái)孤立樣本。孤立樹(shù)是一種二叉樹(shù)。因?yàn)楫惓V档臄?shù)量較少,且與大部分樣本具有疏離性,因此異常值更容易被孤立出來(lái),即異常值會(huì)距離孤立樹(shù)的根節(jié)點(diǎn)更近,而正常值距離根節(jié)點(diǎn)更遠(yuǎn)。此外,相較于LOF、K-means等傳統(tǒng)算法,孤立森林算法對(duì)高維度的數(shù)據(jù)具有較好的魯棒性。
3.2.3 Matrix Profile
Yeh等人于2016年開(kāi)發(fā)了Matrix
Profile,將其作為模式識(shí)別算法。具有時(shí)序性的數(shù)據(jù)集被分割成長(zhǎng)度為m的序列。每個(gè)序列從數(shù)據(jù)集中的一個(gè)點(diǎn)開(kāi)始,以滑動(dòng)窗口的方式計(jì)算每個(gè)序列之間的距離,如用z代表歸一化距離。
歐式距離與歸一化距離有如下關(guān)系:
式中,x和y都是具有時(shí)序性的序列,μ是各自的均值,σ是各自的標(biāo)準(zhǔn)差。Matrix Profile將最小距離保存在一個(gè)矩陣中。一個(gè)較大的最小距離表示了一個(gè)異常值,因?yàn)檫@說(shuō)明序列中沒(méi)有與他相似的序列。相反,一個(gè)小的最小距離表明在數(shù)據(jù)集中這個(gè)序列有較多相似序列,因此異常的可能性較低。
4 實(shí)驗(yàn)評(píng)估
將SWaT數(shù)據(jù)集應(yīng)用到第3部分介紹的算法中。這里選取了近50萬(wàn)條(449 920)物理設(shè)備數(shù)據(jù)記錄。在原始的csv文件中,各條記錄按時(shí)間戳的順序排列,每條記錄對(duì)應(yīng)一個(gè)標(biāo)簽Normal/Attack。
實(shí)驗(yàn)在顯卡GeForce 940MX、處理器I7-7500U的硬件環(huán)境下進(jìn)行。第3部分中的4個(gè)模型訓(xùn)練與測(cè)試所需時(shí)間分別為5 min、3 h、3.6 min和5 h。
4.1 基于LSTM的入侵檢測(cè)評(píng)估
訓(xùn)練過(guò)程中的損失如圖7所示??梢钥吹剑W(wǎng)絡(luò)在訓(xùn)練過(guò)程中不存在梯度爆炸或梯度消失問(wèn)題。
如圖8所示,在測(cè)試集中,LSTM網(wǎng)絡(luò)達(dá)到96.5%的準(zhǔn)確率,而其他方法效果較差:一類(lèi)支持向量機(jī)在運(yùn)行3 h后能達(dá)到87.96%的正確率,孤立森林只有不到40%(37.14%)的正確率。
為了對(duì)比查準(zhǔn)率和查全率,將測(cè)試結(jié)果可視化為圖9的混淆矩陣。
圖7 訓(xùn)練中的損失
圖8 正確率對(duì)比
4.2 其他檢測(cè)方法評(píng)估
4.2.1 OCSVM
按照第3部分方法介紹中所描述的,實(shí)現(xiàn)了一個(gè)一類(lèi)支持向量機(jī)。由于實(shí)驗(yàn)中樣本數(shù)較多而特征數(shù)目較少,訓(xùn)練模型時(shí)選擇的核函數(shù)為高斯核函數(shù),即rbf。
LSTM網(wǎng)絡(luò)混淆矩陣,如圖9所示。同樣的,將測(cè)試結(jié)果表示為混淆矩陣,并繪制為圖10。對(duì)比圖9的左下部分,可以明顯看出,OCSVM將更多的攻擊判定為正常數(shù)據(jù),表明使用OCSVM作為檢測(cè)方法會(huì)隱含更大的風(fēng)險(xiǎn)。
圖9 LSTM網(wǎng)絡(luò)混淆矩陣
圖10 OCSVM網(wǎng)絡(luò)混淆矩陣
4.2.2 孤立森林
孤立森林在同一個(gè)數(shù)據(jù)集上的表現(xiàn)比預(yù)期結(jié)果糟糕——調(diào)參過(guò)程中,分類(lèi)準(zhǔn)確率最高只有37.14%。與前兩種算法相同,將PCA降維后的數(shù)據(jù)輸入孤立森林模型進(jìn)行訓(xùn)練,混淆矩陣?yán)L制如圖11所示。對(duì)比OCSVM的結(jié)果,孤立森林在檢測(cè)過(guò)程中漏掉的攻擊更少,但誤報(bào)率相當(dāng)高。在實(shí)際的系統(tǒng)中,誤報(bào)率高會(huì)顯著增加系統(tǒng)運(yùn)營(yíng)和人工排查的成本。
圖11 孤立森林混淆矩陣
盡管樣本數(shù)據(jù)是按順序輸入模型進(jìn)行訓(xùn)練的,但無(wú)論是OCSVM算法還是孤立森林算法,都沒(méi)有將時(shí)間戳當(dāng)作影響模型的因素之一。打亂樣本后再測(cè)試的結(jié)果相同,這與基于LSTM的檢測(cè)方法和Matrix Profile有顯著不同。
4.2.3 Matrix Profile
Matrix Profile和評(píng)估過(guò)的3種算法有較大差別。Matrix Profile針對(duì)某一物理屬性在一個(gè)連續(xù)時(shí)間段內(nèi)的取值進(jìn)行分析,計(jì)算長(zhǎng)度為m的序列之間的距離并確定距離的閾值,因此直觀上對(duì)單點(diǎn)的攻擊檢測(cè)更有效。
經(jīng)過(guò)多次測(cè)試,最終將超參數(shù)m確定為500,此時(shí)繪制的圖像對(duì)比最明顯。圖12顯示了SWaT系統(tǒng)中水箱LIT-401的水位分析結(jié)果。其中,第1行為經(jīng)過(guò)z分?jǐn)?shù)規(guī)范化后的樣本數(shù)據(jù),第2行為計(jì)算得到的序列之間距離,第3行為修正弧曲線??梢钥吹?,在噪音的影響下,攻擊被隱藏,Matrix
Profile算法的檢測(cè)效果不理想。
圖12 LIT-401的水位分析
4.3 討論
基于LSTM的檢測(cè)方法在檢測(cè)準(zhǔn)確率上,顯著優(yōu)于孤立森林和一類(lèi)支持向量機(jī)。孤立森林不僅準(zhǔn)確率較低(只有不到40%),而且誤報(bào)率非常高,難以應(yīng)用到實(shí)際的工業(yè)生產(chǎn)過(guò)程。OCSVM盡管測(cè)試數(shù)據(jù)集的準(zhǔn)確率接近90%,但對(duì)比圖9和圖10的混淆矩陣可以明顯看到,OCSVM將更多的攻擊判定為正常數(shù)據(jù),表明相比于LSTM,使用OCSVM作為檢測(cè)方法會(huì)隱含更大的風(fēng)險(xiǎn),即更多的攻擊無(wú)法被檢測(cè)出來(lái)。Matrix Profile則嚴(yán)重受到數(shù)據(jù)中噪音的影響。正常數(shù)據(jù)中的噪音會(huì)導(dǎo)致模型計(jì)算的序列距離更大,一定程度上將實(shí)際的攻擊數(shù)據(jù)隱藏起來(lái)。而在實(shí)際的工業(yè)生產(chǎn)過(guò)程中,夾雜噪音的數(shù)據(jù)往往很常見(jiàn)。
除此之外,基于LSTM的檢測(cè)方法在測(cè)試和部署上也有較大優(yōu)勢(shì)。為了計(jì)算最小距離,Matrix Profile需要至少m+1個(gè)數(shù)據(jù)(研究中m為500),且為了存儲(chǔ)最小距離矩陣,空間復(fù)雜度為n2。為了獲得更準(zhǔn)確的最小距離,研究中嘗試輸入40萬(wàn)條數(shù)據(jù),模型運(yùn)行時(shí)間超過(guò)6 h。OCSVM模型需要的計(jì)算時(shí)間同樣較長(zhǎng),需要至少3 h。
通過(guò)多次實(shí)驗(yàn),最終確定基于LSTM的檢測(cè)方法在一次判別中只需要30個(gè)時(shí)序上連貫的數(shù)據(jù)就可以達(dá)到較高的判別可信度,檢測(cè)一條數(shù)據(jù)需要的上下文環(huán)境更少。而其他3種檢測(cè)方法中,Matrix Profile在實(shí)驗(yàn)中至少需要500條連續(xù)數(shù)據(jù),最終獲得的曲線圖才有較好的區(qū)分度(如圖12所示)。另外,兩種方法并不直接考慮工控?cái)?shù)據(jù)的時(shí)序性特點(diǎn),都只獨(dú)立地判斷一條工控記錄。
5 結(jié)語(yǔ)
本文實(shí)現(xiàn)了4種工業(yè)控制系統(tǒng)入侵檢測(cè)方法。通過(guò)使用SWaT數(shù)據(jù)集進(jìn)行模型訓(xùn)練和測(cè)試,本文評(píng)估了這些方法,并將測(cè)試結(jié)果可視化為混淆矩陣等圖表。結(jié)果顯示,基于LSTM的檢測(cè)方法在檢測(cè)準(zhǔn)確率(96.5%)上遠(yuǎn)遠(yuǎn)高于孤立森林的準(zhǔn)確率(37.14%),并優(yōu)于一類(lèi)支持向量機(jī)(87.96%)。
除了進(jìn)一步深入研究基于LSTM的入侵檢測(cè),今后研究有兩個(gè)主要方向。第一,入侵往往具有時(shí)序性特點(diǎn),LSTM網(wǎng)絡(luò)考慮到這一特點(diǎn),因此測(cè)試效果比對(duì)比方法好。第二,考慮復(fù)雜攻擊之間的關(guān)聯(lián)性。第2章節(jié)數(shù)據(jù)集的介紹中提到4種攻擊方式,可知MatrixProfile等分析單個(gè)屬性數(shù)值異常情況的檢測(cè)方法局限性較大。若能具體考慮屬性之間的關(guān)聯(lián),如復(fù)雜攻擊引起物理屬性連鎖變化等,此類(lèi)方法或許能有更好效果。
本文檢測(cè)方法在設(shè)計(jì)和實(shí)現(xiàn)上還存在一定的缺陷和問(wèn)題,需要在今后的研究中不斷改進(jìn)。在對(duì)數(shù)據(jù)的分割上,本文按照實(shí)際的測(cè)試效果得到分割方式,這在實(shí)際應(yīng)用中無(wú)法實(shí)現(xiàn)。因此,如何更好地分割數(shù)據(jù)需要進(jìn)一步研究。此外,數(shù)據(jù)集不應(yīng)該局限于SWaT數(shù)據(jù)集,因?yàn)镾WaT數(shù)據(jù)集來(lái)自較為簡(jiǎn)單的工業(yè)控制系統(tǒng),所以在更多的數(shù)據(jù)集上訓(xùn)練和測(cè)試將會(huì)是以后工作的一個(gè)方向。
原文來(lái)源:信息安全與通信保密雜志社