999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于IO地址分離和頻譜分析的SCADA系統異常檢測模型自動化構建

2022-06-24 10:02:48賈俊鋮張重豪
計算機應用與軟件 2022年4期
關鍵詞:符號檢測方法

潘 湛 馬 標 唐 文 賈俊鋮* 張重豪 馬 浩

1(蘇州大學計算機科學與技術學院 江蘇 蘇州 215006) 2(西門子有限公司 北京 100102)

0 引 言

隨著信息技術的發展和工業控制系統(ICS)的功能需求,ICS越來越多地連接到企業網絡和互聯網,形成了開放的網絡環境。然而,傳統ICS基于物理隔離,主要關注系統的功能安全性,缺乏對網絡信息安全的考慮。因此,近年來發生了許多震驚世界的工業控制網絡安全事件。

監督控制和數據采集(SCADA)系統是工業控制系統的一種重要類型,用于控制地理位置分散的控制系統并執行集中數據收集。特別是用于關鍵基礎設施資產,例如化工廠、發電、傳輸和分配系統、水分配網絡和廢水處理設施。由于安全問題的嚴重后果,保護SCADA系統的安全至關重要。

SCADA系統通常包括傳感器和執行器,這些傳感器和執行器由可編程邏輯控制器(PLC)控制,并由人機界面(HMI)進行管理。SCADA系統最初是為串行通信而設計的,其前提是所有操作實體均合法且已正確安裝,執行預期的邏輯并遵守協議。因此,許多SCADA系統幾乎沒有防御攻擊的措施。具體而言,SCADA網絡既沒有數據完整性檢查,也沒有通過加密保護機密性的手段。因此,有必要在SCADA網絡中部署入侵檢測系統(IDS)。

入侵檢測系統在入侵攻擊造成系統損壞之前就檢測到攻擊,并發出警報以啟動防御措施。目前,入侵檢測主要分為兩類:誤用檢測和異常檢測。誤用檢測是通過與已知的異常行為匹配來實現入侵檢測。通常也稱為基于先驗知識的入侵檢測。異常檢測是通過建立正常行為模型來發現異常行為,也被稱為基于行為的入侵檢測。與誤用檢測相比,異常檢測的漏報率低,可以檢測到以前未發生的入侵行為,但誤報率很高。

本文研究了基于異常的入侵檢測方法,需要強調的是,研究目標是檢測流量異常,即與流量正常周期性行為的偏差。這種偏差不一定是惡意的,例如,手動操作也可能會產生與正常行為不同的流量。研究所用的SCADA系統流量采用Siemens S7 0x32協議。西門子S7系列協議是SCADA系統中使用最廣泛的協議之一。本文結合SCADA系統流量的特性和領域知識,提出一種使用IO地址分離和頻譜分析來自動構建SCADA異常檢測模型的方法。此外,嘗試在頻譜分析階段進行了一些改進,以使新方法更加自動化。

本文的貢獻如下:

(1) 通過識別訪問PLC的報文的目標IO地址來分離流量通道,使得后續步驟中建立的流量模型更加準確和簡潔。

(2) 對于每個IO通道中各自的確定性有限自動機(DFA)的構造,本文針對現有頻譜分析方法的采樣間隔選擇和頻率能量濾波的閾值設置提出了一些改進。

(3) 使用真實的SCADA測試平臺產生的網絡流量進行實驗。實驗結果表明,基于IO地址分離和頻譜分析的方法能夠更準確地分離通道,擁有更高的建模精度,產生更少的人工干預。

1 相關工作

1.1 異常檢測

Alcaraz等[1]開展了一項與關鍵控制系統中的異常學習和檢測有關的技術調查。當前大多數商用網絡入侵檢測系統(NIDS)都是基于簽名的,即當它們與先前定義的簽名匹配時會識別出攻擊,而基于異常的NIDS則基于Mukherjee等[2]提出的意見:與合法用戶不同,入侵者將受到嚴重影響。

