1
摘要
為了評估網絡流量對PLC控制過程帶來的影響,我們對來自6個主流廠商的16款PLC做了測試,測試內容主要包括以下三方面:
1. 測試SYN flooding對PLC電氣側的影響;
2. 測試14個高層協議對PLC電氣側的影響;
3. 測試3款主流掃描工具對PLC電氣側的影響。
通過測試發現,有15款PLC在默認配置的情況下,其電氣輸出延時容易受到網絡風暴的影響,部分型號甚至停止輸出。
2
實驗方法
1. 參考基準
在測試中,我們令所有的PLC在其最大性能下運行(最短循環時間)并輸出周期信號。測試以PLC正常狀況下的輸出作為參考信號,如果網絡流量對PLC的電氣輸出造成影響,則實際輸出信號相對參考信號將會產生偏移。圖1展示了參考信號(藍色實線)和收到網絡流量后的偏移信號(紅色點劃線)。
圖1 ?PLC輸出的電信號
2. 測試拓撲
在實驗過程中,我們按照一定的速率向PLC發送特定協議的報文,然后對PLC的循環周期進行測量,測試涉及的協議如表1所示。
表1 ?測試中用到的軟件及協議
測試拓撲如圖2所示,其中包括數據捕獲裝置(capture device)、攻擊儀器(attack machine)和控制儀器(control machine)。捕獲裝置用來將PLC的輸出量化。攻擊儀器按照一定速率發送網絡報文。控制儀器用來控制設備的開始和停止,同時保存攻擊儀器所傳送過來的數據。
圖2 ?測量設置
3.被測設備列表
圖3 本實驗涉及的16款PLC型號
3
實驗數據及分析
1. SYN負載影響分析
我們通過hping3發送SYN報文來測量SYN負載對PLC響應延時的影響。每一個hping3攻擊持續60s,之后是30s的空閑時間。速率通過hping3的等待參數產生(hping3 -i u
為了更好的比較,我們通過除以空閑時間來歸一化循環時間:
圖4 ?不同流量負載下PLC的循環周期延時情況
實驗表明SYN數據流對大多數的PLC在循環周期有影響。測試結果如圖4所示:
(1)對于PLC(5,8,9,10,14,16),提高SYN流量會導致更高的PLC響應延時。
(2)對于PLC(1,3,4),在超過特定數據速率下就停止工作(當一個PLC的循環時間增大10倍以上,為停止工作狀態)。
(3)對于PLC(2和12),其在最大數據包速度下不受影響,但在較低速度下受影響,這說明了利用大速率發動DoS攻擊并不總是有用。
(4)PLC(6,11,13和15)在測試中不受hping3數據包攻擊的影響。
2. 高層協議影響分析
在該部分測試中,每個實驗包含四個階段:重啟PLC設備以保持PLC狀態一致;在實際發包階段的前后各有一個空現階段;發包前的空閑階段的輸出可作為測試效果的參考;發包后的空閑階段可觀察一些攻擊的長期影響。每個階段持續600s。每個連續的測試中間會有60s的間隔。
由于篇幅限制,我們將高層協議影響效果分為六類,對于每一類,我們只展示影響最大的例子。
2.1 ?PLC停止工作(Wago 750-831)
一個極限的情況為在測試過程中PLC停止工作。圖5顯示了在ARP測試流量下PLC的表現。
圖5 ?在ARP測試下PLC(Wago 750-831 (4))停止工作
2.2 PLC高延時(Wago 750-889)
在測試中,一些PLC的循環時間會高達數秒。如圖6所示的測量中,循環時間增加了5s。這個影響是通過UDP報文測試實現的。在前置和后置空閑階段中,PLC正常運行,循環周期為2ms。
圖6 ?UDF數據流對Wago 750-889 (1)的測試導致循環高延時
2.3 PLC中等延時(Schneider TM221CE16T)
在測試中,還有部分PLC的循環周期延時增幅小于1s。圖7顯示了一個實例。設備正常循環周期為2ms,在UDP測試中,循環時間提高了40倍.
圖7 ?UDF數據流對Schneider TM221CE16T(16)的影響
2.4 PLC循環周期抖動增大(Siemens S7-314)
如圖8所示,平均循環時間受到的影響較小,大概在25%左右。但是循環周期的方差很大,也就是說抖動很大。
圖8 ?Siemens S7-314(8)在S7Com流量下的延時
圖9所示為PLC循環周期在不同時間上的分布密度。圖中顯示循環周期在空閑階段出現兩個峰值,分別對應電氣輸出信號的高電平和低電平。可以觀察到輸出信號的高電平和低電平的長度不一致。在測試過程中,循環周期時間增加,出現了新的峰值。兩個原來的峰值出現了2倍的偏移,這種現象在圖8中是無法觀察的。
圖9 ?S7 Com數據流對Siemens S7-314(8)的循環周期影響
2.5 PLC循環周期縮短(Phoenix ILC151)
還有一些PLC的循環周期在測試過程中變得更快,圖10所示為受到UDP數據流測后Phoenix ILC151的循環周期的變化。在現實世界中,如果PLC循環周期變快,這將導致控制行為不可預測。
圖10 ?Modbus/TCP 數據流攻擊對Phoenix ILC151 (11)循環時間影響
2.6 PLC循環周期不受影響(Crouzet em4)
還有一些PLC的循環周期幾乎不受測試的影響,如圖11所示。
圖11 ?測試對Crouzet em4 (15)無影響
2.7 測試過程中PLC的CPU負載(Wago 750-8100)
本測試涉及的PLC大多是基于實時操作系統,CPU負載是很難監測的。然而,Wago 750-8100是基于Linux,使得我們可在監測測試過程中其CPU的利用率。圖12顯示了測試中CPU的利用率。在測試中,處理網絡流量的中斷增加了接近100%。較高的中斷負載會影響PLC的控制軟件,進而影響控制執行的連續性,導致不同的循環時間。
圖12 ?SYN數據流攻擊中CPU負載情況(Wago 750-8100 (2))
4
掃描工具的影響分析
研究人員常說應當避免對PLC設備的主動掃描,這種行為可能導致PLC工作異常,但是這個觀點一直缺乏實驗證明。我們的測試能夠精確的評估掃描工具對于設備的影響。
我們選擇了一些常見的主動掃描工具(Nmap 7.60, PLCScan version 0.1, 和 RiskViz SearchEngine)。圖13所示為這三種掃描工具對被測設備的影響。
圖13 ?主動掃描工具對Wago 750-880 (3)的影響。
圖14顯示了三個網絡掃描工具在超過30s的掃描時間中對設備循環時間的影響。圖13和14中的數據來自同一個掃描過程。我們的實驗表明,掃描工具對于PLC的循環周期的確有顯著的影響。如果掃描不能夠與避免的話,唯一的方法時將掃描數據的速率保持在盡可能低的水平。
圖14 ?網絡掃描工具對于Wago 750-880 (3)的影響
5
結論
在文中,我們測試了PLC在網絡數據流的測試下電氣輸出的穩定性。結果顯示PLC電氣側容易受到網絡數據流的影響,這可能對控制過程造成災難性的影響。我們的分析表明,無論來自哪個制造商,大部分的PLC是容易受到網絡風暴攻擊影響的。除了Crouzet em4之外,我們測試的所有設備在網絡數據流測試下循環周期發生了顯著變化。一些設備在測試中甚至停止工作或不能夠更新輸出。此外,網絡掃描對PLC電氣側有明顯的影響。
審核編輯:黃飛
評論
查看更多