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

西門子SCADA網絡場景指紋自提取及異常檢測

2017-10-13 20:09:31周安民
網絡安全技術與應用 2017年3期
關鍵詞:檢測系統

◆何 鋼 周安民

?

西門子SCADA網絡場景指紋自提取及異常檢測

◆何 鋼 周安民

(四川大學電子信息學院 四川 610065)

本文針對Supervisory Control And Data Acquisition(SCADA)系統中廣泛使用的S7協議 ,在有限狀態機(DFA)模型的基礎上提出了SCADA網絡場景指紋的方法,結合圖論的中鄰接矩陣的概念,實現了SCADA網絡場景指紋的自提取,并利用該方法對工控系統SCADA網絡實時數據進行監測,該方法減少了大量的人工分析并有效的提升了SCADA系統的安全性。

S7協議;場景指紋;自提取;安全

0 引言

SCADA系統,即數據采集與監視控制系統。廣泛應用于工業生產的各個領域,例如電力、冶金、石油、水利、化工、燃氣、鐵路等,對現代工業的生產起著至關重要的作用。SCADA系統主要包括HMI(人機界面)、PLC(可編程邏輯控制器組成)和RTU(遠程控制終端)。其中,數據采集由RTU或PLC負責,包括讀取感測器數據、根據SCADA系統需求發送設備的狀態報告。控制室中的操作員采用HMI了解系統狀態,并決定是否要對PLC或RTU進行控制。

很多SCADA系統存在安全性方面的不足,如沒有針對惡意攻擊的檢測、網絡沒有認證機制、所有數據傳輸都是明文。目前,對SCADA系統網絡進行異常檢測是非常必要的。西門子的SCADA系統作為全球應用最廣泛的SCADA系統之一,對其進行異常檢測的研究也是眾多研究熱點之一。

SCADA系統網絡是由多個HMI-PLC網絡組成的。Goldenberg[1-3]和Wool[1-3]在2013年和2015年針對Modbus和S7 SCADA網絡分別提出了基于DFA的入侵檢測模型。但是其模型基于的是Modbus和S7協議的高度周期特性。本文通過對S7 SCADA網絡進行分析,發現在HMI與PLC通信中,S7協議并沒有保持高度周期特性,因此,針對S7協議應用層數據,在DFA模型的基礎上提出場景指紋的概念,為每一個HMI-PLC的數據交互建立場景指紋,實現了場景指紋的自提取,并利用場景指紋成功檢測出SCADA網絡異常。

1 S7協議

1.1 數據采集

本文的數據來自西門子工控實驗平臺。圖1為西門子工控實驗平臺網絡拓撲結構圖。整個系統仿真了發電廠的發電過程。現場工控層包含一臺工程師站、一臺操作員站和一臺實時服務器,其中,工程師站主要對PLC進行程序編寫下載,操作員站和實時服務器安裝了西門子HMI軟件,用于監控現場設備層;現場設備層包含了兩臺S7-200和一臺S7-300,S7-200控制蜂鳴器報警系統,S7-300控制電機轉速,從而實現發電的功能。現場控制層和現場設備層通過核心交換機相互連接。利用Tcpdump的網絡嗅探能力在核心交換機處采集工控系統HMI與PLC實時交互數據,并保存成PCAP文件。

圖1 西門子工控實驗平臺網絡托補圖

1.2 S7協議數據內部結構

工業控制網絡的托補結構相對靜態,其通信模式具有規律的特性。其中,S7協議集是西門子SCADA系統網絡的專有協議。在西門子SCADA系統網絡中,S7協議根據作用可分為兩大類,第一類是由HMI組態過程中與PLC協商的由PLC定時發送給HMI組態軟件的工控現場實時數據;第二類是由HMI發送給PLC,對工控現場進行控制的實時數據。兩類數據的可通過S7協議的ROSCTR字段不同的值進行劃分。第一類數據ROSCTR固定值為0x07,第二類數據ROSCTR的值為0x01和0x03。通常針對SCADA網絡的攻擊都是通過獲取上位機權限控制PLC[6],因此,本文只針對第二類數據進行分析研究。通過Wireshark軟件分析,可得到S7協議數據包內部數據結構,如圖2所示。

圖2 S7 協議數據包結構

S7 PDU由Header、Parameter和Data三部分組成。其中Data字段是可選的。S7 PDU的Header部分主要由以下幾個字段組成:

(1)Protocol Id,值固定為0x32;

(2) ROSCTR(Remote Operating Service Control),通常取值為0x01(job)、0x02(acknowledge)、0x03(ack_data)、0x07(userdata)或者0x08(request server control);

