天天看點

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

SHADOWPLCS: A Novel Scheme for Remote Detection of Industrial Process Control Attacks

  • 本文系原創,轉載請說明出處
  • 内容提煉
  • 摘要
  • 主要内容
    • 1 背景知識
      • 1.1 工業控制系統的基本環境組成
      • 1.2 PLC的工作過程
      • 1.3 PLC規範語言
      • 1.4 PLC控制邏輯監測
    • 2 攻擊模型建構
      • 2.1 攻擊者模型
      • 2.2 攻擊場景
      • 2.3 尋址攻擊
    • 3 方法
      • 3.1 利用PLC代碼生成基于簽名的檢測規則
      • 3.2 基于主動和被動的攻擊檢測模型
        • 3.2.1 被動檢測
        • 3.2.2 主動檢測
    • 4 實驗設計與評估結果
      • 4.1 實驗設計
      • 4.2 實驗結果

論文作者:Junjiao Liu, Xiaodong Lin, Xin Chen,Hui Wen,Hong Li,Yan Hu,Jiawei Sun,Zhiqiang Shi and Limin Sun

論文連接配接:https://ieeexplore.ieee.org/document/9301471

本文系原創,轉載請說明出處

Welkin Chan. 一種針對系統攻擊的遠端檢測方案.

内容提煉

該論文的檢測思想很完備,從主動與被動的兩種角度出發建構檢測方式。同時,該論文從工控流程本身出發,以兩類攻擊方式:惡意資料注入以及控制邏輯注入為主,将攻擊場景設定成非法位址通路攻擊、惡意資料注入攻擊、篡改配置攻擊、控制邏輯幹擾攻擊、控制程式替換攻擊五種,按照這些攻擊方式在工控過程中的向量分布構想檢測方案。

  1. 首先通過對PLC代碼分析擷取有效位址規則、有效值範圍規則、控制邏輯規則。
  2. 然後,被動檢測通過對通信資料流分析的方式,對資料流按照協定規則進行分解,提取出源端口、源位址等要素,按照三種白名單依次分析是否有非法連接配接、操作非法位址、非法值。
  3. 主動檢測針對惡意資料注入、密鑰配置以及控制程式被篡改或替換等攻擊,通過與PLC主動建立連接配接,按協定建構網絡資料包,讀取寄存器變量,在不影響PLC正常運作的情況下對PLC的存儲空間進行映射,并将映射所擷取的記憶體空間中的值與有效值呵控制邏輯白名單進行對比,以驗證是否遭到注入、篡改或替換等攻擊。

優點:

  1. 深度結合工業過程。PLC通過PLC程式自動控制實際的工業過程。是以,由PLC代碼生成的檢測規則比基于網絡流量的模組化和規則提取更全面,能夠充分反映真實的受控過程。同時,使用程式規則來檢測工業過程控制攻擊更為有效。
  2. 無需額外人力。ShadowPLC可以通過對PLC控制代碼的自動分析,自動、全面地生成權威的檢測規則,而無需人工依賴經驗和手動配置和模組化。
  3. 程序控制攻擊很難被繞過。我們的方案結合了主動和被動方法,從不同角度檢測攻擊行為。由于我們深入了解受控過程并主動映射相應的PLC寄存器變量,這使得攻擊者更難進行隐蔽攻擊。為了逃避檢測,攻擊者需要了解真實的工業流程,并能夠實時響應IDS符合受控流程的虛假資料。這通常需要深入PLC,攻擊PLC固件并修改其網絡處理子產品,而不是簡單地通過中間商避免檢測。
  4. 應用廣泛。根據我們提出的檢測方案,我們可以定制不同PLC裝置的開發,并實際實施,以對IC進行實質性防禦。

缺點:

  1. 型号局限性。盡管幾乎所有PLC語言都遵循IEC 61131-3标準,但不同品牌和型号的PLC的程式設計語言可能存在一些差異。是以,當通過分析PLC代碼生成檢測規則時,必須針對不同類型的PLC進行定制開發。
  2. ShadowPLCs不适用于加密的專用工控系統協定。無論是被動檢測還是主動檢測,對ICS協定的分析都是最基本和必要的。IDS工程師需要能夠深入了解協定格式和通信方法,能夠提取重要資訊并建構資料包,以便基于ICS協定與PLC通信。
  3. 主動檢測方法無法對設定了通路權限的PLC裝置執行攻擊檢測。然而,大量PLC裝置目前并不限制PLC寄存器變量的遠端讀取。