最近的幾項研究[3-4]提到了使用馬爾科夫鏈對SCADA系統進行異常檢測的方法。但是,Ye等[5]證明,盡管該方法的檢測精度很高,但由于對噪聲敏感,假陽性值的數量也很高。另外,Hadziosmanovic等[6]使用在HMI上運行的控制應用程序生成的日志來檢測過程控制應用程序上用戶操作的異常模式。

文獻[7]提出了一種基于狀態的SCADA系統入侵檢測系統。該方法使用有關工業過程控制的詳細知識來生成系統虛擬映像。Song等[8]通過獲取ICS輸入輸出數據來建立系統行為模型,通過比較實際系統輸入輸出和模型的輸入輸出進行異常判別。Kalech[9]通過SCADA系統輸入輸出信號的時間序列建立系統的行為模型,采用隱馬爾可夫模型和神經網絡進行異常行為判別。

Cheung等[10]針對SCADA系統流量,特別是針對使用Modbus協議的流量,提出了一種基于模型的異常檢測方法。作者設計了用于Modbus/TCP的多算法入侵檢測設備,具有異常模式識別,TCP報頭的貝葉斯分析和狀態協議監視功能,并輔以文獻[11]中的自定義Snort規則。在隨后的工作中,Cheung等[12]將自適應統計學習方法并入系統中,以檢測主機之間的通信模式和單個流中的流量模式。后來Briesemeister等[13]將這些入侵檢測方法集成到文獻[14]中的EMERALD事件關聯框架中。

另外,基于機器學習的異常檢測已經有了大量的研究,但是一直缺乏此類系統的操作部署。針對這個方面,Sommer等[15]在研究中討論了它們之間的不平衡關系。文獻[16]則以網絡流量為特征,采用基于熵的動態半監督K-means算法和單分類SVM進行流量異常檢測。

1.2 周期性

Barbosa等[17]使用傅里葉分析方法來處理他們在兩個不同的水處理和分配設施收集的SCADA系統流量數據。他們得出結論:由于大多數流量源周期性地生成數據,因此SCADA系統流量含有高度規律的時間序列。

在后續工作中,Barbosa等[18]證明了他們周期性學習的概念。然而,他們的分析只考慮了流量的傳輸級別,而沒有考慮SCADA系統所用協議的語義。此外,他們沒有考慮SCADA系統業務的本質特征(即周期性分組序列的正確消息順序)。Kleinmann等[19]對此提供了一種解釋,即在請求-響應循環模式之外,周期性流量也可以以不同的方式形成。

1.3 基于自動機的模型

Goldenberg等[20]開發了一種基于模型的方法(GW模型),該方法針對SCADA網絡流量使用確定性有限自動機(Deterministic Finite Automaton,DFA)表示周期性流量,從而進行網絡異常檢測。遵循此方法,SCADA系統消息將被單獨隔離并按其順序用于建模。隨后,Kleinmann等[21]證明了類似的方法在使用西門子S7協議的SCADA系統流量建模中也是有效的。

Caselli等[22]提出了一種將SCADA系統流量消息序列建模為離散時間馬爾可夫鏈(DTMC)的方法。他們構建了一個狀態機,其狀態用于對可能的消息進行建模,同時其狀態轉換關系用于表示兩個狀態之間的“前后”關系。

Caselli等[22]還針對多路復用的SCADA系統流量進行建模的研究,他們發現使用DFA進行異常檢測通常會產生非常大的DFA和高誤報率。而Kleinmann等引入了一種針對此類SCADA流量的基于狀態圖的建模方法:狀態圖包含多個DFA,每個循環模式一個。每個DFA都是根據GW模型的學習階段構建的[19]。

Kleinmann等[23]在研究中首次嘗試自動地構造狀態圖。他們使用了無監督學習算法,該算法從數據流中構建了DTMC。這種組合方法在人工合成的網絡流量上效果很好,但是誤報率仍然過高。