(3)Protocol Data Unit Reference,主要用來同步job和ack_data;Data Length,Data部分字節長度Parameter Length,Parameter部分字節長度。

因為在S7協議應用層中,Protocol Data Unit Reference字段隨著時間遞增。因此,定義S7協議數據包特征為S7協議應用層除了Protocol Data Unit Reference字段以外的所有數據集合。

1.3 S7協議特性分析

圖3以時間為橫軸,10s為刻度,顯示了HMI與PLC之間數據交互每10秒通信字節數的變化圖。圖中可以觀察到HMI與PLC之間數據通信并沒有遵循高度周期性,通信流量在兩個值之間變化。其原因是HMI與PLC之間的數據交互是由HMI中的腳本控制,一個HMI上可以運行多個腳本。根據工藝場景的需要,多個腳本之間運行周期可能不一致,導致了HMI與PLC之間數據交互并不遵循高度周期特性。

圖3 S7協議數據IO圖

為進一步確認S7協議在HMI與PLC之間交互時的非周期性,針對S7協議應用層數據觀察分析。圖4以包序號為橫軸,每一個數據包S7協議特征集合為縱軸,說明了一段時間內HMI與PLC之間通信時每個數據包中S7協議特征集合的變化。圖5以包序號為橫軸,HMI與PLC之間通信數據包類別個數為縱軸,說明了一段時間內HMI與PLC之間通信數據包類別個數的變化情況。圖4和圖5說明了在HMI與PLC數據交互過程中,S7協議特征集合沒有遵循高度周期性,并且通信數據只在這有限個數據包之間來回變動。

圖4 S7應用層數據絡變化趨勢圖

圖5 數據包類別變化圖

2 場景指紋

2.1 場景指紋定義

為了將DFA應用于S7協議,對DFA進行優化,提出了場景指紋的概念。場景指紋中規定了以下兩點:

(1)場景指紋中一個狀態表示一個S7數據包,其中,一個狀態定義為S7協議應用層中除Protocol Data Unit Reference字段以外所有數據的集合;

(2)為了應用場景指紋達到檢測異常的目的,不限定場景指紋能夠接收的狀態集合。

為了場景指紋能夠更好的表示SCADA網絡中數據交互情況。將場景指紋定義為一個六元組。其中,為每一個的有限個狀態集合;為有限個符號集合,即對于每一個狀態的定義,在場景指紋中為S7協議應用層除了Protocol Data Unit Reference字段以外的所有數據集合;為狀態轉移函數;為初始狀態;為當前狀態;為每個狀態的經過狀態轉移作用后的輸出狀態集合。

2.2 狀態轉移函數

當場景指紋中當前狀態接收到一個輸入信號后,狀態轉移函數根據輸入信號的特征將當前狀態轉變到目的狀態。以下定義了Normal,Retrans,MissTrans,Unknown四種狀態轉移函數,在場景指紋運行的過程中,通過不同的狀態轉移函數被觸發,能夠判斷當前S7協議數據包是否是正常數據。假設場景指紋的當前狀態為,輸入信號為,目的狀態為:

3 場景指紋自提取

Python的Scapy是一款功能強大的交互式數據包處理程序,不僅可以用來發送、嗅探、解析和構造網絡數據包,還能解析網絡數據包文件,提取有用信息。通過Scapy庫強大的功能將PCAP文件處理,并為HMI-PLC建立場景指紋。場景指紋的自提取過程如下:

(1)采集數據

首先利用Tcpdump或者Wireshark等工具獲取西門子SCADA網絡中HMI與PLC之間的交互數據,以PCAP文件形式進行保存,并且保證該PCAP文件中沒有異常數據,數據交互情況能夠完整描述整個HMI與PLC之間的工業控制過程。

(2)生成順序列表

提取PCAP文件中的所有S7協議應用層數據,并剔除掉其中的Protocol Data Unit Reference字段,然后按照PCAP文件中的數據包序號順序,生成順序列表。

(3)構建鄰接矩陣

遍歷順序列表,對其中的數據種類進行計數,假設計數為N類,即表明該信道的場景指紋總共包含了N個狀態。此時構建N為方陣A(即鄰接矩陣),并且Aij=1表示第i個狀態的下一個狀態是第j個狀態,Aij=0表示第i個狀態與第j個狀態沒有邏輯關系。得到了鄰接矩陣,就可以通過鄰接矩陣為HMI-PLC生成場景指紋。

4 基于場景指紋的異常檢測

4.1 異常檢測流程