摘要

随着針對工業控制系統(ICS)的攻擊越來越多,工業控制系統(ICS)安全變得越來越重要。盡管過去已經提出了許多現成的工業網絡入侵檢測機制,但攻擊者總能找到獨特的僞裝方法來繞過檢測并破壞實際的工業控制過程。為了緩解這一缺陷,我們提出了一種新的檢測工業過程控制攻擊的方案,稱為ShadowPLC。具體來說,該方案首先自動分析PLC的控制代碼,然後提取PLC的關鍵參數,包括有效寄存器位址、有效值範圍和控制邏輯規則,作為評估攻擊的基礎。通過與PLC的主動通信和對網絡流量的被動監控,從不同角度實時檢測攻擊行為。我們以西門子S7-300系列PLC為例實作了一個原型系統。使用部署在天然氣管網平台上的兩台西門子S7-300 PLC對我們的方案進行了評估。實驗表明,該方案能夠在不影響PLC正常工作的情況下實時并準确地檢測過程控制攻擊。與其他四種具有代表性的檢測模型相比,該方案具有更好的檢測性能,檢測準确率達97.3%。

主要内容

1 背景知識

1.1 工業控制系統的基本環境組成

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

工控系統環境由控制中心和工業廠點構成,連接配接控制中心和工業廠點的便是PLC。PLC是一種帶有微處理器的數字邏輯控制器,這些微處理器通過程式設計定義控制邏輯,以維持實體過程的預期狀态。PLC通過監測網絡連接配接到控制中心。工程站将過程控制程式下載下傳到PLC,然後PLC根據程式訓示的控制邏輯自動控制工業生産。操作員站點通過從PLC請求工業現場的測量資料來監控工業過程。必要時,操作員可向PLC發送控制指令,對生産過程進行相應操作。在工業廠點,PLC連接配接到傳感器和執行器,控制程式使用傳感器資料作為輸入并設定輸出以激活執行器。

1.2 PLC的工作過程

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

(PLC内部結構)

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

(PLC工作流程)

PLC的工作過程在循環掃描中執行。當PLC處于運作狀态時,其運作周期可分為三個基本階段:

  1. 輸入采樣階段。PLC逐個掃描每個輸入端口,将所有輸入裝置的目前狀态儲存到相應的存儲區,并将專用于存儲輸入裝置狀态的存儲區作為輸入映像初始化(在計算機系統中image一般翻譯為鏡像);
  2. 程式執行階段。CPU從使用者程式存儲區讀取使用者指令,在執行相應操作後,生成相應結果,并重新整理相應的輸出映像寄存器。在此期間需要輸入映像寄存器、輸出映像寄存器、中間寄存器等的相應狀态;
  3. 輸出重新整理階段。系統程式将輸出映像寄存器的内容傳輸到輸出鎖存器,并通過輸出終端來傳遞輸出以驅動外部負載。輸出鎖存器保持其狀态直到下一個周期,而輸出寄存器的狀态在程式執行階段是動态的。

1.3 PLC規範語言

國際電工委員會标準IEC 61131-3是PLC語言的國際标準,規定了控制邏輯程式設計中的文法、語義和顯示,并對以前的程式設計語言進行了部分修改,形成了目前通用的五種語言:梯形圖(LD),順序功能圖(SFC)、功能框圖(FBD)、結構化文本(ST)和指令表(IL)。

1.4 PLC控制邏輯監測

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

(TIA線上檢測PLC程式的運作狀态)

