1
摘要
為了評估網(wǎng)絡(luò)流量對PLC控制過程帶來的影響,我們對來自6個(gè)主流廠商的16款PLC做了測試,測試內(nèi)容主要包括以下三方面:
1. 測試SYN flooding對PLC電氣側(cè)的影響;
2. 測試14個(gè)高層協(xié)議對PLC電氣側(cè)的影響;
3. 測試3款主流掃描工具對PLC電氣側(cè)的影響。
通過測試發(fā)現(xiàn),有15款PLC在默認(rèn)配置的情況下,其電氣輸出延時(shí)容易受到網(wǎng)絡(luò)風(fēng)暴的影響,部分型號甚至停止輸出。
2
實(shí)驗(yàn)方法
1. 參考基準(zhǔn)
在測試中,我們令所有的PLC在其最大性能下運(yùn)行(最短循環(huán)時(shí)間)并輸出周期信號。測試以PLC正常狀況下的輸出作為參考信號,如果網(wǎng)絡(luò)流量對PLC的電氣輸出造成影響,則實(shí)際輸出信號相對參考信號將會(huì)產(chǎn)生偏移。圖1展示了參考信號(藍(lán)色實(shí)線)和收到網(wǎng)絡(luò)流量后的偏移信號(紅色點(diǎn)劃線)。

圖1 ?PLC輸出的電信號
2. 測試拓?fù)?/strong>
在實(shí)驗(yàn)過程中,我們按照一定的速率向PLC發(fā)送特定協(xié)議的報(bào)文,然后對PLC的循環(huán)周期進(jìn)行測量,測試涉及的協(xié)議如表1所示。
表1 ?測試中用到的軟件及協(xié)議

測試拓?fù)淙鐖D2所示,其中包括數(shù)據(jù)捕獲裝置(capture device)、攻擊儀器(attack machine)和控制儀器(control machine)。捕獲裝置用來將PLC的輸出量化。攻擊儀器按照一定速率發(fā)送網(wǎng)絡(luò)報(bào)文??刂苾x器用來控制設(shè)備的開始和停止,同時(shí)保存攻擊儀器所傳送過來的數(shù)據(jù)。

圖2 ?測量設(shè)置
3.被測設(shè)備列表

