新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 工業(yè)控制系統(tǒng)的信息安全問(wèn)題及解決方案分析

工業(yè)控制系統(tǒng)的信息安全問(wèn)題及解決方案分析

作者: 時(shí)間:2013-12-07 來(lái)源:網(wǎng)絡(luò) 收藏

2、解決思路

為了防止在通信過(guò)程中遭受上述各種威脅與攻擊,需要使用多層安全措施完成對(duì)系統(tǒng)的保護(hù)。本文將以現(xiàn)有的研究成果為基礎(chǔ),從網(wǎng)絡(luò)邊界防護(hù)、安全協(xié)議和方面,介紹控制系統(tǒng)解決思路。

2.1網(wǎng)絡(luò)邊界防護(hù)

上文所述的系統(tǒng)威脅,一方面是由于系統(tǒng)采用傳統(tǒng)IT技術(shù),如操作系統(tǒng)、Web服務(wù)器、郵箱的漏洞等造成,另一方面控制系統(tǒng)與企業(yè)網(wǎng)實(shí)現(xiàn)互連,暴露于公共網(wǎng)絡(luò)之中,面臨更多的攻擊。因此,為了保證工業(yè)控制系統(tǒng)的安全性,首先需要增強(qiáng)網(wǎng)絡(luò)邊界的防護(hù),以降低由企業(yè)網(wǎng)引入的威脅風(fēng)險(xiǎn)。標(biāo)準(zhǔn)SP800-82《工業(yè)控制系統(tǒng)(ICS)安全指南》指出,在處理工業(yè)控制系統(tǒng)網(wǎng)絡(luò)與其他應(yīng)用網(wǎng)絡(luò)的連接問(wèn)題時(shí),需要按照最小訪問(wèn)原則設(shè)計(jì),具體分為兩點(diǎn)建議:

1)工業(yè)控制系統(tǒng)部署網(wǎng)絡(luò)時(shí),建議隔離工業(yè)控制系統(tǒng)與其他企業(yè)網(wǎng)絡(luò)。通常這兩類網(wǎng)絡(luò)的流量不同,且企業(yè)網(wǎng)對(duì)網(wǎng)絡(luò)設(shè)備變更沒有指定嚴(yán)格的控制規(guī)程;如果工業(yè)控制系統(tǒng)網(wǎng)絡(luò)流量存在于企業(yè)網(wǎng)上,可能會(huì)遭受拒絕服務(wù)式攻擊。網(wǎng)絡(luò)隔離可以通過(guò)采用防火墻等技術(shù)實(shí)現(xiàn)。

2)如果工業(yè)控制系統(tǒng)網(wǎng)絡(luò)與企業(yè)網(wǎng)之間必須建立連接,盡可能地只允許建立一個(gè)連接,且連接通過(guò)防火墻或非軍事區(qū)實(shí)現(xiàn)。在具體的技術(shù)措施上,SP800-82從身份認(rèn)證、訪問(wèn)控制、審計(jì)與核查、系統(tǒng)與通信保護(hù)等方面詳細(xì)介紹了可用的技術(shù)措施。

(1)身份認(rèn)證

通過(guò)PIN碼或密碼驗(yàn)證申請(qǐng)?jiān)L問(wèn)的設(shè)備或人員。在網(wǎng)絡(luò)上傳輸密碼時(shí)需要對(duì)密碼進(jìn)行加密,通過(guò)選取合適的加密哈希函數(shù),可以阻止重播攻擊。密碼認(rèn)證還可以輔以其他認(rèn)證措施,如詢問(wèn)/應(yīng)答或使用生物令牌或物理令牌。緊急情況下,工業(yè)控制系統(tǒng)使用密碼和生物認(rèn)證都存在一定危險(xiǎn)。因此在不適合使用密碼的情況下,可以采用嚴(yán)密的物理安全控制作為替代。

(2)訪問(wèn)控制

基于角色的訪問(wèn)控制(RBAC)可以用于限制用戶的權(quán)限,使其能以最小的權(quán)限完成任務(wù)。系統(tǒng)管理員的通訊需要加以認(rèn)證,并對(duì)其保密性和完整性加以保護(hù),如使用SSHv2和HTTPS協(xié)議。這兩個(gè)協(xié)議都使用公鑰/私鑰對(duì)進(jìn)行用戶認(rèn)證。通信雙方產(chǎn)生并使用對(duì)稱密鑰加密數(shù)據(jù)交互過(guò)程。