幾乎所有的PLC程式設計軟體都提供了一種程式監控模式,允許遠端直覺地監控PLC程式的運作狀态。如圖3所示,TIA門戶V13線上監控西門子S7-300 PLC的梯形圖程式。它主動與PLC通信,以擷取目前運作狀态并以圖形方式顯示。圖3中的梯形圖邏輯可以轉換為數學表達式(I0.0&M30.0)|(I0.1&┒DB20.DBX0.0)| M30.0 = Q0.0。此時,在PLC中,輸入寄存器I0.0和I0.1、中間寄存器M30.0和M30.1、資料塊DB20.DBX0.0(原文次數少寫了個字母)和輸出寄存器Q0.0的值分别為1,0,1,0,1,1。

将它們引入到數學邏輯運算中,我們可以得到與圖3相同的結果。這是一種低幹擾方法,不會影響PLC的正常運作。受此啟發,我們的入侵檢測方案從PLC代碼中提取檢測規則,并使用低幹擾方法與PLC通信,映射其記憶體中的目前資訊,對工業控制過程進行實時遠端監控,并發現過程控制攻擊行為。

2 攻擊模型建構

對于攻擊者來說,攻擊ICS的最終目标是在不被進階IDS或工廠操作員檢測到的情況下操作實體程序。在本節中,我們首先讨論正在考慮的對手模型,然後介紹五種典型的攻擊場景。

在這項工作中,我們調查了近年來對PLC的網絡攻擊,将主要的攻擊方法分為兩類:1)虛假資料注入。2)控制邏輯注入。

2.1 攻擊者模型

  1. 虛假資料注入是指将不符合工業控制過程的惡意資料注入PLC,最終導緻過程控制的破壞。例如,寫入反轉或最小/最大值,修改關鍵設定點變量值和過程值。
  2. 控制邏輯注入是指篡改或替換目标PLC上運作的原始控制邏輯。攻擊者通過幹擾正常下載下傳/上傳控制邏輯工程操作,将惡意控制邏輯注入目标PLC。”Stuxnet“蠕蟲篡改了PLC控制程式,加快了伊朗核電站的離心機速度,并對曆史資料做出反應,使控制中心感到困惑。

2.2 攻擊場景

基于上面讨論的對手模型,我們考慮了以下攻擊場景,這可能會嚴重破壞工業控制過程:非法位址通路攻擊、惡意資料注入攻擊、配置篡改攻擊、控制邏輯感染攻擊和控制程式替換攻擊。在本文中,我們隻關注這五個工業過程控制攻擊場景,并且不考慮實體攻擊、固件攻擊、側信道攻擊等,因為它們可能不太可行或有害,或者可以被現有的IDSs檢測到。

(1) 非法位址通路攻擊。在此攻擊場景中,假設攻擊者面對的是黑盒PLC,但對手有能力遠端通路PLC的寄存器空間。為了有效地攻擊PLC,對手将首先探測PLC的寄存器空間,以找到關鍵的攻擊執行點。例如探索PLC使用的輸入和輸出接口、定時器、計數器、關鍵參數。這種攻擊很容易發動,對手不需要知道實際的工業過程。

(2) 惡意資料注入攻擊。假設對手已經知道PLC中的一些關鍵控制點,如寄存器Q0.0,以控制閥門的開啟或關閉。常見的攻擊方法是強制對寄存器位址執行寫操作,覆寫寄存器的目前值。例如,在污水淨化完成之前,閥門關閉。此時,寄存器Q0.0為“0”。對手強行将“1”注入Q0.0,覆寫了Q0.0的實際狀态,導緻閥門打開,污水洩漏。這種攻擊簡單而粗魯,效果顯著,但不易隐藏。

(3) 篡改配置攻擊。假設對手對工業過程有所了解,他們通過惡意篡改關鍵程式配置資訊間接破壞工業過程。例如,篡改計時器和計數器設定等,會發起釋放攻擊。

(4) 控制邏輯感染攻擊。假設對手有能力竊取PLC的目前控制程式。它們通過感染控制程式幹擾實際的工業過程。例如,将I/O寄存器中的值替換為記憶體中的某個可控值,以控制執行器的狀态、插入/删除指令-s/梯級、替換方程式中的運算符、修改設定點、修改控制流行列式(影響控制邏輯條件分支決策的變量)等。