根據之前的研究,雖然DFA可用于以簡單的周期性模式對流量進行建模,但在使用多路復用進行流量建模時效果不佳[20]。除了每秒發生多次的頻繁掃描周期外,多路復用流量中還存在更多周期性模式。嘗試使用單個DFA為兩個以上的周期模式建模會產生一個非常大的模型:其正常模式包括數百次不同快速掃描周期的迭代,并且可能會重復長周期。因此,僅使用DFA的建模方法是不準確的,因為長周期循環并不總是在同一點中斷快速循環,并且當它們處于活動狀態時,兩種模式的符號可能會交錯?;跔顟B圖的離散馬爾可夫鏈建模方法在一定程度上利用了統計方法,提高了復雜多周期流量的識別能力,但誤差較大。此外,Kleinmann等[24]提出了一種通過頻譜分析自動構建狀態圖的建模方法,從而增強了識別和分離復雜多周期流量的能力。然而,由于兩個或多個不同生產操作所產生的流量具有高度相似的周期,因此這種情況在頻譜分析中也很難被準確識別。另一個需要關注的問題是頻譜分析建模方法中的主要周期檢測中的閾值設置問題。

2 基于IO地址分離和頻譜分析的自動化建模

2.1 方法流程

Caselli等[22]假設現代人機交互界面(Human Machine Interface,HMI)采用基于線程的體系結構,每個線程都負責某些任務,比如控制對可編程邏輯控制器(Programmable Logic Controller,PLC)上一系列寄存器的訪問,多個線程以不同的調度頻率并發運行,并共享相同的網絡連接。

以前的研究一般只對周期性進行建模,而沒有深入解釋工業控制系統協議的語義,因此存在一定的局限性。鑒于上述缺陷,本文提出了一種新的建模方法,該方法結合領域知識對多路復用流量進行準確的分離和頻譜分析,并自動構建出狀態圖模型。另外,本文嘗試自動選擇采樣間隔以及使用統計方法在檢測主導階段自動設置頻率能量閾值。整個建模過程如圖1所示。

圖1 基于IO地址分離和頻譜分析的建模結構

首先,獲取HMI與PLC間的通信流量,并對流量數據包進行深入解析。然后將解析的流量數據符號化(轉換為哈希值)。接下來,根據流量報文的IO地址進行通道分離,從而產生若干個IO通道。最后,分別對每個IO通道中的周期模式進行建模,其中可根據IO通道內周期模式情況設置DFA選擇器。

2.2 IO通道分離

1) IO通道。

實際上,在與PLC通信期間,HMI使用特定的報文來訪問特定的IO點。例如,假設PLC具有三個IO點,HMI將以指定的時間間隔訪問這三個IO地址來讀取和寫入數據。在讀取和寫入數據時,三個通道的時間間隔可能相同,也可能不同,但實際上,它們仍然是3個不同的IO通道。因此,流量數據中呈現出的不同周期模式的混合現象,其物理表現是上位機HMI對PLC中不同IO地址的周期性輪詢。在這種情況下,可以根據IO地址分離流量數據來獲取每個IO通道的流量,使得多路復用流量中存在的復雜混合周期模式能夠被初步準確地分離。

S7報文中協議數據單元(Protocol Data Unit,PDU)的最大長度在112到960字節之間。圖2是S7 0x32 PDU的結構圖[18],分為兩部分:報文頭部和參數。PDU包含報文頭部的9個字段和參數的8個字段,其中我們著重關注以下幾個字段:

? Protocol Data Unit Reference(Request Id)字段用于請求數據包和響應數據包之間的同步。

? Area字段,它是PLC存儲區的8位標識符。

? Address字段,它是數據項的24位地址。

圖2 S7 0x32 PDU結構:讀/寫請求報文的頭部和參數

Protocol Data Unit Reference、Area和Address三個字段是流量分離的關鍵。由于響應報文中沒有Area和Address字段,因此需要使用Protocol Data Unit Reference字段將請求消息和響應消息配對,以此來正確地將響應報文放入對應的IO通道中。

2) 流量分離與數據處理。

(1) 數據提取和流量分離。根據不同的<源IP,協議(TCP 102),目標IP>從原始PCAP中提取不同的S7Comm報文流。在此基礎上,本文分析了S7Comm有效負載,確定了所有不同的IO點,分離并提取了每個IO通道中所有報文的關鍵字段。