RADJUS遠(yuǎn)程認(rèn)證撥號(hào)用戶服務(wù)式目前使用最多的認(rèn)證和授權(quán)服務(wù)。它使用IEEE802.1×和EAP協(xié)議,可以在網(wǎng)絡(luò)的各個(gè)層實(shí)現(xiàn)用戶認(rèn)證。例如,防火墻和接入路由可以作為認(rèn)證代理。

當(dāng)無(wú)線設(shè)備或中斷用戶設(shè)備需要與其連接時(shí),認(rèn)證代理向設(shè)備發(fā)出詢問(wèn),設(shè)備通過(guò)認(rèn)證服務(wù)器返回認(rèn)證信息,從而獲得授權(quán)和接入許可。

調(diào)制解調(diào)器經(jīng)常用于提供備份連接。回叫系統(tǒng)通過(guò)存儲(chǔ)于數(shù)據(jù)庫(kù)中的回叫號(hào)碼,確認(rèn)撥號(hào)者是否為合法用戶。遠(yuǎn)程控制軟件需要使用唯一的用戶名和密碼,加密和審計(jì)日志。鏈路層的鄰居認(rèn)證需要使用CHAP協(xié)議等實(shí)現(xiàn)。

無(wú)線用戶接入和網(wǎng)絡(luò)設(shè)備間的鏈接可以使用多種方式實(shí)現(xiàn),如IEEE 802.11b/g的網(wǎng)絡(luò)接入點(diǎn)方式。所有的無(wú)線通信需要使用強(qiáng)加密,如IEEE802.11i中的AEP加密。無(wú)線接入需要使用IEEE802.1x認(rèn)證客戶。

(3)審計(jì)與核查

工業(yè)控制系統(tǒng)需要進(jìn)行周期性的審計(jì),驗(yàn)證內(nèi)容包括:測(cè)試階段的安全控制措施在生產(chǎn)系統(tǒng)中仍安裝使用;生產(chǎn)系統(tǒng)不受安全破壞,如果受到安全破壞則提供攻擊的信息;改動(dòng)項(xiàng)目需要為所有的變動(dòng)建立審查和批準(zhǔn)的記錄。

周期性的審計(jì)結(jié)果用一定的度量表示,用于顯示安全性能和安全趨勢(shì)。審計(jì)需要使用特定工具進(jìn)行記錄維護(hù),需要工業(yè)控制系統(tǒng)中的組件支持。審計(jì)有利于維護(hù)工業(yè)控制系統(tǒng)在系統(tǒng)生命周期內(nèi)的完整性。工業(yè)控制系統(tǒng)需要為審計(jì)工具提供可靠的同步時(shí)間戳。工業(yè)控制系統(tǒng)應(yīng)用中維護(hù)的日志可以存儲(chǔ)于多個(gè)地點(diǎn),加密或不加密都是可以的。

(4)系統(tǒng)與通信保護(hù)

系統(tǒng)與通信的保護(hù)可以通過(guò)網(wǎng)絡(luò)防護(hù)措施,如防火墻和入侵檢測(cè)系統(tǒng)等,以及數(shù)據(jù)加密,如VPN等實(shí)現(xiàn)。網(wǎng)絡(luò)防火墻控制不同安全等級(jí)的網(wǎng)絡(luò)區(qū)域間的數(shù)據(jù)流量。NIST SP 800-41為防火墻的選擇和防火墻策略提供了指導(dǎo)。在工業(yè)控制系統(tǒng)環(huán)境下,需要在控制網(wǎng)和企業(yè)網(wǎng)之間部署防火墻。防火墻包含的特征功能包括:事件記錄,入侵檢測(cè)系統(tǒng),基于非軍事區(qū)的路由,訪問(wèn)列表等。

