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