(2) 報文流量的符號化構造。將從每個報文數據中提取到的關鍵字段拼接為一個字符串,并使用SHA-1進行哈希計算以獲得與報文記錄對應的哈希字符串作為輸入符號。

2.3 頻譜分析建模

完成上述流量分離后,根據每個IO通道中的流量生成二進制符號序列。然后使用頻譜分析方法進行建模[24]。頻譜分析不僅可以識別每個IO通道的流量周期,還可以確定通道是否存在多種周期模式。

1) 輸入序列構建。

將每個通道收集到的數據劃分為特定持續時間的時間段Δtμs,令采樣的頻率FAS=1/Δt和學習窗口中的采樣數為N=T/Δt。當然,Δt應大于報文傳輸所需的時間。

將HMI-PLC通道中每個IO通道的通信流量處理為二進制值信號x[i]:對于每個采樣間隔Δti,如果存在至少一個流量符號,則設置x[i]=1,否則x[i]=0。

考慮建模過程實現自動化需要適應不同的數據集的情況,本文加入一個采樣間隔時間的自適應方法。構造多個不同采樣間隔Δt的二進制符號序列,分別計算不同采樣時間間隔下序列中的符號占比,即二進制序列中1的數量占序列總長度的比值,用r表示。設兩種采樣間隔Δt1、Δt2,分別構造對應的二進制序列并計算各自的符號占比r1、r2,如果|r1×(Δt2/Δt1)/r2-1|小于等于一個閾值t(理論上可為一個較小的常數值,如0.1%),則選用Δt2。

2) 頻譜分析。

在獲得適當的采樣間隔和相應的二進制序列后,使用周期圖法自動提取主導周期(峰值)[22]。首先,找到周期圖中的頻率能量局部最大值(局部峰值)。然后,使用頻率能量閾值(TFE)過濾掉值低于其局部峰值。

一旦過濾掉低于TFE的頻率能量峰值,將得到一個主導周期對應頻率的候選列表。接下來,由于只需要保留原始周期,所以需要濾除高次諧波(頻率是原始周期頻率的正整數倍的周期)。例如,對于一對周期,假設它們的頻率為f1、f2,并且f1>f2,如果(或幾乎)f1是f2的整數倍,則將f1丟棄。為此,本文定義了頻率統一閾值(TFU),我們設置k=f1/f2并在本文研究工作中將TFU值設置為4%。如果|k-?k?|

圖3 檢測主導周期過程的示例

在返回與每個IO通道的主導周期相對應的一組頻率值后,需要在不同通道中找到每種模式的符號。對于已完成分離的IO通道,執行以下操作:

(1) 通過檢查每個IO通道的符號流找到另一個符號集σ。

(2) 對于每個IO通道的每個不同符號s∈σ,首先創建一個二進制信號序列,表示不同通道內s的出現情況。然后,計算IO通道每個主導周期中s的頻率能量值。

(3) 對于每個主導周期,找到其符號的最大頻率能量值,并為頻率能量設置一個可配置的閾值。然后濾除頻率能量低于閾值的符號。

(4) 請注意,符號s在周期中可以出現多次。對于每種循環模式,希望找到每個符號的出現次數。

(5) 根據上面找到的符號,包含該符號的字典對應于時間戳,獲得圖案符號的順序,最后返回周期性圖案符號的有序列表,以用于下一個DFA建模。

3) 頻率能量閾值的自動設置方法。

在主導周期檢測部分,本文根據Vlachos等[25]提出的方法定義閾值。他們假設一個非周期時間序列的規范模型。離散傅里葉變換系數的大小根據指數分布進行分配,其中λ是峰值的平均功率的倒數(以μ表示)。令TFE為代表μ百分比的可配置值,低于該值的周期圖頻率可以丟棄。令X為模型的周期圖,其累積分布函數如下:

(1)