(5) 控制程式替換攻擊。在此攻擊場景中,對手不會感染原始PLC控制程式,而是植入惡意控制代碼并嘗試讓PLC執行它們。由于這種攻擊完全由對手控制,以摧毀他們想要完成的任何工業過程,是以具有很強的隐蔽性,具有破壞性,随時可以發動。典型的攻擊,如資料執行攻擊、碎片攻擊和噪聲填充攻擊。

2.3 尋址攻擊

最先進的ICS(Industrial Control System) 的IDS本質上是周期性地監控ICS網絡消息的内容,并驗證它們是否發生了重大變化。由于它們在ICS網絡中是恒定的或可預測的,是以這些IDS對非法位址通路攻擊和惡意資料注入攻擊具有一定的檢測效果。然而,ICS網絡流量缺乏對程式配置、控制邏輯運作狀态等的實時監控,是以IDSs對控制邏輯感染攻擊和控制程式替換攻擊的檢測效果一般較差。

3 方法

3.1 利用PLC代碼生成基于簽名的檢測規則

控制邏輯是在控制實際工業過程的PLC中重複執行的程式。PLC代碼攜帶最全面和完整的控制過程資訊,如觸點、線圈、指令等,它們以常量值或寄存器位址的形式作為變量,僅通過鏡像ICS網絡流量是無法擷取這些資訊的。而通過分析PLC代碼,可以識别出IDS簽名集主要有三種白名單規則:有效位址規則、有效值範圍規則和控制邏輯規則。

1) 有效位址規則。PLC内部的有效位址空間是固定的,它與控制程式有關。在正常情況下,控制中心隻通路一些有效位址,并且讀取大多數操作,因為有效位址存儲目前裝置狀态資訊。由于缺乏對ICS的了解,許多攻擊者使用暴力方法感染易受攻擊的寄存器。如果存在超出有效位址範圍的通路,則可以快速識别這種異常行為。

2) 有效的值範圍規則。PLC代碼包含重要的配置資訊,一旦它們被篡改,被PLC控制的裝置穩定狀态就會被破壞。舉個例子,設定點資訊,如計時器和計數器,篡改它們可能會導緻提前或延遲攻擊;一些關鍵變量的數值範圍,如離心式變頻器驅動器的頻率轉換範圍在807Hz和1210Hz之間;又如一些特殊指令也會影響數值範圍,如“div”指令不能除以0,否則會導緻裝置故障。我們分析PLC代碼并生成有效的值範圍規則來監控PLC中的關鍵配置資訊。

3) 控制邏輯規則。ICS通過PLC程式的控制邏輯指導工業生産過程。常用的控制方法有開關邏輯控制、模拟控制、運動控制、過程控制等。PLC中的各種寄存器變量(如輸入寄存器、輸出寄存器、中間寄存器、定時器、計數器等)互相配合以完成自動化控制目标。是以,我們解析PLC代碼,提取寄存器變量之間的邏輯關系,然後生成控制邏輯規則。使用這些規則作為基線,檢測惡意攻擊,如PLC控制邏輯感染或程式替換。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

如圖4所示,我們以單向交通燈控制為例,示範如何使用PLC代碼生成基于簽名的檢測規則。單向交通燈控制程式包含兩個檔案。一個檔案是程式源代碼,它是信号燈的自動控制程式。另一個檔案是PLC變量表,它記錄變量名稱、實際PLC位址和資料類型。我們首先查詢變量表并替換源代碼中的變量名。

如圖4的前兩個塊,即PLC Control Code的所示,例如“Run”<-> I0.0,“Stop”<-> I0.1和“Tag_1”<-> M0.0。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

即PLC控制代碼的右側雙引号包括一欄為“name”一欄,對應着位址。然後對代碼指令進行詞彙、文法和語義分析,生成有效位址規則,如有效位址I0.0、I0.1、M0.0、T2、T0;有效的值範圍規則,如T2∈ [0,60s];和控制邏輯規則,如I0.0&¬I0.1→ M0.0,M0.0&¬T2→ T0。

是以,由PLC Control Code、PLC Variable Table組合,可以生成控制邏輯規則、有效值範圍規則以及有效位址規則,一一對應圖四中的三個闆塊。

注:這個PLC控制代碼是西門子S7-400PLC代碼的指令集,可關注公衆号信安科研人,發送“西門子指令集”擷取pdf版檔案。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

