工業(yè)控制系統的信息安全問(wèn)題
工業(yè)控制系統在過(guò)程生產(chǎn)、電力設施、水力油氣和運輸等領(lǐng)域有著(zhù)廣泛的應用。傳統控制系統的安全性主要依賴(lài)于其技術(shù)的隱秘性,幾乎未采取任何安全措施。隨著(zhù)企業(yè)管理層對生產(chǎn)過(guò)程數據的日益關(guān)注,工業(yè)控制系統越來(lái)越多地采用開(kāi)放lnternet技術(shù)實(shí)現與企業(yè)網(wǎng)的互連。目前,大多數工業(yè)通信系統在商用操作系統的基礎上開(kāi)發(fā)協(xié)議,通信應用中存在很多漏洞。在工業(yè)控制系統與Internet或其他公共網(wǎng)絡(luò )互連時(shí),這些漏洞將會(huì )暴露給潛在攻擊者。此外,工業(yè)控制系統多用于控制關(guān)鍵基礎措施,攻擊者出于政治目的或經(jīng)濟目的會(huì )主動(dòng)向其發(fā)起攻擊,以期造成嚴重后果。例如,2010年,“震網(wǎng)”病毒席卷全球,伊朗布什爾核電站因遭此攻擊延期運行。因此,近年來(lái),工業(yè)控制系統的信息安全問(wèn)題成為一個(gè)廣泛關(guān)注的熱點(diǎn)問(wèn)題。
本文主要首先結合工業(yè)控制系統的特點(diǎn),分析控制系統的要求及其面臨的威脅和攻擊,其次結合相關(guān)標準,從網(wǎng)絡(luò )防護角度介紹了目前的信息安全解決思路,并介紹了相關(guān)的研究趨勢,包括安全通信協(xié)議和安全控制器。
1、工業(yè)控制系統的信息安全分析
1.1工業(yè)控制系統概述
工業(yè)控制系統是以計算機為基本組件,用于監測和控制物理過(guò)程的系統。這類(lèi)系統包含了大部分網(wǎng)絡(luò )系統與物理系統連接的網(wǎng)絡(luò )化系統。根據其應用范圍,控制系統又可分為過(guò)程控制系統(PCS),監控和數據采集系統(SCADA),或網(wǎng)絡(luò )一物理系統(CPS)。
控制系統通常由一系列網(wǎng)絡(luò )設備構成,包括:傳感器、執行器、過(guò)程控制單元和通信設備??刂葡到y通常采用分層結構,典型的控制系統網(wǎng)絡(luò )結構如圖1所示,第一層為安裝有傳感器和執行器等現場(chǎng)設備的物理設施,現場(chǎng)設備通過(guò)現場(chǎng)總線(xiàn)網(wǎng)絡(luò )與可編程邏輯控制器(PLC)或遠程終端設備(RTU)連接,PLC或RTU設備負責實(shí)現局域控制功能。第二層為控制網(wǎng)絡(luò ),主要負責過(guò)程控制器和操作員站之間的實(shí)時(shí)數據傳輸。操作員站用于區域監控和設置物理設施的設定值。第三層為企業(yè)網(wǎng),企業(yè)工作站負責生產(chǎn)控制,過(guò)程優(yōu)化和過(guò)程日志記錄。
根據控制系統的應用特性,可以分為安全相關(guān)的應用和非安全相關(guān)的應用。安全相關(guān)的應用一旦失效,可能會(huì )造成受控制的物理系統發(fā)生不可恢復的破壞。如果這類(lèi)控制系統遭受破壞,將會(huì )對公共健康和安全產(chǎn)生重大影響,并導致經(jīng)濟損失。
1.2工業(yè)控制系統的安全要求
傳統IT信息安全的技術(shù)相對成熟,但由于其應用場(chǎng)景與控制系統存在許多不同之處,因此,不能直接應用于控制系統的信息安全保護。本節主要針對控制系統與傳統IT信息安全的區別,分析控制系統信息安全的特有屬性,并提出控制系統面臨的新的挑戰。
控制系統的特點(diǎn)之一在于對可用性的要求。因此,傳統信息安全的軟件補丁方式和系統更新頻率對于控制系統不再適用。例如,控制系統的系統升級需要提前幾個(gè)月進(jìn)行計劃,并且更新時(shí)需要將系統設為離線(xiàn)狀態(tài)。而且,在工業(yè)應用環(huán)境下,停機更新系統的經(jīng)濟成本很高。此外,有些系統補丁還可能違反控制系統的規則設定。例如,2008年3月7日,某核電站突然停機,原因是系統中的一臺監視工廠(chǎng)數據的計算機在軟件更新后重啟。計算機重啟后將控制系統中的數據重置為默認值,導致安全系統認為用于給核燃料棒降溫的水溫下降。
控制系統的另一個(gè)特點(diǎn)在于對實(shí)時(shí)性的要求川??刂葡到y的主要任務(wù)是對生產(chǎn)過(guò)程自動(dòng)做出實(shí)時(shí)的判斷與決策。盡管傳統信息安全對可用性的研究很多,但實(shí)時(shí)可用性需要提供更為嚴格的操作環(huán)境。例如,傳統IT系統中經(jīng)常采用握手協(xié)議和加密等措施增強安全性,而在控制系統中,增加安全措施可能會(huì )嚴重影響系統的響應能力,因此不能將傳統信息安全技術(shù)直接應用于控制系統中。為了保證控制系統具備更強的安全性,控制網(wǎng)絡(luò )需要實(shí)現相關(guān)安全機制和標準,這就要求網(wǎng)絡(luò )滿(mǎn)足一定的性能要求。
除了以上兩個(gè)特點(diǎn),控制系統與傳統IT信息系統的最大區別在于控制系統與物理世界存在交互關(guān)系??偟恼f(shuō)來(lái),信息安全中的許多技術(shù)措施和設計準則相對成熟,如認證,訪(fǎng)問(wèn)控制,消息完整性,最小權限等。利用這些成熟的技術(shù)可以幫助我們防御針對控制系統的攻擊。但是,計算機安全主要考慮信息的保護,對于攻擊如何影響物理世界并沒(méi)有研究。而且,工業(yè)控制系統的資源有限,生命周期長(cháng),不能直接移植傳統IT的信息安全技術(shù)。因此,雖然目前的信息安全工具可以為控制系統提供必要的防御機制,但僅僅依靠這些機制,無(wú)法為控制系統提供充分的深度保護。
當然,與傳統IT系統相比,控制系統也存在更易操作的特點(diǎn),為設計系統安全機制提供了便利??刂葡到y的網(wǎng)絡(luò )動(dòng)態(tài)特性更為簡(jiǎn)單,具有服務(wù)器變動(dòng)少、網(wǎng)絡(luò )拓撲固定、用戶(hù)人群固定、通信類(lèi)型固定、使用的通信協(xié)議少等特點(diǎn)。
1.3工業(yè)控制系統的威脅
工業(yè)控制系統面臨的威脅可以分為兩種:系統相關(guān)的威脅和過(guò)程相關(guān)的威脅。典型的系統相關(guān)威脅和過(guò)程相關(guān)威脅如表1所示。
系統相關(guān)的威脅是指由于軟件漏洞所造成的威脅??刂葡到y從廣義上是一種信息系統,會(huì )受到系統相關(guān)的威脅,如協(xié)議實(shí)現漏洞、操作系統漏洞等。在控制系統安全項目CCSP2009報告中,通過(guò)CSSP安全評估,將一般控制系統的系統相關(guān)威脅分為九種類(lèi)型。表2列舉了這九種安全問(wèn)題。
過(guò)程相關(guān)的威脅是指工業(yè)控制系統在生產(chǎn)過(guò)程遭受的攻擊。這種攻擊利用過(guò)程控制的特點(diǎn),攻擊者非法獲取用戶(hù)訪(fǎng)問(wèn)權限后,發(fā)布合法的工業(yè)控制系統命令,導致工業(yè)過(guò)程的故障?;诠I(yè)控制系統用戶(hù)與工業(yè)過(guò)程的交互點(diǎn),可以將過(guò)程相關(guān)的威脅分為兩類(lèi):①影響現場(chǎng)設備的訪(fǎng)問(wèn)控制的威脅;②影響中央控制臺的威脅。前者通常發(fā)送錯誤的現場(chǎng)數據到控制系統狀態(tài)監測中心,從而導致系統狀態(tài)分析出現錯誤。后者通常在中央控制臺執行合法的命令,但該命令對生產(chǎn)過(guò)程而言不合理,將對生產(chǎn)或設備產(chǎn)生負面影響。
控制系統的漏洞一旦被攻擊者利用,會(huì )遭受不同類(lèi)型的攻擊,具體的攻擊形式可以分為:
1)欺騙攻擊:在通信過(guò)程中偽裝成某個(gè)合法設備。例如,使用一個(gè)偽造的網(wǎng)絡(luò )源地址。
2)拒絕式服務(wù)攻擊:系統中任意資源的不可用。例如,設備因忙于應答大量的惡意流量而無(wú)法響應其他消息等。
3)中間人攻擊:攻擊者從通信的一端攔截所有消息,修改消息后再轉發(fā)到終端接收設備。
4)重播攻擊:重復發(fā)送某個(gè)過(guò)時(shí)的消息,如用戶(hù)認證或命令等。
2、工業(yè)控制系統的信息安全解決思路
為了防止工業(yè)控制系統在通信過(guò)程中遭受上述各種威脅與攻擊,需要使用多層安全措施完成對系統的保護。本文將以現有的研究成果為基礎,從網(wǎng)絡(luò )邊界防護、安全協(xié)議和安全控制器方面,介紹控制系統信息安全解決思路。
2.1網(wǎng)絡(luò )邊界防護
上文所述工業(yè)控制系統的系統威脅,一方面是由于系統采用傳統IT技術(shù),如操作系統、Web服務(wù)器、郵箱的漏洞等造成,另一方面控制系統與企業(yè)網(wǎng)實(shí)現互連,暴露于公共網(wǎng)絡(luò )之中,面臨更多的攻擊。因此,為了保證工業(yè)控制系統的安全性,首先需要增強網(wǎng)絡(luò )邊界的防護,以降低由企業(yè)網(wǎng)引入的威脅風(fēng)險。標準SP800-82《工業(yè)控制系統(ICS)安全指南》指出,在處理工業(yè)控制系統網(wǎng)絡(luò )與其他應用網(wǎng)絡(luò )的連接問(wèn)題時(shí),需要按照最小訪(fǎng)問(wèn)原則設計,具體分為兩點(diǎn)建議:
1)工業(yè)控制系統部署網(wǎng)絡(luò )時(shí),建議隔離工業(yè)控制系統與其他企業(yè)網(wǎng)絡(luò )。通常這兩類(lèi)網(wǎng)絡(luò )的流量不同,且企業(yè)網(wǎng)對網(wǎng)絡(luò )設備變更沒(méi)有指定嚴格的控制規程;如果工業(yè)控制系統網(wǎng)絡(luò )流量存在于企業(yè)網(wǎng)上,可能會(huì )遭受拒絕服務(wù)式攻擊。網(wǎng)絡(luò )隔離可以通過(guò)采用防火墻等技術(shù)實(shí)現。
2)如果工業(yè)控制系統網(wǎng)絡(luò )與企業(yè)網(wǎng)之間必須建立連接,盡可能地只允許建立一個(gè)連接,且連接通過(guò)防火墻或非軍事區實(shí)現。在具體的技術(shù)措施上,SP800-82從身份認證、訪(fǎng)問(wèn)控制、審計與核查、系統與通信保護等方面詳細介紹了可用的技術(shù)措施。
(1)身份認證
通過(guò)PIN碼或密碼驗證申請訪(fǎng)問(wèn)的設備或人員。在網(wǎng)絡(luò )上傳輸密碼時(shí)需要對密碼進(jìn)行加密,通過(guò)選取合適的加密哈希函數,可以阻止重播攻擊。密碼認證還可以輔以其他認證措施,如詢(xún)問(wèn)/應答或使用生物令牌或物理令牌。緊急情況下,工業(yè)控制系統使用密碼和生物認證都存在一定危險。因此在不適合使用密碼的情況下,可以采用嚴密的物理安全控制作為替代。
(2)訪(fǎng)問(wèn)控制
基于角色的訪(fǎng)問(wèn)控制(RBAC)可以用于限制用戶(hù)的權限,使其能以最小的權限完成任務(wù)。系統管理員的通訊需要加以認證,并對其保密性和完整性加以保護,如使用SSHv2和HTTPS協(xié)議。這兩個(gè)協(xié)議都使用公鑰/私鑰對進(jìn)行用戶(hù)認證。通信雙方產(chǎn)生并使用對稱(chēng)密鑰加密數據交互過(guò)程。
RADJUS遠程認證撥號用戶(hù)服務(wù)式目前使用最多的認證和授權服務(wù)。它使用IEEE802.1×和EAP協(xié)議,可以在網(wǎng)絡(luò )的各個(gè)層實(shí)現用戶(hù)認證。例如,防火墻和接入路由可以作為認證代理。
當無(wú)線(xiàn)設備或中斷用戶(hù)設備需要與其連接時(shí),認證代理向設備發(fā)出詢(xún)問(wèn),設備通過(guò)認證服務(wù)器返回認證信息,從而獲得授權和接入許可。
調制解調器經(jīng)常用于提供備份連接?;亟邢到y通過(guò)存儲于數據庫中的回叫號碼,確認撥號者是否為合法用戶(hù)。遠程控制軟件需要使用唯一的用戶(hù)名和密碼,加密和審計日志。鏈路層的鄰居認證需要使用CHAP協(xié)議等實(shí)現。
無(wú)線(xiàn)用戶(hù)接入和網(wǎng)絡(luò )設備間的鏈接可以使用多種方式實(shí)現,如IEEE 802.11b/g的網(wǎng)絡(luò )接入點(diǎn)方式。所有的無(wú)線(xiàn)通信需要使用強加密,如IEEE802.11i中的AEP加密。無(wú)線(xiàn)接入需要使用IEEE802.1x認證客戶(hù)。
(3)審計與核查
工業(yè)控制系統需要進(jìn)行周期性的審計,驗證內容包括:測試階段的安全控制措施在生產(chǎn)系統中仍安裝使用;生產(chǎn)系統不受安全破壞,如果受到安全破壞則提供攻擊的信息;改動(dòng)項目需要為所有的變動(dòng)建立審查和批準的記錄。
周期性的審計結果用一定的度量表示,用于顯示安全性能和安全趨勢。審計需要使用特定工具進(jìn)行記錄維護,需要工業(yè)控制系統中的組件支持。審計有利于維護工業(yè)控制系統在系統生命周期內的完整性。工業(yè)控制系統需要為審計工具提供可靠的同步時(shí)間戳。工業(yè)控制系統應用中維護的日志可以存儲于多個(gè)地點(diǎn),加密或不加密都是可以的。
(4)系統與通信保護
系統與通信的保護可以通過(guò)網(wǎng)絡(luò )防護措施,如防火墻和入侵檢測系統等,以及數據加密,如VPN等實(shí)現。網(wǎng)絡(luò )防火墻控制不同安全等級的網(wǎng)絡(luò )區域間的數據流量。NIST SP 800-41為防火墻的選擇和防火墻策略提供了指導。在工業(yè)控制系統環(huán)境下,需要在控制網(wǎng)和企業(yè)網(wǎng)之間部署防火墻。防火墻包含的特征功能包括:事件記錄,入侵檢測系統,基于非軍事區的路由,訪(fǎng)問(wèn)列表等。
當系統被嗅探或攻擊時(shí),入侵檢測系統發(fā)出警報。入侵檢測系統通過(guò)在網(wǎng)絡(luò )的各個(gè)關(guān)鍵點(diǎn)收集信息,分析數據包內容發(fā)現惡意流量,并發(fā)出警報、廢棄無(wú)效數據、記錄事件和活動(dòng)并觸發(fā)其他安全響應。對于多種工業(yè)控制系統中的應用協(xié)議所受到的攻擊,如DNP和lCCP,入侵檢測系統也會(huì )增加相應的攻擊特征。
基于IPSec的VPN可以為網(wǎng)絡(luò )邊界的通信提供安全隧道,通常在相應的防火墻上執行。IPsec可以保證完整性、認證和數據保密性。在隧道入口處,IP包外增加額外的數據包頭,路由器使用新的包頭信息轉發(fā)數據,到達隧道出口時(shí),將原始IP包提取出來(lái)。在用戶(hù)認證過(guò)程中,IPSec通常使用私鑰和RSA簽名。在消息認證和完整性保護時(shí),使用MD5或SHA哈希函數。在數據加密時(shí),使用AES或3DES.IPSec還使用Diffie-Hellman作為對稱(chēng)密鑰推導。IPSec設備使用IKE協(xié)議認證其他設備、協(xié)商和分配對稱(chēng)加密密鑰以及建立IPSec安全連接。
控制系統的安全管理包括檢測、分析、提供安全和事件響應。具體內容包括動(dòng)態(tài)調整安全要求,安全漏洞的優(yōu)先級排序,以及安全要求到安全管理的映射:認證和授權服務(wù)器,安全密鑰,流量過(guò)濾,IDS,登錄等。SNMP用于管理IP網(wǎng)絡(luò )資源,如路由,防火墻和服務(wù)器等。SNMP也可用于提供控制系統網(wǎng)絡(luò )的集中管理。SNMPv3包括的安全特性有消息完整性,認證和加密。SNMPv3使用MD5和SHA哈希算法和DES以及AES加密算法。
(5)其他措施
為了保證網(wǎng)絡(luò )操作的可靠性,工業(yè)控制系統需要設置冗余拓撲和功能。工業(yè)控制系統中大多使用以太網(wǎng)和IP網(wǎng)絡(luò )作為通信協(xié)議。以太網(wǎng)層的冗余可以通過(guò)在局域網(wǎng)內使用RSTP協(xié)議中的網(wǎng)格拓撲而實(shí)現。IP層的冗余通過(guò)路由間的備份鏈接,如OSPF動(dòng)態(tài)路由協(xié)議,和IP網(wǎng)絡(luò )冗余接人,如VRRP協(xié)議等。MPLS可以為IP網(wǎng)絡(luò )中的虛擬任意協(xié)議數據提供可靠的數據傳輸。隧道如L2TP協(xié)議等也可以為IP網(wǎng)絡(luò )中的數據提供可靠傳輸。
在控制系統中的時(shí)鐘和網(wǎng)絡(luò )設備需要精確同步,事件日志記錄時(shí)也需要記錄下準確的時(shí)間。NTP協(xié)議和IEEEl588協(xié)議可以用于時(shí)間同步。NTP協(xié)議在因特網(wǎng)中廣泛使用,IEEEl588協(xié)議則主要滿(mǎn)足控制系統對于時(shí)鐘同步的要求。這兩種協(xié)議均可由獨立設備提供服務(wù),或者有其他網(wǎng)絡(luò )設備的組件提供服務(wù)。
2.2協(xié)議安全性
工業(yè)通訊協(xié)議,如MODBUS協(xié)議等,協(xié)議設計時(shí)未采取安全措施。然而隨著(zhù)控制系統與外部網(wǎng)絡(luò )的連接增多,需要增加通信雙方的認證過(guò)程。協(xié)議的安全性可以通過(guò)兩種方式提高,一是直接修改協(xié)議,增加認證功能;二是在不修改現有協(xié)議的基礎上,增加信息安全層。
文獻設計了一種認證型Modbus協(xié)議,該協(xié)議通過(guò)對消息使用加密函數和哈希鏈,增強Modbus協(xié)議的認證功能,從而使攻擊者無(wú)法偽裝成主機。同時(shí)利用一個(gè)壓縮函數,減少數據存儲大小。這種方式可以增加協(xié)議對于通信雙方的認證過(guò)程,但同時(shí)也會(huì )增加通訊負擔,即每次通話(huà)傳輸的消息都需要經(jīng)過(guò)加密認證,不一定能滿(mǎn)足控制系統對于實(shí)時(shí)性的要求。因此在設計時(shí)需要同時(shí)考慮計算效率與計算消耗。
文獻借鑒功能安全的概念,提出了一種在通信系統之上增加信息安全模塊的方法??刂葡到y的功能安全在傳輸系統的基礎上增加功能安全層,無(wú)需改變底層傳輸系統,即可實(shí)現系統的故障安全。類(lèi)似地,文獻設計一種信息安全模塊,用于保護端到端通信的認證、完整性和保密性。所謂的安全模塊不是指簡(jiǎn)單的物理模塊,而是與PROFINET IO中的設備模型相對應,是一個(gè)軟件實(shí)現。如圖2所示,安全模塊從應用層中獲取過(guò)程數據,通過(guò)加密算法加密過(guò)程數據,利用MD5算法計算消息完整性編碼,狀態(tài)字節用于表示消息完整性和超時(shí)。安全模塊通過(guò)參數化,可以適應不同的安全需求和不同的計算能力。消息完整性編碼可以防止中間人攻擊,例如,攻擊者截取發(fā)送的消息并篡改過(guò)程數據,由于沒(méi)有密鑰,無(wú)法計算出準確的消息完整性編碼,接受者在接收到消息后對MAC進(jìn)行驗證,如果無(wú)法驗證其正確性,則會(huì )修改狀態(tài)字節,用以匯報受攻擊狀態(tài)。
安全模塊是置于PROFINET IO之上的軟件層,只能用于防御基于網(wǎng)絡(luò )的攻擊,而不能保證設備安全。如果攻擊者獲取了設備的控制權,那么數據會(huì )被操控,而安全模塊將無(wú)法產(chǎn)生作用。因此,可以將安全模塊可以與設備安全措施相結合,解決設備和網(wǎng)絡(luò )安全。
協(xié)議安全性主要是體現在對傳輸數據進(jìn)行加密處理,保證消息的完整性和保密性,并實(shí)現對設備的安全認證。在實(shí)際應用中,需要考慮兩個(gè)影響因素,一方面,由于加密措施的計算量大,對通信實(shí)時(shí)性和系統的可用資源都會(huì )產(chǎn)生影響,二是需要設計合理有效的密鑰管理方法。
3.控制器設計
以上從網(wǎng)絡(luò )防護和通訊協(xié)議的角度介紹了兩種安全問(wèn)題解決思路,但其本質(zhì)上都是對信息的保護。無(wú)論是何種攻擊,其最終的目的都是實(shí)現對物理設施的破壞,因此,需要研究攻擊對于系統的狀態(tài)預測和控制算法的影響,從物理系統的角度設計防御措施。
為了理解控制系統與物理世界的交互過(guò)程,首先需要分析攻擊對于物理系統的影響;其次基于控制命令和傳感器的測量值,預測物理系統應有的現象,從而判斷是否受到攻擊者的影響;最終在控制器算法設計時(shí)將攻擊因素考慮在內,設計出一種可以抵御攻擊的控制算法。
文獻對重播攻擊和完整性攻擊進(jìn)行分析,采用卡爾曼濾波和x2故障檢驗法檢測系統是否受到攻擊。這種檢測方法基于物理模型,可以作為基于網(wǎng)絡(luò )和計算機系統模型的入侵檢測的補充。在設計檢測算法時(shí),需要考慮實(shí)時(shí)性和嵌入式平臺的計算能力限制。
文獻首先建立物理系統的典型模型,將物理系統簡(jiǎn)化為一個(gè)線(xiàn)性系統。其次,針對DOS攻擊和欺騙攻擊,在原有線(xiàn)性系統模型基礎上增加攻擊因素。如圖3所示,攻擊因素可能分布在閉環(huán)控制回路的不同部分,傳感器部分、執行器部分和設備部分?;诓煌墓粢蛩?,設計帶狀態(tài)監測器的控制算法,用以檢測系統的運行狀態(tài)。該算法可以使系統在受到拒絕時(shí)服務(wù)攻擊時(shí),仍然處于安全狀態(tài);在受到欺騙攻擊時(shí),可以檢測出攻擊。安全控制器的設計目前僅限于學(xué)術(shù)領(lǐng)域的研究,在實(shí)際系統中的應用尚未成熟。這是由于設計控制器需要建立相對精確的物理模型,普適性不高??赡艿慕鉀Q思路是在控制器的硬件設計時(shí)采用主控制器和安全控制器的模式,利用旁道信息,如程序執行時(shí)間、代碼執行順序等,如果主控制器與安全控制器的旁道信息不一致,則采取安全措施。
3、結束語(yǔ)
本文首先研究了工業(yè)控制系統的行業(yè)特點(diǎn)和需求,并分析了工業(yè)控制系統面臨的威脅,其次在深入了解相關(guān)行業(yè)信息安全保障應用行規之后,介紹了適用于工業(yè)控制系統的信息安全現狀,從網(wǎng)絡(luò )防護、協(xié)議安全性和控制器設計這三個(gè)角度分析了目前的研究思路,具有一定的借鑒意義。
評論