當(dāng)系統(tǒng)被嗅探或攻擊時(shí),入侵檢測(cè)系統(tǒng)發(fā)出警報(bào)。入侵檢測(cè)系統(tǒng)通過(guò)在網(wǎng)絡(luò)的各個(gè)關(guān)鍵點(diǎn)收集信息,分析數(shù)據(jù)包內(nèi)容發(fā)現(xiàn)惡意流量,并發(fā)出警報(bào)、廢棄無(wú)效數(shù)據(jù)、記錄事件和活動(dòng)并觸發(fā)其他安全響應(yīng)。對(duì)于多種工業(yè)控制系統(tǒng)中的應(yīng)用協(xié)議所受到的攻擊,如DNP和lCCP,入侵檢測(cè)系統(tǒng)也會(huì)增加相應(yīng)的攻擊特征。

基于IPSec的VPN可以為網(wǎng)絡(luò)邊界的通信提供安全隧道,通常在相應(yīng)的防火墻上執(zhí)行。IPsec可以保證完整性、認(rèn)證和數(shù)據(jù)保密性。在隧道入口處,IP包外增加額外的數(shù)據(jù)包頭,路由器使用新的包頭信息轉(zhuǎn)發(fā)數(shù)據(jù),到達(dá)隧道出口時(shí),將原始IP包提取出來(lái)。在用戶認(rèn)證過(guò)程中,IPSec通常使用私鑰和RSA簽名。在消息認(rèn)證和完整性保護(hù)時(shí),使用MD5或SHA哈希函數(shù)。在數(shù)據(jù)加密時(shí),使用AES或3DES.IPSec還使用Diffie-Hellman作為對(duì)稱密鑰推導(dǎo)。IPSec設(shè)備使用IKE協(xié)議認(rèn)證其他設(shè)備、協(xié)商和分配對(duì)稱加密密鑰以及建立IPSec安全連接。

控制系統(tǒng)的安全管理包括檢測(cè)、分析、提供安全和事件響應(yīng)。具體內(nèi)容包括動(dòng)態(tài)調(diào)整安全要求,安全漏洞的優(yōu)先級(jí)排序,以及安全要求到安全管理的映射:認(rèn)證和授權(quán)服務(wù)器,安全密鑰,流量過(guò)濾,IDS,登錄等。SNMP用于管理IP網(wǎng)絡(luò)資源,如路由,防火墻和服務(wù)器等。SNMP也可用于提供控制系統(tǒng)網(wǎng)絡(luò)的集中管理。SNMPv3包括的安全特性有消息完整性,認(rèn)證和加密。SNMPv3使用MD5和SHA哈希算法和DES以及AES加密算法。

(5)其他措施

為了保證網(wǎng)絡(luò)操作的可靠性,工業(yè)控制系統(tǒng)需要設(shè)置冗余拓?fù)浜凸δ?。工業(yè)控制系統(tǒng)中大多使用以太網(wǎng)和IP網(wǎng)絡(luò)作為通信協(xié)議。以太網(wǎng)層的冗余可以通過(guò)在局域網(wǎng)內(nèi)使用RSTP協(xié)議中的網(wǎng)格拓?fù)涠鴮?shí)現(xiàn)。IP層的冗余通過(guò)路由間的備份鏈接,如OSPF動(dòng)態(tài)路由協(xié)議,和IP網(wǎng)絡(luò)冗余接人,如VRRP協(xié)議等。MPLS可以為IP網(wǎng)絡(luò)中的虛擬任意協(xié)議數(shù)據(jù)提供可靠的數(shù)據(jù)傳輸。隧道如L2TP協(xié)議等也可以為IP網(wǎng)絡(luò)中的數(shù)據(jù)提供可靠傳輸。

在控制系統(tǒng)中的時(shí)鐘和網(wǎng)絡(luò)設(shè)備需要精確同步,事件日志記錄時(shí)也需要記錄下準(zhǔn)確的時(shí)間。NTP協(xié)議和IEEEl588協(xié)議可以用于時(shí)間同步。NTP協(xié)議在因特網(wǎng)中廣泛使用,IEEEl588協(xié)議則主要滿足控制系統(tǒng)對(duì)于時(shí)鐘同步的要求。這兩種協(xié)議均可由獨(dú)立設(shè)備提供服務(wù),或者有其他網(wǎng)絡(luò)設(shè)備的組件提供服務(wù)。

2.2協(xié)議安全性