在工控系統運行正常的情況下通過Tcpdump的網絡嗅探能力在核心交換機處采集工控系統采集HMI與PLC之間的實時交互數據;提取S7協議特征,按照數據包到達序號生成順序列表;利用順序列表構建鄰接矩陣并生成場景指紋,最后通過scapy在核心交換機處抓取HMI與PLC通信數據流量,并利用場景指紋對HMI與PLC之間的交互數據進行實時監測。場景指紋接收到實時數據包之后,提取S7協議特征,并將其作為輸入信號發送至場景指紋當前狀態,當前狀態根據輸入信號以及自身輸出狀態集合觸發狀態轉移函數,四個狀態轉移函數中被觸發的狀態轉移函數即可表明數據包是否屬于正常流量。數據正常會觸發Normal狀態轉移函數,數據異常會觸發Unknown狀態轉移函數,邏輯異常會觸發MissTrans和Miss狀態轉移函數。過程如圖6所示:

4.2 異常檢測實驗結果分析

在實驗平臺的工控系統SCADA網絡正常運行的情況下,通過實驗平臺核心交換機處采集實時數據。利用場景指紋對正常的SCADA網絡進行監測,實驗兩次,實驗結果如表1所示,在5855個數據包中5844個為正常數據,7387個數據包中有7366個正常數據,其中的重傳數據是由于Scapy嗅探數據包時發生了丟包。場景指紋能夠很好的識別SCADA網絡中的正常流量。

表1 實驗結果

為了驗證場景指紋對SCADA網絡中異常流量的檢測能力。通過中間人攻擊的方式篡改工控系統中的數據,例如修改HMI發送給PLC數據中指示電機轉速的值,以及修改電機轉速變化的控制邏輯。其數據變化趨勢如圖7所示,工控實驗平臺控制電機轉動實驗過程為HMI通過PLC控制電機以600、800、1000(r/min)的速度轉動。中間人攻擊攻擊目的過程分為兩種:第一種為修改HMI發送至PLC轉速的順序,如將600、800、1000(r/min)的轉速修改為800、600、1000(r/min)以達到修改控制邏輯的目的;第二種是修改HMI發送至PLC轉速的值,即將協議中表示轉速的字段修改成除600、800、1000以外的值,以達到造成數據異常的目的。為比較正常流量與異常流量的區別,同時在HMI處和核心交換機處抓取數據包,其中,核心交換機處抓取到的數據流量為通過中間人攻擊篡改的異常數據流量。相比于正常流量,異常流量的數據發生了位移,證明數據包達到順序發生了變化;并且相比與正常流量,還出現峰值異常突出的點,表明此處出現異常數據。

圖7 異常情況下S7協議層數據變化趨勢圖

表2 實驗結果

如表2所示,為方便觀察,分別進行了兩次實驗。第一次實驗:HMI控制電機的轉速,分別發送600,800,1000(r/min)的指令通過PLC控制電機轉速,利用中間人攻擊,篡改HMI與PLC之間的通訊數據中表示電機轉速的字段,將轉速的控制邏輯修改為800,600,1000,其中不會出現觸發狀態轉移函數Unknown,因此,通過計算得出準確率為97.04%,誤報率為2.95%;第二次實驗:將HMI控制電機轉速的指令中表示電機轉速的字段部分修改為除了600,800,1000三個值之外的其它任意值,其中不會觸發狀態轉移函數Normal,因此,通過計算得出準確率為97.40%,誤報率為2.60%。

綜上所述,基于場景指紋的工控系統SCADA網絡異常檢測能夠有效的檢測出SCADA網絡中的流量異常,并對異常中的類別進行劃分,能夠成功的檢測出邏輯異常和數據異常。并通過實驗觀察到,造成誤報的原因是中間人攻擊并沒有成功的修改HMI與PLC之間的交互數據,以及Scapy嗅探數據時發生了丟包的現象。

5 結束語

工業控制系統SCADA網絡的安全有著重要的現實意義。本文在優化了DFA模型的基礎上,重新定義了場景指紋;并基于工業控制系統網絡拓撲結構簡單特性,結合圖論中鄰接矩陣的概念,實現了場景指紋的自提取。該方法最大的優點在于在有效減少了大量人工分析的同時,保證了較高的準確率。如何將該方法應用于更加復雜的工業場景并提高場景指紋自提取效率是下一步的研究重點。

[1]Goldenberg N,Wool A. Accurate modeling of Mo-dbus/TCP for intrusion detection in SCADA systems[J]. International Journal of Critical Infrastructure Pro-tection,2013.

[2]Kleinman A,Wool A. Accurate modeling of the Siemens S7 SCADA protocol for intrusion detection and digital forensics[J]. The Journal of Digital Forensi-cs,Security and Law:JDFSL,2014.