圖3 本實(shí)驗(yàn)涉及的16款PLC型號
3
實(shí)驗(yàn)數(shù)據(jù)及分析
1. SYN負(fù)載影響分析
我們通過hping3發(fā)送SYN報(bào)文來測量SYN負(fù)載對PLC響應(yīng)延時(shí)的影響。每一個(gè)hping3攻擊持續(xù)60s,之后是30s的空閑時(shí)間。速率通過hping3的等待參數(shù)產(chǎn)生(hping3 -i u

為了更好的比較,我們通過除以空閑時(shí)間來歸一化循環(huán)時(shí)間:


圖4 ?不同流量負(fù)載下PLC的循環(huán)周期延時(shí)情況
實(shí)驗(yàn)表明SYN數(shù)據(jù)流對大多數(shù)的PLC在循環(huán)周期有影響。測試結(jié)果如圖4所示:
(1)對于PLC(5,8,9,10,14,16),提高SYN流量會(huì)導(dǎo)致更高的PLC響應(yīng)延時(shí)。
(2)對于PLC(1,3,4),在超過特定數(shù)據(jù)速率下就停止工作(當(dāng)一個(gè)PLC的循環(huán)時(shí)間增大10倍以上,為停止工作狀態(tài))。
(3)對于PLC(2和12),其在最大數(shù)據(jù)包速度下不受影響,但在較低速度下受影響,這說明了利用大速率發(fā)動(dòng)DoS攻擊并不總是有用。
(4)PLC(6,11,13和15)在測試中不受hping3數(shù)據(jù)包攻擊的影響。
2. 高層協(xié)議影響分析
在該部分測試中,每個(gè)實(shí)驗(yàn)包含四個(gè)階段:重啟PLC設(shè)備以保持PLC狀態(tài)一致;在實(shí)際發(fā)包階段的前后各有一個(gè)空現(xiàn)階段;發(fā)包前的空閑階段的輸出可作為測試效果的參考;發(fā)包后的空閑階段可觀察一些攻擊的長期影響。每個(gè)階段持續(xù)600s。每個(gè)連續(xù)的測試中間會(huì)有60s的間隔。
由于篇幅限制,我們將高層協(xié)議影響效果分為六類,對于每一類,我們只展示影響最大的例子。
2.1 ?PLC停止工作(Wago 750-831)
一個(gè)極限的情況為在測試過程中PLC停止工作。圖5顯示了在ARP測試流量下PLC的表現(xiàn)。

圖5 ?在ARP測試下PLC(Wago 750-831 (4))停止工作
2.2 PLC高延時(shí)(Wago 750-889)
在測試中,一些PLC的循環(huán)時(shí)間會(huì)高達(dá)數(shù)秒。如圖6所示的測量中,循環(huán)時(shí)間增加了5s。這個(gè)影響是通過UDP報(bào)文測試實(shí)現(xiàn)的。在前置和后置空閑階段中,PLC正常運(yùn)行,循環(huán)周期為2ms。

圖6 ?UDF數(shù)據(jù)流對Wago 750-889 (1)的測試導(dǎo)致循環(huán)高延時(shí)
2.3 PLC中等延時(shí)(Schneider TM221CE16T)
在測試中,還有部分PLC的循環(huán)周期延時(shí)增幅小于1s。圖7顯示了一個(gè)實(shí)例。設(shè)備正常循環(huán)周期為2ms,在UDP測試中,循環(huán)時(shí)間提高了40倍.

圖7 ?UDF數(shù)據(jù)流對Schneider TM221CE16T(16)的影響
2.4 PLC循環(huán)周期抖動(dòng)增大(Siemens S7-314)
如圖8所示,平均循環(huán)時(shí)間受到的影響較小,大概在25%左右。但是循環(huán)周期的方差很大,也就是說抖動(dòng)很大。

圖8 ?Siemens S7-314(8)在S7Com流量下的延時(shí)
圖9所示為PLC循環(huán)周期在不同時(shí)間上的分布密度。圖中顯示循環(huán)周期在空閑階段出現(xiàn)兩個(gè)峰值,分別對應(yīng)電氣輸出信號的高電平和低電平??梢杂^察到輸出信號的高電平和低電平的長度不一致。在測試過程中,循環(huán)周期時(shí)間增加,出現(xiàn)了新的峰值。兩個(gè)原來的峰值出現(xiàn)了2倍的偏移,這種現(xiàn)象在圖8中是無法觀察的。

圖9 ?S7 Com數(shù)據(jù)流對Siemens S7-314(8)的循環(huán)周期影響
2.5 PLC循環(huán)周期縮短(Phoenix ILC151)
還有一些PLC的循環(huán)周期在測試過程中變得更快,圖10所示為受到UDP數(shù)據(jù)流測后Phoenix ILC151的循環(huán)周期的變化。在現(xiàn)實(shí)世界中,如果PLC循環(huán)周期變快,這將導(dǎo)致控制行為不可預(yù)測。

圖10 ?Modbus/TCP 數(shù)據(jù)流攻擊對Phoenix ILC151 (11)循環(huán)時(shí)間影響
2.6 PLC循環(huán)周期不受影響(Crouzet em4)
還有一些PLC的循環(huán)周期幾乎不受測試的影響,如圖11所示。

圖11 ?測試對Crouzet em4 (15)無影響
2.7 測試過程中PLC的CPU負(fù)載(Wago 750-8100)
本測試涉及的PLC大多是基于實(shí)時(shí)操作系統(tǒng),CPU負(fù)載是很難監(jiān)測的。然而,Wago 750-8100是基于Linux,使得我們可在監(jiān)測測試過程中其CPU的利用率。圖12顯示了測試中CPU的利用率。在測試中,處理網(wǎng)絡(luò)流量的中斷增加了接近100%。較高的中斷負(fù)載會(huì)影響PLC的控制軟件,進(jìn)而影響控制執(zhí)行的連續(xù)性,導(dǎo)致不同的循環(huán)時(shí)間。

圖12 ?SYN數(shù)據(jù)流攻擊中CPU負(fù)載情況(Wago 750-8100 (2))
4
掃描工具的影響分析
研究人員常說應(yīng)當(dāng)避免對PLC設(shè)備的主動(dòng)掃描,這種行為可能導(dǎo)致PLC工作異常,但是這個(gè)觀點(diǎn)一直缺乏實(shí)驗(yàn)證明。我們的測試能夠精確的評估掃描工具對于設(shè)備的影響。
我們選擇了一些常見的主動(dòng)掃描工具(Nmap 7.60, PLCScan version 0.1, 和 RiskViz SearchEngine)。圖13所示為這三種掃描工具對被測設(shè)備的影響。

圖13 ?主動(dòng)掃描工具對Wago 750-880 (3)的影響。
圖14顯示了三個(gè)網(wǎng)絡(luò)掃描工具在超過30s的掃描時(shí)間中對設(shè)備循環(huán)時(shí)間的影響。圖13和14中的數(shù)據(jù)來自同一個(gè)掃描過程。我們的實(shí)驗(yàn)表明,掃描工具對于PLC的循環(huán)周期的確有顯著的影響。如果掃描不能夠與避免的話,唯一的方法時(shí)將掃描數(shù)據(jù)的速率保持在盡可能低的水平。

圖14 ?網(wǎng)絡(luò)掃描工具對于Wago 750-880 (3)的影響
5
結(jié)論
在文中,我們測試了PLC在網(wǎng)絡(luò)數(shù)據(jù)流的測試下電氣輸出的穩(wěn)定性。結(jié)果顯示PLC電氣側(cè)容易受到網(wǎng)絡(luò)數(shù)據(jù)流的影響,這可能對控制過程造成災(zāi)難性的影響。我們的分析表明,無論來自哪個(gè)制造商,大部分的PLC是容易受到網(wǎng)絡(luò)風(fēng)暴攻擊影響的。除了Crouzet em4之外,我們測試的所有設(shè)備在網(wǎng)絡(luò)數(shù)據(jù)流測試下循環(huán)周期發(fā)生了顯著變化。一些設(shè)備在測試中甚至停止工作或不能夠更新輸出。此外,網(wǎng)絡(luò)掃描對PLC電氣側(cè)有明顯的影響。
審核編輯:黃飛
電子發(fā)燒友App

















評論