3.2 基于主動和被動的攻擊檢測模型

該論文提出了一種主動和被動相結合的入侵檢測方案。如圖5所示,該IDS包括兩部分:被動檢測引擎和主動檢測引擎。被動檢測引擎通過被動監控網絡流量來檢測異常行為,如非法位址操作和非法值沖突。主動檢測引擎主動與PLC進行通信,以低中斷和輪詢映射PLC的存儲空間,并實時監控工業控制過程中的異常情況。

攻擊者很難繞過主動和被動相結合的入侵檢測方案,并且很難隐藏自己。因為他們需要不斷模拟工業生産現場的正常狀态,符合控制邏輯,甚至需要篡改裝置的固件或網絡通信子產品,而不是通過簡單的ARP欺騙和重放資料包等傳統手段欺騙IDS和控制中心。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

3.2.1 被動檢測

被動檢測引擎首先鏡像(複制資料流)流經工業交換機的網絡流量,通過深入解析工業控制協定,提取五元組資訊(源IP、目的IP、源端口、目的端口、傳輸層協定)、操作位址、操作指令和具體值。然後檢查上述資訊是否符合有效位址白名單和有效值範圍白名單,并檢測非法連接配接、非法位址操作、非法值等異常行為。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

如圖6所示,網絡資訊清單的紅色部分表示異常。計數器C1.0的有效範圍在0到20之間,但網絡中C1.0的值為23,是以報警為C1.0非法越界。在第2行資料裡面,M30.0不在有效位址規則的白名單中,是以M30.0是非法位址。第3行資料裡面, IP 192.168.20.4和端口35555是新連接配接,不在白名單中,是以将被認作是非法連接配接。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

算法1顯示了被動檢測的過程:

第1行表示深度解析協定,并提取五個元組、位址、操作和值。

第2行是非法連接配接檢測。當網絡流量中出現未知IP、未知端口和未知通信時,會報警以非法連結。

第4行檢測非法位址。當網絡流量中存在PLC實際未使用的位址時,會報警以非法位址;

第6行表示檢測到非法值範圍。當值超出範圍等時,會報警以非法值範圍。

3.2.2 主動檢測

主動檢測引擎主要檢測程式控制邏輯的異常,防止重要的記憶體位址被注入惡意資料、密鑰配置以及控制程式的被篡改或替換。控制邏輯規則通常由多個寄存器變量組成。這些變量一度可以被用來檢測PLC的目前程式運作狀态,由于PLC與控制中心之間的通信網絡是靜态的,工業現場狀态監測采用請求-響應方式,無法滿足同時監測相關的多寄存器變量的要求。

我們主動地與PLC建立連接配接,根據通信協定格式建構網絡資料包,一次讀取多個相關寄存器變量,并在不影響PLC正常運作的情況下映射PLC的存儲空間。具體的說,主動檢測子產品首先主動連接配接到PLC并映射相應的記憶體空間,然後驗證它們是否滿足有效值範圍白名單和控制邏輯白名單。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

圖7展示了控制邏輯攻擊檢測的例子DataItemMap<address,value> 表示被主動檢測子產品映射的記憶體空間。寄存器位址和參數值則是<>中的鍵值對(圖7中的藍色字型),即左邊是寄存器位址,右邊是寄存器的值。控制邏輯規則是檢測基準,如第一行的DB20.DBX0.06&DB20.DBX0.0 | (DB20.DBX0.1&¬DB20.DBX0.0)|M32.0 →Q0.0。

如果任意一個結果,即DB20.DBX0.6 & DB20.DBX0.0或DB20.DBX0.1&¬DB20.DBX0.0或M32.0中任意一個結果為1,則Q0.0輸出1,否則輸出0。是以,1&1|(0&¬0)|0→ 1與控制邏輯規則1比對,這意味着行為正常。同樣,紅色表示1&0 |(0&0)→ 0, 0 & (10 = 0) & ¬0 → 1和1&0 | (0&¬1) 0→ 1與控制邏輯規則不比對規則2及規則3,它将警告PLC可能的控制邏輯攻擊,并可定位可疑寄存器和代碼段。