[3]Kleinmann A,Wool A. A Statechart-Based Anoma-ly Detection Model for Multi-Threaded SCADA Systems[C] //International Conference on Critical Information Infrastructures Security. Springer International Publishing,2015.

[4]Kleinmann A,Wool A. Automatic Construction o-f Statechart-Based Anomaly Detection Models for Mult-i-Threaded SCADA via Spectral Analysis[C] //Proceedings of the 2nd ACM Workshop on Cyber-Physical Systems Security and Privacy. ACM,2016.

[5]Barbosa R R R,Sadre R,Pras A. Flow whitelisting in SCADA networks[J]. International journal of critical infrastructure protection,2013.

[6]Beresford D. Exploiting Siemens Simatic S7 PL-Cs[J]. Black Hat USA,2011.

[7]張騰飛,范啟富,劉偉.基于支持向量機的SCADA系統入侵檢測[J].化工自動化及儀表,2015.

[8]張云貴,張偉,薛向榮,楊小軍.基于自學習半監督單類支持向量機的SCADA入侵檢測系統[J].冶金自動化,2013.

[9]王婧.工業控制系統的入侵檢測系統研究[D].華北電力大學(北京),2014.

[10]彭勇,江常青,謝豐,戴忠華,熊琦,高洋.工業控制系統信息安全研究進展[J].清華大學學報(自然科學版),2012.

[11]趙華.工業控制系統異常檢測算法研究[D].冶金自動化研究設計院,2013.

[12]張曉玉.SCADA系統安全通信面臨的挑戰及未來發展趨勢[J].通信技術,2014.

[13]袁文波,洪波,尤萬方,殷召生,蔣彥,溫柳.S7-PLC基于Modbus/TCP協議通信研究[J].計算機工程與設計,2014.

[14]賈濤.西門子S7-200以太網通訊協議研究[J].電子技術與軟件工程,2014.

[15]廖常初.“S7-200SMARTPLC”講座第7講:S7-200SMART基于以太網的S7協議通信[J].電世界,2015.

猜你喜歡
檢測系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
WJ-700無人機系統
“幾何圖形”檢測題
“角”檢測題
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
主站蜘蛛池模板: 亚洲人在线| 在线观看视频99| 在线五月婷婷| 成人欧美日韩| 国产视频久久久久| 国产成人一区在线播放| 国产成人a在线观看视频| 国产精品极品美女自在线看免费一区二区 | 国产成a人片在线播放| 亚洲人成在线精品| 成年人国产视频| 亚洲乱码精品久久久久..| 五月天久久婷婷| 色欲不卡无码一区二区| 亚洲欧美日韩另类| 一级毛片在线直接观看| 中文成人在线| 精品久久香蕉国产线看观看gif| 天天综合色天天综合网| 婷婷六月综合网| 亚洲床戏一区| 久久精品波多野结衣| 欧美专区在线观看| 国产一级毛片网站| 中文字幕1区2区| 亚洲全网成人资源在线观看| 91精品最新国内在线播放| 精品国产一二三区| www.youjizz.com久久| 精品99在线观看| av在线手机播放| 毛片在线看网站| 国产精品护士| 无码电影在线观看| 大香网伊人久久综合网2020| 日本午夜网站| 永久免费无码日韩视频| 91精品免费久久久| 潮喷在线无码白浆| 国产精品亚洲专区一区| 国产第一色| 91福利国产成人精品导航| 99国产精品免费观看视频| 91免费国产在线观看尤物| 91黄视频在线观看| 四虎永久免费网站| 99资源在线| 亚洲国产欧美自拍| 国产一区成人| 亚洲六月丁香六月婷婷蜜芽| 免费可以看的无遮挡av无码| 国产成人91精品| 欧美成人二区| 久青草免费在线视频| 日韩黄色大片免费看| 女人18毛片一级毛片在线| 国产精品无码久久久久AV| 欧美一区二区三区不卡免费| 国产成人毛片| 欧美色综合网站| 国产精品第一区| 无码精品国产VA在线观看DVD| 亚洲欧洲日韩国产综合在线二区| 在线观看国产黄色| 国产成人无码久久久久毛片| 欧美精品另类| 亚洲天堂2014| 色婷婷亚洲综合五月| 欧美激情首页| 日韩高清欧美| 精品国产黑色丝袜高跟鞋| 国产精品永久免费嫩草研究院| 亚洲无码日韩一区| 亚洲无码视频一区二区三区| 日韩a级片视频| h视频在线播放| 色综合国产| 成年女人a毛片免费视频| 亚洲高清中文字幕在线看不卡| 国产在线精品网址你懂的| 亚洲成aⅴ人片在线影院八| 国产国语一级毛片|