令P′=1-P,P′表示返回的時段是重要的置信概率。在這種情況下,Vlachos等建議將P設置為較低的值并按照計算相應的TFE:

TFE=-μ·ln(P)

(2)

然而,對于不同的數據集,很難通過設置P來確定TFE。在Barbosa等[18]的研究中,他們是通過人工觀察周期圖來確定一個類似本文中頻率能量閾值(TFE)的值完成頻率過濾的。Vlachos等[25]的研究也沒有涉及能夠適應不同數據集的自動設置閾值的方法。另外,考慮到在分離流數據之后每個IO通道的循環模式將變得相對簡潔,因此嘗試使用統計方法來自動設置TFE。

分離后每個IO通道的周期模式相對簡單。進一步統計了通道中輸入符號的周期圖分析結果,發現在主導周期檢測過程中,大于TFE的頻率能量峰值數量較少。因此,可以根據頻率能量峰值數目的變化程度來自動設置TFE:

(1) 將頻率能量值分成固定長度的段(在本文的工作中,設置10個單位的頻率能量為一個段)。

(2) 計算每個頻率能量段中的峰值數量,并繪制其數量統計分布圖。

(3) 使用斜率法來判斷數量分布的變化。當頻率能量峰值數量的變化程度(即數量統計曲線的斜率)大于或等于(最大峰值數量/頻率能量的最大值)時,可以得到當前的頻率能量段并計算原始頻率能量峰值。將滿足條件的該頻率能量峰值設置為頻率能量閾值TFE。

(4) 為了避免各段頻率能量值波動的影響,對定量統計曲線進行高階多項式擬合處理:

(3)

3 實驗分析

3.1 數據集

本文所使用的訓練數據集來自SCADA系統的真實測試平臺。從控制層網絡(環網)中的多個交換機中獲取了所需的實驗流量。網絡拓撲如圖4所示。

圖4 SCADA系統測試平臺網絡拓撲結構

此外,為了模擬不同的異常情況,合成了三種用于檢測實驗的含噪聲數據:(1) 隨機插入未知的周期模式符號;(2) 在通道中隨機插入已知的周期模式符號;(3) 為其他IO通道隨機插入完整周期的周期模式符號。

3.2 實驗結果及分析

實驗應用了最新的IO地址分離和頻譜分析方法,并調整了自適應算法的參數,并且將它與先前的4種建模方法進行比較,基準是已知的理想模型(由于流量數據是從測試平臺捕獲的,因此其輪詢周期是已知的,并通過人工手段確定了正確的狀態圖模型以及每個IO通道中正確DFA):

(1) 使用單個簡單的DFA構建模型。

(2) 使用兩個DFA串聯進行模型構建。

(3) 使用DTMC來構建用于模型構建的狀態圖。

(4) 使用頻譜分析方法建模。

(5) 使用IO地址分離和頻譜分析方法建模。

(6) 理想模型。

圖5、圖6分別顯示了每種方法在實驗數據上的平均建模精度對比,以及在復雜周期條件下對數據的建模精度對比。可以看出,本文方法與其他方法相比具有更好的建模精度。具體地,在流量周期復雜的情況下(即周期模式多且相互夾雜混合),簡單的DFA和2-DFA方法基本上不能在多路復用的流量數據上構建準確的模型。離散時間馬爾可夫鏈的組合方法可以生成部分正確的狀態圖模型,而頻譜方法可以生成相對而言更好的狀態圖模型。IO地址分離和頻譜分析相結合的方法具有最高的準確性。圖7顯示了對所有數據進行建模時每種方法的誤報率??梢钥闯觯贗O地址分離的新方法具有更好的建模效果。

圖5 實驗數據集上的平均建模精度對比

圖6 周期復雜數據集上的建模精度對比

圖7 不同建模方法的誤報率對比

圖8比較了以不同置信度進行主導周期檢測進而構建模型的頻譜分析方法的建模精度和使用自動配置符號頻率能量閾值的新方法的建模精度。其中星型折線表示人工設置不同置信概率結果,折線表示自動配置符號頻率能量閾值的結果。實驗結果表明,新方法與符號頻率能量閾值的自動配置相結合,在一定程度上減少了建模時的人工干預,具有一定的效果。

