在傳統(tǒng)電網(wǎng)系統(tǒng)中一直以來使用著種類繁多的工業(yè)系統(tǒng)通信控制協(xié)議。這些通信控制協(xié)議完成了電力ICS系統(tǒng)的數(shù)據(jù)交互與采集、命令發(fā)布與執(zhí)行、業(yè)務(wù)監(jiān)控與管理等諸多重要功能。然而這些協(xié)議從頒布至今已運(yùn)行有數(shù)十年(例如Modbus協(xié)議是1979年開發(fā)的協(xié)議),隨著智能電網(wǎng)概念的提出以及IT技術(shù)的不斷革新,傳統(tǒng)電網(wǎng)將不斷的引入新技術(shù)、新系統(tǒng)并改變原有網(wǎng)絡(luò)架構(gòu)和業(yè)務(wù)模式,這些通信控制協(xié)議的安全問題日益凸顯。
【摘要】隨著智能電網(wǎng)應(yīng)用的深入,智能電網(wǎng)中工業(yè)系統(tǒng)通信控制協(xié)議所存在的安全隱患日顯突出,如何提升和完善工業(yè)系統(tǒng)通信控制協(xié)議的安全性是智能電網(wǎng)信息安全中亟待解決的關(guān)鍵問題之一。本文首先分析了當(dāng)前智能電網(wǎng)中主流和常見工業(yè)系統(tǒng)通信控制協(xié)議的安全問題和安全風(fēng)險(xiǎn),提出了針對這類工業(yè)系統(tǒng)通信控制協(xié)議的安全防護(hù)建議。
【關(guān)鍵詞】智能電網(wǎng),工業(yè)系統(tǒng)通信控制協(xié)議,Modbus,ICCP,DNP3,安全
1前言
2010年震驚世界的Stuxnet病毒正是利用移動(dòng)介質(zhì)感染了德國西門子公司的基于WinCC操作系統(tǒng)的PCS7(STEP7)系統(tǒng),利用Profibus協(xié)議的缺乏認(rèn)證和鏈路加密的漏洞攻擊西門子的S7PLC設(shè)備,最終破壞了伊朗的核設(shè)施。由此可見,電力行業(yè)而言,工控協(xié)議自身的不安全性也是智能電網(wǎng)安全威脅中的一個(gè)環(huán)節(jié),需要加以重視。
本文將對目前電力行業(yè)中數(shù)個(gè)主流和廣泛應(yīng)用的工業(yè)通信控制協(xié)議進(jìn)行安全問題分析并嘗試提出相應(yīng)的安全防護(hù)建議。
2智能電網(wǎng)工業(yè)系統(tǒng)通信控制協(xié)議安全漏洞分析
智能電網(wǎng)中的工業(yè)控制系統(tǒng)包括大量的監(jiān)控與數(shù)據(jù)采集(SCADA)系統(tǒng)、分布式控制(DCS)系統(tǒng)、過程控制(PCS)系統(tǒng)、可編程邏輯控制器(PLC)以及其它系統(tǒng)。所使用的網(wǎng)絡(luò)通信協(xié)議也非TCP/IP協(xié)議,而是Modbus、ICCP/TASE.2(IEC60870-6)、DNP3這樣的幾十種工業(yè)控制通信協(xié)議。這些ICS系統(tǒng)和工業(yè)網(wǎng)絡(luò)通信協(xié)議與IT系統(tǒng)和TCP/IP協(xié)議有很多的區(qū)別,所面臨的安全威脅也不一樣,下面針對Modbus、ICCP、DNP3進(jìn)行分析。
2.1Modbus協(xié)議的安全問題
Modbus是Modicon公司于1979年開發(fā)的一種通訊協(xié)議。它是一種在當(dāng)今工業(yè)控制領(lǐng)域被廣為應(yīng)用的真正開放、標(biāo)準(zhǔn)的網(wǎng)絡(luò)通訊協(xié)議。通過此協(xié)議,控制器相互之間、或控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))可以和其它設(shè)備之間進(jìn)行通信。最初的Modbus系統(tǒng)只是簡單的兩層通信并工作在EIA-232鏈路之上,隨著光纖、無線等不同的物理層通信方式的應(yīng)用,已發(fā)展出了了Modbus+和Modubus/TCP。這些協(xié)議的共同點(diǎn)都是采用client-server命令架構(gòu),如圖1所示是Modbus協(xié)議族和ISO模型的對照。
由于Modbus在設(shè)計(jì)之初并未考慮信息安全,因此它缺乏機(jī)制來避免典型的信息安全威脅,Modbus的安全問題主要在于幾點(diǎn)。
。1)不驗(yàn)證:Modbus的會話僅要求使用有效的Modbus地址和有效的功能碼。無法知道原始信息在傳輸過程中是否被更改。(2)不加密:Modubs會話的命令和地址內(nèi)容在網(wǎng)絡(luò)中以明文方式傳輸。很容易被竊聽和偽造。
(3)不校驗(yàn)(僅ModbusTCP):由于Modbus是應(yīng)用層協(xié)議,而在OSI模型中校驗(yàn)在僅在傳輸層而非應(yīng)用層進(jìn)行,因此偽造的命令可以運(yùn)行于Modbus/TCP。
。4)缺乏廣播抑制(僅在串行Modbus):所有串接的設(shè)備都有可能接收到所有的信息,則就意味著一個(gè)未知地址的對廣播可能對這個(gè)串行連接上的所有設(shè)備造成有效的拒絕服務(wù)(DOS)攻擊。
。5)可編程:該缺點(diǎn)為最重要的Modbus缺陷,其它很多的工業(yè)協(xié)議也都存在該安全隱患。因?yàn)镸odbus這類協(xié)議被用來對控制器進(jìn)行編程,因此攻擊者可加以利用形成對RTU和PLC的惡意邏輯代碼注入。
2.2ICCP協(xié)議的安全問題
ICCP(IntercontrolCenterCommunicationProtocol)是美國電科院EPRI(ElectricPowerResearchInstitute)開發(fā)的標(biāo)準(zhǔn),該協(xié)議后被采納為國際標(biāo)準(zhǔn)IEC60870-6TASE.2.ICCP-TASE.2。ICCP/TASE.2(IEC60870-6)協(xié)議不同于串行控制的Modbus協(xié)議,它是一個(gè)雙向WAN通信協(xié)議,用于設(shè)施控制中心和其它控制中心,電站以及其它設(shè)施之間的通信。ICCP是應(yīng)用層網(wǎng)絡(luò)協(xié)議,可工作在TCP/IP之上,默認(rèn)端口為102。該協(xié)議是一個(gè)點(diǎn)對點(diǎn)協(xié)議,使用“雙邊表”來定義通信雙方的約定。
ICCP協(xié)議也存在著幾點(diǎn)安全隱患。
。1)缺乏認(rèn)證和加密:ICCP協(xié)議并不進(jìn)行強(qiáng)制性的認(rèn)證和加密。容易受到欺騙和偽裝攻擊。可對ICCP數(shù)據(jù)包進(jìn)行竊聽并可修改和偽造數(shù)據(jù)包內(nèi)。盡管存在安全型ICCP協(xié)議,但它并未廣泛使用和部署。
(2)明確定義信任關(guān)系:因ICCP在client和server之間通過“雙邊表”進(jìn)行明確的關(guān)系定義,因此可導(dǎo)致修改雙邊表從而侵入ICCP。
。3)可接入性:ICCP是個(gè)廣域網(wǎng)協(xié)議導(dǎo)致其存在高度的接入性和容易導(dǎo)致DOS攻擊。
2.3DNP3協(xié)議的安全問題
DNP協(xié)議最早是加拿大Westronic公司在1990年開發(fā)工業(yè)控制協(xié)議。DNP3規(guī)約是加拿大HARRIS公司在1993年7月開始起草制定的、基于IEC870-5標(biāo)準(zhǔn)的增強(qiáng)型體系結(jié)構(gòu)的網(wǎng)絡(luò)分布式協(xié)議。DNP3使用的參考模型源于的ISO-OSI參考模型。
DNP3協(xié)議運(yùn)行在在主控站和從設(shè)備之間,例如RTU、IED和控制站之間。DNP3可通過TCP或UDP封裝運(yùn)行于IP之上并使遠(yuǎn)程RTU通信可運(yùn)行在現(xiàn)代網(wǎng)絡(luò)上。與Modbus協(xié)議不同,DNP3協(xié)議提出了不少安全措施,盡管DNP3協(xié)議比起Modbus協(xié)議在安全性上有了很大的改善,但現(xiàn)實(shí)中DNP3協(xié)議仍存在著安全威脅。最為主要的安全威脅是竊聽和中間人攻擊,一旦攻擊者獲得地址和信任,則可以發(fā)起多種攻擊行為;(1)關(guān)閉主動(dòng)報(bào)告使告警無效;(2)發(fā)出虛假的主動(dòng)響應(yīng)使主控設(shè)備收到欺騙并采取錯(cuò)誤的行動(dòng);(3)通過注入廣播導(dǎo)致DOS攻擊,使DNP3網(wǎng)絡(luò)發(fā)生大規(guī)模的異常動(dòng)作;(4)篡改同步時(shí)鐘數(shù)據(jù),導(dǎo)致同步丟失和數(shù)據(jù)通信錯(cuò)誤;(5)篡改和刪除確認(rèn)信息,強(qiáng)制進(jìn)入連續(xù)性的數(shù)據(jù)再傳輸狀態(tài);(7)發(fā)起非授權(quán)的停止、重啟或其它導(dǎo)致運(yùn)行中斷的功能。
3智能電網(wǎng)工業(yè)系統(tǒng)通信控制協(xié)議安全防護(hù)措施
3.1Modbus協(xié)議的安全防護(hù)
對于Modbus協(xié)議建議采取幾項(xiàng)安全措施。
。1)部署使用工業(yè)防火墻設(shè)備:在ModbusServer和ModbusClient之間部署防火墻設(shè)備對通信訪問進(jìn)行訪問控制,只開放Modbus通信端口,只允許既定地址范圍內(nèi)ModbusServer和ModbusClient進(jìn)行相互通信。
。2)部署使用IDS設(shè)備:通過IDS設(shè)備對Modbus數(shù)據(jù)包進(jìn)行以下重要內(nèi)容檢測和監(jiān)控,并根據(jù)實(shí)際需求制定報(bào)警策略。
。3)采取其他安全措施,例如在Modbus通信中增加用戶名和密碼驗(yàn)證,在Modbus通信中使用VPN加密隧道,在Modbus通信中采用數(shù)據(jù)加密方式(如SSL和TLS),在Modbus通信中采用PKI。
3.2ICCP協(xié)議的安全防護(hù)
對于ICCP/TASE.2協(xié)議建議采取幾項(xiàng)安全措施。
。1)部署使用工業(yè)級防火墻:將ICCP的Client和Server進(jìn)行嚴(yán)格的區(qū)域隔離。
。2)部署使用IDS設(shè)備:通過IDS設(shè)備對ICCP數(shù)據(jù)包進(jìn)行以下重要內(nèi)容檢測和監(jiān)控,并根據(jù)實(shí)際需求制定報(bào)警策略。
。3)使用SecureICCP:在應(yīng)用層中通過數(shù)字證書提供強(qiáng)認(rèn)證方式,增加用戶名和密碼認(rèn)證,在Web頁面中通過SSL和TLS方式提供安全加密隧道,保障數(shù)據(jù)傳輸安全。
3.3DNP3協(xié)議的安全防護(hù)
對于DNP3協(xié)議建議采取幾項(xiàng)安全措施。
。1)部署使用工業(yè)級防火墻:將DNP3的Master和Slaver進(jìn)行嚴(yán)格的區(qū)域隔離,只開放DNP3通信端口(默認(rèn)為TCP/UDP20000端口)。
。2)部署使用IDS設(shè)備:通過IDS設(shè)備對DNP3數(shù)據(jù)包進(jìn)行以下重要內(nèi)容檢測和監(jiān)控,并根據(jù)實(shí)際需求制定報(bào)警策略。
。3)使用SecureDNP3協(xié)議:在Master和Slaver之間啟用定期身份驗(yàn)證;使用AggressiveMode模式解決在正常SecureDNP3模式中因未設(shè)置預(yù)防外部延時(shí)而導(dǎo)致在質(zhì)詢/響應(yīng)中存在大量的延時(shí)和負(fù)荷開銷;使用SecureDNP3中新增加的安全功能碼增加安全特性。
4結(jié)束語本文對Modbus、ICCP、DNP3這幾個(gè)常見工業(yè)系統(tǒng)通信控制協(xié)議和接口的安全問題進(jìn)行了分析,闡述了協(xié)議本身缺陷可能引起的攻擊行為,并針對這些安全問題提出了對應(yīng)的安全防護(hù)措施,為智能電網(wǎng)的安全防護(hù)建設(shè)提供了技術(shù)參考,具有一定的實(shí)際指導(dǎo)意義。
參考文獻(xiàn)
[1]MatthewFranzandDarrinMiller,TheUseofAttackTreesinAssessingVulnerabilitiesinSCADASystems,EricJ.Byres.
[2]IndustrialNetworkSecuritySecuringCriticalInfrastructureNetworksforSmartGrid,SCADA,andOtherIndustrialControlSystemsEricKnappISBN:978-1-59749-645-2.
[3]BestPracticesforSecuringSCADANetworksandSystemsintheElectricPowerIndustry.Semantec.
[4]DNP3Overview,http://www.trianglemicroworks.com.
轉(zhuǎn)載請注明來自:http://www.jinnzone.com/zhinengkexuejishulw/29906.html
上一篇:有色金屬.冶煉部分雜志