工業(yè)通訊協(xié)議,如MODBUS協(xié)議等,協(xié)議設(shè)計(jì)時(shí)未采取安全措施。然而隨著控制系統(tǒng)與外部網(wǎng)絡(luò)的連接增多,需要增加通信雙方的認(rèn)證過(guò)程。協(xié)議的安全性可以通過(guò)兩種方式提高,一是直接修改協(xié)議,增加認(rèn)證功能;二是在不修改現(xiàn)有協(xié)議的基礎(chǔ)上,增加層。

文獻(xiàn)設(shè)計(jì)了一種認(rèn)證型Modbus協(xié)議,該協(xié)議通過(guò)對(duì)消息使用加密函數(shù)和哈希鏈,增強(qiáng)Modbus協(xié)議的認(rèn)證功能,從而使攻擊者無(wú)法偽裝成主機(jī)。同時(shí)利用一個(gè)壓縮函數(shù),減少數(shù)據(jù)存儲(chǔ)大小。這種方式可以增加協(xié)議對(duì)于通信雙方的認(rèn)證過(guò)程,但同時(shí)也會(huì)增加通訊負(fù)擔(dān),即每次通話傳輸?shù)南⒍夹枰?jīng)過(guò)加密認(rèn)證,不一定能滿足控制系統(tǒng)對(duì)于實(shí)時(shí)性的要求。因此在設(shè)計(jì)時(shí)需要同時(shí)考慮計(jì)算效率與計(jì)算消耗。

文獻(xiàn)借鑒功能安全的概念,提出了一種在通信系統(tǒng)之上增加信息安全模塊的方法??刂葡到y(tǒng)的功能安全在傳輸系統(tǒng)的基礎(chǔ)上增加功能安全層,無(wú)需改變底層傳輸系統(tǒng),即可實(shí)現(xiàn)系統(tǒng)的故障安全。類似地,文獻(xiàn)設(shè)計(jì)一種信息安全模塊,用于保護(hù)端到端通信的認(rèn)證、完整性和保密性。所謂的安全模塊不是指簡(jiǎn)單的物理模塊,而是與PROFINET IO中的設(shè)備模型相對(duì)應(yīng),是一個(gè)軟件實(shí)現(xiàn)。如圖2所示,安全模塊從應(yīng)用層中獲取過(guò)程數(shù)據(jù),通過(guò)加密算法加密過(guò)程數(shù)據(jù),利用MD5算法計(jì)算消息完整性編碼,狀態(tài)字節(jié)用于表示消息完整性和超時(shí)。安全模塊通過(guò)參數(shù)化,可以適應(yīng)不同的安全需求和不同的計(jì)算能力。消息完整性編碼可以防止中間人攻擊,例如,攻擊者截取發(fā)送的消息并篡改過(guò)程數(shù)據(jù),由于沒有密鑰,無(wú)法計(jì)算出準(zhǔn)確的消息完整性編碼,接受者在接收到消息后對(duì)MAC進(jìn)行驗(yàn)證,如果無(wú)法驗(yàn)證其正確性,則會(huì)修改狀態(tài)字節(jié),用以匯報(bào)受攻擊狀態(tài)。

安全模塊是置于PROFINET IO之上的軟件層,只能用于防御基于網(wǎng)絡(luò)的攻擊,而不能保證設(shè)備安全。如果攻擊者獲取了設(shè)備的控制權(quán),那么數(shù)據(jù)會(huì)被操控,而安全模塊將無(wú)法產(chǎn)生作用。因此,可以將安全模塊可以與設(shè)備安全措施相結(jié)合,解決設(shè)備和網(wǎng)絡(luò)安全。

協(xié)議安全性主要是體現(xiàn)在對(duì)傳輸數(shù)據(jù)進(jìn)行加密處理,保證消息的完整性和保密性,并實(shí)現(xiàn)對(duì)設(shè)備的安全認(rèn)證。在實(shí)際應(yīng)用中,需要考慮兩個(gè)影響因素,一方面,由于加密措施的計(jì)算量大,對(duì)通信實(shí)時(shí)性和系統(tǒng)的可用資源都會(huì)產(chǎn)生影響,二是需要設(shè)計(jì)合理有效的密鑰管理方法。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