主動檢測引擎以主動、低幹擾和輪詢的方式檢測PLC是否被攻擊,其核心部分如算法2所示。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

首先,與PLC(1号線)建立通信連接配接;然後攻擊檢測(第2行至第16行);

最後,當有任務更改需求時,連接配接斷開,任務被銷毀(第17行,第18行)。

在攻擊檢測階段,第一步是加載控制邏輯規則、有效值範圍規則和有效位址規則(第4行),以擷取寄存器位址和資料類型。其次,根據協定格式建構請求包并發送到PLC(第5行、第6行)。第7行和第8行表示接收響應資料并解析協定以提取寄存器變量值;最後,檢查有效值範圍和控制邏輯是否存在異常(第9行至第15行)。第16行表示請求頻率的設定,以實作對PLC的低幹擾。

4 實驗設計與評估結果

4.1 實驗設計

階段一: 基于PLC代碼生成攻擊檢測規則

1、 在進行攻擊檢測前,需要提取檢測規則,這就需要對PLC代碼進行分析。一般來說,有兩種方法擷取PLC代碼,一種是直接從官網等擷取源代碼,另一種是通過反編譯機器代碼。本工作使用第二種方法。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

反編譯的流程見圖9這裡需要知道STL是 statement list的縮寫。如圖9,按照MC7代碼的特征值對原資料位元組進行分塊,并按照特征(見TABLE 1)對分的塊進行語義分析,也就是按照MC7的結構進行資料分塊。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

反編譯完成後,就到了檢測規則的生成階段。

1、首先對西門子S7-300/400的STL程式文本檔案進行預處理,預處理主要包括代碼段剪切和程式壓縮。通過代碼段切割,可以劃分STL的主程式段;程式壓縮可以消除不影響控制邏輯的不必要指令,減少程式自動分析和白名單規則提取的負擔。

2、經過預處理後,我們對STL程式進行了自動分析。通過詞法分析和文法分析,解決了操作類型、位址類型、比較條件等問題,推測了過程變量最可能的資料類型和取值範圍,提取了有效位址白名單和有效取值範圍白名單。通過語義分析,可以準确提取過程變量之間的相關性,提取控制邏輯白名單。階段1的具體流程見下圖

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

階段二:

在此階段,我們将介紹程序控制攻擊檢測的實作細節。在這項工作中,我們采用低幹擾、主被動相結合的入侵檢測方法,并且不影響PLC的正常運作。據我們所知,這是首次将主動和被動相結合應用于ICS攻擊檢測的工作。如圖8所示,我們的過程控制攻擊檢測由兩部分組成:被動檢測引擎和主動檢測引擎。在攻擊檢測之前,将有效值範圍白名單、有效位址白名單和控制邏輯白名單植入檢測引擎。兩個檢測引擎同時運作并協同工作,從不同角度檢測ICS的攻擊行為。

ICS協定的深度解析是ICS網絡入侵檢測的基礎。S7通信(S7comm)是西門子S7-300/400系列PLC采用的專用通信協定。控制中心上傳/下載下傳PLC程式、控制指令的讀/寫請求以及PLC對應的響應均按照本協定執行。

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

在圖8中,主動檢測引擎和被動檢測引擎互相協作,從不同角度檢測異常行為。被動檢測引擎首先鏡像流經工業交換機的網絡流量,然後深入解析S7comm協定,提取五個元組、操作、位址和值,最後比對有效位址白名單和有效值範圍白名單,檢測非法連結、非法操作位址和非法值。

特别地,主動檢測引擎通過低幹擾、切片、輪詢和主動分組發送來讀取有效位址空間的目前值。主動檢測引擎首先加載控制邏輯規則,并根據S7comm協定格式構造多位址讀取資料包。然後,它與PLC通信以發送和接收資料。最後,驗證控制邏輯是否異常。

4.2 實驗結果

一種針對工控系統攻擊的遠端檢測方案(工控系統安全)本文系原創,轉載請說明出處内容提煉摘要主要内容

幾個IDS 對五種不同攻擊檢測的準确率結果如上圖,這裡不再贅述。

繼續閱讀