工業(yè)控制系統的信息安全問(wèn)題及解決方案分析
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)生影響,二是需要設計合理有效的密鑰管理方法。
評論