羅克韋爾自動化(中國)有限公司 華镕
工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)漏洞
羅克韋爾自動化(中國)有限公司 華镕
從控制系統(tǒng)網(wǎng)絡(luò)的內(nèi)部和外部對控制系統(tǒng)進(jìn)行攻擊時,控制系統(tǒng)是脆弱的。要了解控制系統(tǒng)相關(guān)的漏洞,用戶必須知道通信類型與控制系統(tǒng)的相關(guān)操作,以及解了攻擊者如何利用系統(tǒng)漏洞使他們獲益。本文僅提供一種高層的概述,不討論攻擊者利用漏洞完成入侵的細(xì)節(jié)。
我們將從下面幾個方面進(jìn)行介紹:
(1)了解控制系統(tǒng)的網(wǎng)絡(luò)漏洞;
(2)訪問控制系統(tǒng)局域網(wǎng):
? 常見的網(wǎng)絡(luò)架構(gòu);
? 撥號訪問遠(yuǎn)程終端;
? 供應(yīng)商支持;
? 信息技術(shù)(IT)控制的通信裝備;
? 企業(yè)的虛擬專用網(wǎng)(VPN);
? 數(shù)據(jù)庫鏈接;
? 配置不當(dāng)?shù)姆阑饓Γ?/p>
? 對等設(shè)施鏈接。
(3)過程發(fā)現(xiàn);
(4)過程控制:
? 命令直接發(fā)送到數(shù)據(jù)采集設(shè)備;
? 輸出到人機界面(HMI)屏幕;
? 更改數(shù)據(jù)庫;
? 中間人攻擊。
要了解工業(yè)控制系統(tǒng)(ICS)的相關(guān)漏洞,用戶必須首先了解所有可能流入和流出ICS的通信路徑。圖1給出了用于典型過程系統(tǒng)組件通信的各種設(shè)備、通信路徑和方法。
圖1 對控制系統(tǒng)的通信訪問
如圖1中所示,使用各種計算和通信設(shè)備,有許多方法與ICS網(wǎng)絡(luò)和組件通信。一個人如果具有對工藝設(shè)備、網(wǎng)絡(luò)、操作系統(tǒng)和軟件應(yīng)用的知識,就可以使用這些設(shè)備和其他電子工具訪問ICS。目前在未經(jīng)授權(quán)連接系統(tǒng)和網(wǎng)絡(luò)的無線接入點出現(xiàn)了漏洞。
在一個典型的大規(guī)模生產(chǎn)系統(tǒng)中,很多ICS使用監(jiān)督控制和數(shù)據(jù)采集(SCADA)或分布式控制系統(tǒng)(DCS)的配置,有許多集成的計算機、控制器和網(wǎng)絡(luò)通訊組件,為系統(tǒng)運行提供所需的功能。一個典型的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 典型雙防火墻網(wǎng)絡(luò)架構(gòu)
控制器單元連接到過程設(shè)備和傳感器收集狀態(tài)數(shù)據(jù),并提供設(shè)備的操作控制。控制單元與ICS數(shù)據(jù)采集服務(wù)器的通信使用不同的通信協(xié)議(用不同格式為傳輸?shù)臄?shù)據(jù)打包)。一個系統(tǒng)中的數(shù)據(jù)采集服務(wù)器和控制器單元之間的通信,在本地通常使用高速線、光纖電纜;對遠(yuǎn)程的控制器單元,通常使用無線、撥號、以太網(wǎng),或組合的通信方法。
操作員或調(diào)度員通過HMI子系統(tǒng)監(jiān)視和控制系統(tǒng)。 HMI提供的圖形顯示了設(shè)備的狀態(tài)、報警和事件、系統(tǒng)的運行狀況,以及系統(tǒng)相關(guān)的其他信息。操作員可以通過HMI的顯示屏和鍵盤或鼠標(biāo)與系統(tǒng)交互,遠(yuǎn)程操作系統(tǒng)裝置,解決疑難問題,制做打印報告,以及執(zhí)行其他操作。
系統(tǒng)數(shù)據(jù)的收集、處理和存儲在主數(shù)據(jù)庫服務(wù)器上進(jìn)行。保存的數(shù)據(jù)將用于趨勢、備案、監(jiān)管和外部訪問等業(yè)務(wù)需求。數(shù)據(jù)的各種來源包括了:數(shù)據(jù)采集服務(wù)器、操作員的控制操作、報警和事件,以及其他服務(wù)器的計算和生成。
大多數(shù)控制系統(tǒng)采用專門的應(yīng)用程序進(jìn)行運營和業(yè)務(wù)相關(guān)的數(shù)據(jù)處理。這些任務(wù)通常在先進(jìn)的應(yīng)用服務(wù)器上執(zhí)行,從控制系統(tǒng)網(wǎng)絡(luò)上的各種源采數(shù)據(jù)。這些應(yīng)用程序可以是:實時操作控制的調(diào)整、報告、報警和事件,計算的數(shù)據(jù)源為主數(shù)據(jù)庫服務(wù)器提供歸檔,或支持工程師站或其他計算機的分析工作。
工程師站提供了一種手段,對系統(tǒng)運行的各個方面進(jìn)行監(jiān)視和診斷,安裝和更新程序,對失效進(jìn)行恢復(fù),以及系統(tǒng)管理方面的其他任務(wù)。
關(guān)鍵任務(wù)控制系統(tǒng)通常配置成一個完全的冗余架構(gòu),使系統(tǒng)能夠從各種組件失效的情況下快速恢復(fù)。對更關(guān)鍵的應(yīng)用要采用備份控制中心,如果主系統(tǒng)發(fā)生了災(zāi)難性故障,備份系統(tǒng)馬上工作。
控制系統(tǒng)網(wǎng)絡(luò)通常與業(yè)務(wù)辦公網(wǎng)絡(luò)相連接,把控制網(wǎng)絡(luò)中的實時數(shù)據(jù)傳輸?shù)狡髽I(yè)辦公室的各個部門。這些部門通常包括維護(hù)規(guī)劃、客戶服務(wù)中心、庫存控制、管理與行政,以及依靠這些數(shù)據(jù)及時做出業(yè)務(wù)決策的部門。
企圖控制ICS的攻擊者必須面對三大挑戰(zhàn):
(1)獲得對ICS局域網(wǎng)的訪問;
(2)通過發(fā)現(xiàn),了解過程運行的情況;
(3)獲得對過程的控制。
圖3 兩個防火墻
攻擊者需要完成的第一件事情就是要繞過外圍防御獲得對ICS局域網(wǎng)的訪問。大多數(shù)ICS網(wǎng)絡(luò)不再支持從互聯(lián)網(wǎng)的直接遠(yuǎn)程訪問。多數(shù)企業(yè)的常見做法是用防火墻分開業(yè)務(wù)局域網(wǎng)和ICS局域網(wǎng)。這不僅有助于防止黑客進(jìn)入,還隔離了控制系統(tǒng)網(wǎng)絡(luò),防止了中斷、蠕蟲和其他發(fā)生在商業(yè)局域網(wǎng)中的困擾。大多數(shù)攻擊者使用現(xiàn)成的黑客工具,直接作用于網(wǎng)絡(luò)。攻擊者有很多獲取對網(wǎng)絡(luò)訪問的方法,但使用其他路徑要超過常見途徑。
(1)常見的網(wǎng)絡(luò)架構(gòu)
在大多數(shù)控制系統(tǒng)中,有三種常見的架構(gòu)。每個企業(yè)都有自己的細(xì)微變化,這由他們所處的環(huán)境所決定。如果防火墻、入侵檢測系統(tǒng)以及應(yīng)用級權(quán)限都實施到位,就有三重安全性。目前最常見的結(jié)構(gòu)是兩個防火墻的體系結(jié)構(gòu)(參見圖3)。業(yè)務(wù)局域網(wǎng)由一個隔離因特網(wǎng)的防火墻來保護(hù),控制系統(tǒng)局域網(wǎng)由另一個防火墻保護(hù),與業(yè)務(wù)局域網(wǎng)隔離。業(yè)務(wù)防火墻由企業(yè)的IT人員管理,控制系統(tǒng)防火墻由控制系統(tǒng)人員管理。
圖4 控制系統(tǒng)的隔離區(qū)(DMZ)
第二種常見的架構(gòu)是在控制系統(tǒng)網(wǎng)絡(luò)建立一個隔離區(qū)(DMZ)隔開與業(yè)務(wù)局域網(wǎng)的連接(見圖4)。這個防火墻由IT人員管理,從業(yè)務(wù)局域網(wǎng)和互聯(lián)網(wǎng)兩個方面保護(hù)控制系統(tǒng)的局域網(wǎng)。
圖5 業(yè)務(wù)局域網(wǎng)作為骨干網(wǎng)
大型DCS往往需要使用業(yè)務(wù)網(wǎng)絡(luò)的多個部分作路由,連接多個控制系統(tǒng)局域網(wǎng)(見圖5)。每個控制系統(tǒng)局域網(wǎng)都有自己的防火墻,使他與業(yè)務(wù)局域網(wǎng)分開,并且加密保護(hù)每個過程通信,因為信息要穿越業(yè)務(wù)局域網(wǎng)。防火墻的管理一般由控制系統(tǒng)和IT部門的人員共同完成。
圖6 數(shù)據(jù) DMZ
一種新的趨勢是在企業(yè)局域網(wǎng)和控制系統(tǒng)局域網(wǎng)之間(參見圖6)安裝數(shù)據(jù)DMZ。它提供了一個額外的保護(hù)層,因為從控制系統(tǒng)局域網(wǎng)到業(yè)務(wù)局域網(wǎng)沒有直接通訊。數(shù)據(jù)DMZ的增強性能取決于它的實施細(xì)節(jié)。
(2)撥號訪問遠(yuǎn)程終端(RTU)
圖7 撥號訪問遠(yuǎn)程終端
圖8 供應(yīng)商支持
其中最常見的接入途徑是對連接現(xiàn)場設(shè)備的調(diào)制解調(diào)器直接撥號(參見圖7)。如果主高速線路發(fā)生故障時,調(diào)制解調(diào)器用做備份通信路徑。攻擊者會在一個城市撥打每個電話號碼尋找調(diào)制解調(diào)器。此外,攻擊者還會撥打公司每個分機尋找掛在企業(yè)電話系統(tǒng)中的調(diào)制解調(diào)器。大多數(shù)遠(yuǎn)程終端單元(RTU)能識別他們自己和制造他們的供應(yīng)商。大多數(shù)的RTU不需要證明或密碼進(jìn)行驗證。使用默認(rèn)密碼的RTU非常常見,現(xiàn)場仍在使用。
攻擊者必須知道如何使用RTU協(xié)議控制RTU。這種控制通常(但不總是)限于單一變電站。
(3)供應(yīng)商支持
圖9 IT控制的通信裝備
大多數(shù)控制系統(tǒng)都具有供應(yīng)商支持協(xié)議。在升級過程或當(dāng)系統(tǒng)發(fā)生故障時提供支持。供應(yīng)商最常見的支持手段是通過調(diào)制解調(diào)器或通過因特網(wǎng)與PC連接(見圖8)。近年來,已過渡到用虛擬專用網(wǎng)(VPN)訪問控制系統(tǒng)局域網(wǎng)。攻擊者會嘗試獲取對內(nèi)部供應(yīng)商資源或現(xiàn)場筆記本電腦的訪問,然后間接連接到控制系統(tǒng)的局域網(wǎng)。
(4)信息技術(shù)(IT)控制的通信裝備
通常情況下,企業(yè)IT部門負(fù)責(zé)長距離通訊線路的運營和維護(hù)。這時,常見的問題是其中一條或多條通信線路被業(yè)務(wù)局域網(wǎng)控制和使用。使用微波鏈路和光纖線路多路復(fù)用器是最常見的解決方案。一個高水平的攻擊者可以重新配置或改變那些通信裝備連接控制現(xiàn)場網(wǎng)絡(luò)(見圖9)。
(5)企業(yè)虛擬專用網(wǎng)(VPN)
大多數(shù)控制系統(tǒng)提供一些機制,允許業(yè)務(wù)局域網(wǎng)的工程師訪問控制系統(tǒng)局域網(wǎng)。最常用的方法是通過VPN到達(dá)控制防火墻(見圖10)。攻擊者會試圖接管一臺機器,等待合法用戶通過VPN連接控制系統(tǒng)局域網(wǎng),然后搭載這個連接。
圖10 企業(yè)VPN
(6)數(shù)據(jù)庫鏈接
圖11 數(shù)據(jù)庫鏈接
幾乎每個生產(chǎn)控制系統(tǒng)都將日志記錄到控制系統(tǒng)局域網(wǎng)上的數(shù)據(jù)庫,然后再映射到企業(yè)局域網(wǎng)上。通常情況下,管理員按照規(guī)則去配置防火墻,但沒花很多時間來保護(hù)數(shù)據(jù)庫。一個高水平的攻擊者可以訪問企業(yè)局域網(wǎng)上的數(shù)據(jù)庫,并使用特定的結(jié)構(gòu)化查詢語言(SQL)接管在控制系統(tǒng)局域網(wǎng)上的數(shù)據(jù)庫服務(wù)器(參見圖11)。如果沒有使用正確的配置來阻止,幾乎所有的現(xiàn)代數(shù)據(jù)庫都會受到這種類型的攻擊。
(7)防火墻配置不當(dāng)
通常,防火墻配置不當(dāng)是由于歷史或政治的原因。常見的防火墻缺陷包括通過微軟視窗(Windows)網(wǎng)絡(luò)數(shù)據(jù)包、通過服務(wù)和有信任的業(yè)務(wù)局域網(wǎng)主機。最常見的配置問題是沒有提供出站數(shù)據(jù)規(guī)則。這可能允許攻擊者潛入控制系統(tǒng)機器的有效載荷,從控制系統(tǒng)局域網(wǎng)回呼至業(yè)務(wù)局域網(wǎng)或互聯(lián)網(wǎng)(見圖7)。
(8)對等設(shè)施鏈接
通常連接一個控制系統(tǒng)局域網(wǎng)最簡單的方法是接管臨近的公共設(shè)施或合作伙伴。從歷史上看,伙伴或鄰居的鏈接已被信任。在這種情況下,系統(tǒng)的安全是最弱成員的安全(參見圖12)。最近,對等鏈接已被限制在防火墻后面的特定主機和端口。
圖12 對等設(shè)施鏈接
在控制系統(tǒng)局域網(wǎng)上獲得立足點的攻擊者,必須找到該過程實施的細(xì)節(jié),然后想辦法攻擊。如果一組化學(xué)工程師負(fù)責(zé)創(chuàng)建一座滑石粉廠,每人都會用不同的設(shè)備和獨特的配置。為了達(dá)到破壞目的,攻擊者需要了解規(guī)范。只是想讓過程停機的攻擊者,不需要了解更多的內(nèi)容。
兩個最有價值的攻擊點是數(shù)據(jù)采集服務(wù)器數(shù)據(jù)庫和人機界面顯示屏幕。每個控制系統(tǒng)供應(yīng)商使用的數(shù)據(jù)庫都有所不同,但幾乎所有的控制系統(tǒng)都分配每個傳感器、泵、斷路器等設(shè)備一個唯一的編號。在通信協(xié)議級別,用編號來稱呼設(shè)備。攻擊者需要一張點參考編號和這些編號所代表含義的列表。
操作員的人機界面屏幕為了解過程和每個點參考編號分配意義提供了最簡單的方法。每個控制系統(tǒng)的供應(yīng)商在什么地方存儲操作員人機界面屏幕和點數(shù)據(jù)庫都是唯一的。把這些規(guī)則加到入侵檢測系統(tǒng)(IDS)中對發(fā)現(xiàn)攻擊者是非常有效的。
(1)命令直接發(fā)送到數(shù)據(jù)采集設(shè)備
圖13 把命令直接發(fā)送到數(shù)據(jù)采集設(shè)備
控制過程最簡單的方法是將命令直接發(fā)送到數(shù)據(jù)采集設(shè)備(參見圖13)。大多數(shù)PLC、協(xié)議轉(zhuǎn)換器、數(shù)據(jù)采集服務(wù)器都缺乏基本的鑒權(quán)功能。他們通常接受任何格式正確的命令。攻擊者希望只需建立一個與數(shù)據(jù)采集設(shè)備的連接,然后發(fā)出相應(yīng)的命令。
(2)導(dǎo)出人機界面屏幕
一個有效的攻擊方式是給攻擊者導(dǎo)出操作員人機界面控制臺的屏幕(參見圖14)。市售的工具可以在Windows和Unix環(huán)境下完成此功能。只要攻擊存在,操作員會看到一個“巫毒老鼠”在屏幕上到處點擊。攻擊者也受限于當(dāng)前登錄操作員可以操作的命令。舉例來說,他不能改變變壓器上的相線接頭。