圖8 自適應頻率能量閾值方法測試

4 結 語

本文針對SCADA系統多路復用流量提出了一種基于IO地址分離和頻譜分析的自動構建狀態圖模型的新方法。首先,本文算法深度解析流量報文的語義,根據IO地址屬性分離流量通道,然后分別為每個子通道建立DFA模型,并且不需要事先知道流量數據總共有多少個子通道。應用新方法可以降低流量復雜度從而對子通道進行更準確的建模,這將大大提高建模精度。另外,在頻譜分析部分嘗試優化了采樣間隔的選擇以及在檢測主導周期階段使用統計方法來探索關鍵閾值的自動化設置。本文使用從SCADA系統測試平臺上捕獲的數據以及合成數據評估了新的解決方案,流量協議使用Siemens S7- 0x32協議。對比實驗表明,本文方法在建模精度方面優于其他方法,并且在保證建模效果的前提下減少了人工干預。未來將繼續測試新建模算法的性能,提高檢測模型在真實數據場景下的適應性,并繼續探索模型的自動化構建。

猜你喜歡
符號檢測方法
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
學符號,比多少
幼兒園(2021年6期)2021-07-28 07:42:14
“+”“-”符號的由來
變符號
小波變換在PCB缺陷檢測中的應用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 免费毛片a| 国产区人妖精品人妖精品视频| 亚卅精品无码久久毛片乌克兰| 日韩免费无码人妻系列| 这里只有精品在线播放| 国产特一级毛片| 亚洲精品无码在线播放网站| 国产在线观看99| 男人天堂伊人网| 国产美女免费网站| 91久久偷偷做嫩草影院精品| 蜜桃臀无码内射一区二区三区| 青草91视频免费观看| 亚洲精品欧美重口| 国产成人超碰无码| 日本在线国产| 亚洲一区二区精品无码久久久| 成人国产精品网站在线看| 高清无码不卡视频| 韩日午夜在线资源一区二区| 911亚洲精品| 欧美一级特黄aaaaaa在线看片| 欧美精品xx| 欧美成人aⅴ| 免费高清毛片| 凹凸精品免费精品视频| 欧美在线精品一区二区三区| 国产拍揄自揄精品视频网站| 福利在线免费视频| AV熟女乱| 人妻21p大胆| 国产一区二区三区在线观看免费| 波多野结衣视频一区二区| 亚洲天堂在线免费| 国产小视频a在线观看| 久久99蜜桃精品久久久久小说| 国内毛片视频| 国产综合另类小说色区色噜噜| 亚洲91精品视频| 久久综合色天堂av| 亚洲人成网18禁| 好久久免费视频高清| 亚洲国产精品国自产拍A| 久久夜色撩人精品国产| 亚洲AV无码一区二区三区牲色| 丰满人妻久久中文字幕| 呦女精品网站| 久久国产香蕉| 国产女人18毛片水真多1| 久久6免费视频| 青青青国产免费线在| av色爱 天堂网| 91精品专区国产盗摄| 99这里只有精品免费视频| 久久精品丝袜| 免费 国产 无码久久久| 亚洲中文字幕国产av| 国产亚洲欧美日韩在线观看一区二区 | 亚洲αv毛片| 就去色综合| 狠狠干综合| 黄色网址免费在线| 青草精品视频| 久久无码av三级| 国产成人高清精品免费软件| 网友自拍视频精品区| 日本欧美精品| 亚洲中文无码h在线观看| 无码AV日韩一二三区| 亚洲天堂免费| 精品久久高清| 精品国产电影久久九九| 成人字幕网视频在线观看| 国产成人综合网在线观看| 亚洲欧美在线综合一区二区三区| 青青草国产在线视频| 熟女视频91| 色偷偷av男人的天堂不卡| 欧美天堂在线| 国产乱人乱偷精品视频a人人澡| 亚洲一区二区三区在线视频| 四虎永久在线精品国产免费 |