版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
工業(yè)控制系統(tǒng)應(yīng)用與安全防護(hù)技術(shù)第3章
工業(yè)控制系統(tǒng)網(wǎng)絡(luò)協(xié)議工業(yè)控制協(xié)議是溝通ICS組件之間的橋梁,其安全性和穩(wěn)定性關(guān)系到整個(gè)ICS系統(tǒng)的安全。工業(yè)控制協(xié)議基于高可靠性和高效率進(jìn)行設(shè)計(jì),互聯(lián)網(wǎng)通信協(xié)議不一定適用于工業(yè)控制系統(tǒng)。在眾多工控協(xié)議中大致可以分為三類(lèi):(1)標(biāo)準(zhǔn)協(xié)議。例如Modbus協(xié)議等,這類(lèi)協(xié)議是國(guó)際標(biāo)準(zhǔn)或者被國(guó)際所公認(rèn)的協(xié)議。(2)私有但公開(kāi)協(xié)議。例如三菱的Melsec協(xié)議等,這類(lèi)協(xié)議一般由廠商提供協(xié)議的官方文檔。(3)私有不公開(kāi)協(xié)議。例如西門(mén)子的S7協(xié)議等。相對(duì)于標(biāo)準(zhǔn)協(xié)議和私有公開(kāi)協(xié)議,其受到的威脅會(huì)有所降低。但對(duì)于一些私有協(xié)議,同樣也會(huì)被破解。因此私有協(xié)議也無(wú)法確保安全。工控協(xié)議的安全性也在影響著ICS系統(tǒng)安全。3.1Modbus協(xié)議由于Modbus協(xié)議具有消息幀格式簡(jiǎn)單緊湊、協(xié)議標(biāo)準(zhǔn)公開(kāi)免費(fèi)、支持多種電氣接口以及基于Modbus進(jìn)行通信程序開(kāi)發(fā)方便快捷等特點(diǎn),它已經(jīng)成為工業(yè)自動(dòng)化領(lǐng)域應(yīng)用最為廣泛的通信協(xié)議。經(jīng)過(guò)多年的發(fā)展,Modbus又陸續(xù)推出多個(gè)版本:用于串行鏈路中的ModbusRTU和ModbusASCII,MODICON公司專(zhuān)有的經(jīng)過(guò)擴(kuò)展的ModbusPlus版本,以及用于以太網(wǎng)通信的ModbusTCP等。3.1.1ModbusTCP協(xié)議概述Modbus協(xié)議由MODICON公司在1979年開(kāi)發(fā),是全世界首個(gè)真正用于工業(yè)現(xiàn)場(chǎng)的總線協(xié)議。Modbus協(xié)議能夠讓不同的工控設(shè)備實(shí)現(xiàn)在多種網(wǎng)絡(luò)體系結(jié)構(gòu)中進(jìn)行數(shù)據(jù)交互通信的功能,例如:PLC、HMI、輸入/輸出等多種設(shè)備,使用Modbus協(xié)議進(jìn)行通信,實(shí)現(xiàn)遠(yuǎn)程控制操作。在Modbus串行鏈路版本中,Modbus采用主/從架構(gòu),或者說(shuō)是單客戶(hù)端/多服務(wù)器端架構(gòu)。而在ModbusTCP版本中則演變成多客戶(hù)端/多服務(wù)器端架構(gòu),即可以有多個(gè)主站或者從站。客戶(hù)端相當(dāng)于主/從架構(gòu)下的主設(shè)備,而服務(wù)器端相當(dāng)于從設(shè)備。作為主設(shè)備的客戶(hù)端向作為從設(shè)備的服務(wù)器端發(fā)送請(qǐng)求報(bào)文,服務(wù)器端在收到請(qǐng)求報(bào)文后會(huì)處理報(bào)文并執(zhí)行相關(guān)命令,隨后給客戶(hù)端發(fā)送響應(yīng)報(bào)文,響應(yīng)報(bào)文中包含命令是否執(zhí)行成功或者客戶(hù)端所請(qǐng)求的數(shù)據(jù)等信息。按照數(shù)據(jù)包是否為請(qǐng)求報(bào)文進(jìn)行劃分,ModbusTCP數(shù)據(jù)報(bào)文可以分成三種類(lèi)型:請(qǐng)求報(bào)文、正常響應(yīng)報(bào)文、異常響應(yīng)報(bào)文。ModbusTCP的請(qǐng)求報(bào)文和正常響應(yīng)報(bào)文具有相似的幀格式。一次正常的Modbus事務(wù)處理過(guò)程:ModbusTCP異常響應(yīng)報(bào)文幀格式:一次異常的事務(wù)處理過(guò)程:Modbus功能碼是Modbus數(shù)據(jù)報(bào)文中最重要的信息,它表示從站設(shè)備要執(zhí)行何種操作等。功能碼在報(bào)文中占1字節(jié),它能表示的數(shù)據(jù)范圍為[1,255]。由于Modbus事務(wù)處理發(fā)生異常時(shí),返回的響應(yīng)報(bào)文中功能碼等于正常功能碼與0x80之和,因此[128,255]的功能碼不會(huì)使用,它僅出現(xiàn)在異常響應(yīng)報(bào)文中。有效功能碼范圍為[1,127],又可分成3種類(lèi)別:公共功能碼、用戶(hù)自定義功能碼和保留功能碼。公共功能碼的范圍為[1,64]∪[73,99]∪[111,127],它們具有唯一性,所表示的功能定義明確。公共功能碼主要用于完成線圈/寄存器/離散量的讀寫(xiě)、設(shè)備診斷和異常響應(yīng)等功能。用戶(hù)自定義功能碼的范圍為[65,72]∪[100,110]。用戶(hù)根據(jù)自己需要自定義功能碼的功能,這些功能碼不具有唯一性,具體含義取決于使用的用戶(hù)。保留功能碼是一些公司對(duì)一些歷史產(chǎn)品使用的功能碼,不作為公共碼使用。Modbus協(xié)議中的數(shù)據(jù)類(lèi)型可以分成4種:線圈、離散量輸入、保持寄存器、輸入寄存器。表3-4描述了這4種數(shù)據(jù)類(lèi)型的特性。3.1.2ModbusTCP協(xié)議安全性分析ModbusTCP協(xié)議設(shè)計(jì)缺陷包括如下5個(gè)方面。(1)報(bào)文缺乏加密機(jī)制,Modbus數(shù)據(jù)報(bào)文采用明文傳輸,攻擊者只要捕獲到數(shù)據(jù)包就能夠輕松解析和篡改報(bào)文信息。(2)缺乏認(rèn)證機(jī)制,認(rèn)證主要用來(lái)確保接收到的數(shù)據(jù)來(lái)自被認(rèn)證的合法用戶(hù),服務(wù)器不會(huì)響應(yīng)未被認(rèn)證的用戶(hù)發(fā)送的數(shù)據(jù)。(3)缺乏授權(quán)機(jī)制,
Modbus沒(méi)有實(shí)現(xiàn)基于角色的訪問(wèn)控制機(jī)制,所有用戶(hù)具有相同的權(quán)限,甚至能夠執(zhí)行重要操作。攻擊者只要進(jìn)入到Modbus網(wǎng)絡(luò)內(nèi),就能夠執(zhí)行任意危險(xiǎn)的指令,例如重啟Modbus服務(wù)器等。(4)功能碼濫用,ModbusPDU的關(guān)鍵組成部分就是功能碼,功能碼指示接收?qǐng)?bào)文的設(shè)備應(yīng)當(dāng)執(zhí)行何種操作。這使得攻擊者可以濫用功能碼從而構(gòu)造各類(lèi)數(shù)據(jù)報(bào)文,再去實(shí)現(xiàn)拒絕服務(wù)攻擊或者竊取系統(tǒng)關(guān)鍵信息等。(5)TCP協(xié)議存在自身設(shè)計(jì)上的缺點(diǎn),攻擊者可以利用這些缺點(diǎn)去構(gòu)造洪泛攻擊等拒絕服務(wù)攻擊。Modbus協(xié)議受到的攻擊主要分為4類(lèi):信息掃描攻擊、響應(yīng)注入攻擊、命令注入攻擊、拒絕服務(wù)攻擊等。信息掃描攻擊是黑客實(shí)施更危險(xiǎn)復(fù)雜的攻擊前的準(zhǔn)備階段,它旨在收集工控系統(tǒng)中的各種網(wǎng)絡(luò)信息,識(shí)別工控設(shè)備的各種關(guān)鍵屬性,如設(shè)備廠商、型號(hào)、支持的工控協(xié)議、系統(tǒng)合法地址和內(nèi)存映射等,基于這些信息去尋找邊界突破的方法以獲取生產(chǎn)環(huán)境訪問(wèn)權(quán)限。具體的實(shí)現(xiàn)細(xì)節(jié)如下所述:(1)向所有合法的Modbus地址發(fā)送請(qǐng)求,通過(guò)Modbus服務(wù)器端發(fā)送的響應(yīng)報(bào)文判斷有效的設(shè)備地址;(2)構(gòu)造各種功能碼的請(qǐng)求報(bào)文,如果Modbus服務(wù)器端收到不支持的功能碼報(bào)文,則會(huì)收到一個(gè)異常響應(yīng)數(shù)據(jù)包,通過(guò)這樣的方法,掃描出哪些Modbus功能碼是可用的;(3)通過(guò)Modbus協(xié)議中內(nèi)置的讀設(shè)備標(biāo)識(shí)函數(shù)來(lái)獲取設(shè)備信息,然后繼續(xù)去匹配可用的漏洞;(4)當(dāng)對(duì)Modbus線圈、寄存器進(jìn)行讀寫(xiě)時(shí),如果地址不合法,則Modbus客戶(hù)端會(huì)收到一個(gè)異常響應(yīng)數(shù)據(jù)包,從而掃描出被攻擊設(shè)備線圈和寄存器的可用地址范圍。響應(yīng)注入攻擊是指通過(guò)捕獲工控系統(tǒng)內(nèi)的Modbus響應(yīng)數(shù)據(jù)包,然后惡意篡改數(shù)據(jù)包內(nèi)容(例如使系統(tǒng)測(cè)量值為非法數(shù)據(jù)類(lèi)型或者超出合法范圍等),再注入到工控系統(tǒng)的一種攻擊方式。這種攻擊方式可以欺騙系統(tǒng)操作員或者導(dǎo)致工控系統(tǒng)做出錯(cuò)誤的反應(yīng)。命令注入攻擊是指向工控系統(tǒng)中注入錯(cuò)誤控制或配置指令。例如利用工控系統(tǒng)漏洞注入惡意命令,破壞從設(shè)備的工作狀態(tài),使其由正常工作狀態(tài)轉(zhuǎn)變成危險(xiǎn)的臨界狀態(tài)。注入惡意參數(shù)命令以修改工控系統(tǒng)內(nèi)的某些關(guān)鍵參數(shù),這些參數(shù)可以是水箱水位、管道壓強(qiáng)等,從而使工控系統(tǒng)或從設(shè)備工作異常。注入惡意功能碼,控制工控系統(tǒng)去執(zhí)行某些特定操作,從而導(dǎo)致Modbus服務(wù)器重啟、或者停止傳輸消息等,以此達(dá)到攻擊目的。拒絕服務(wù)攻擊是指通過(guò)大量合法或者偽造的請(qǐng)求去占用被攻擊設(shè)備的帶寬或者系統(tǒng)資源,使得其無(wú)法正常工作的一種攻擊方式。對(duì)于ModbusTCP來(lái)說(shuō),主要包括TCPFIN洪泛攻擊、TCPRST洪泛攻擊、TCP連接池耗盡等。3.1.3ModbusTCP協(xié)議安全防護(hù)技術(shù)為了針對(duì)性地解決Modbus通信協(xié)議中的安全威脅,需從協(xié)議設(shè)計(jì)階段、開(kāi)發(fā)階段、測(cè)試與部署階段分段實(shí)施Modbus安全防護(hù)。例如,在協(xié)議設(shè)計(jì)階段,可融入異常行為預(yù)警功能。該功能可對(duì)工控系統(tǒng)的每次操作行為子屬性進(jìn)行掃描分析,并綜合各子屬性的安全等級(jí),最終通過(guò)子決策融合實(shí)現(xiàn)單次操作行為的綜合判定。對(duì)于異常行為,可采用報(bào)警觸發(fā)或?qū)嵗涗浀仁侄?,?shí)現(xiàn)安全威脅預(yù)警。在線下階段,可利用每次預(yù)警的實(shí)例記錄組建綜合的異常操作數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)中單次操作進(jìn)行深度解碼分析,輸出預(yù)警系統(tǒng)的虛警率、漏警率、預(yù)警率。這些綜合指標(biāo)可反映預(yù)警安全防護(hù)系統(tǒng)的性能,同時(shí)可反向地指導(dǎo)預(yù)警安全防護(hù)系統(tǒng)檢測(cè)標(biāo)準(zhǔn)的改進(jìn)。利用該協(xié)議操作數(shù)據(jù)庫(kù)可使得工控系統(tǒng)中發(fā)生的安全事件具有可追查性。深度包檢測(cè)技術(shù)是一種基于應(yīng)用層的流量檢測(cè)和控制技術(shù),當(dāng)IP數(shù)據(jù)包、TCP或UDP數(shù)據(jù)流通過(guò)基于該技術(shù)的帶寬管理系統(tǒng)時(shí),該系統(tǒng)會(huì)深入讀取IP包載荷的內(nèi)容,對(duì)OSI七層協(xié)議中的應(yīng)用層信息進(jìn)行重組,從而得到整個(gè)應(yīng)用程序的內(nèi)容,然后按照系統(tǒng)定義的管理策略對(duì)流量進(jìn)行整形操作。為了保障ModbusTCP協(xié)議在工業(yè)控制網(wǎng)絡(luò)中數(shù)據(jù)傳輸?shù)陌踩?,可建立基于深度包檢測(cè)技術(shù)的防護(hù)模型。防護(hù)模型包括身份合法性檢測(cè)、協(xié)議完整性檢測(cè)、功能碼使用安全性檢測(cè)等組成模塊。其中,身份合法性檢測(cè)模塊通過(guò)對(duì)訪問(wèn)地址的解析判斷訪問(wèn)者身份的合法性;協(xié)議完整性檢測(cè)模塊則通過(guò)對(duì)ModbusTCP協(xié)議特征的解析判斷數(shù)據(jù)包的規(guī)范性;功能碼使用安全性檢測(cè)基于對(duì)ModbusTCP數(shù)據(jù)報(bào)文中功能碼和數(shù)據(jù)的解析,以及對(duì)應(yīng)用戶(hù)授權(quán)的操作行為判斷操作的合法性。身份合法性檢測(cè)的功能主要包括數(shù)據(jù)鏈路層檢測(cè)和網(wǎng)絡(luò)層檢測(cè)。數(shù)據(jù)鏈路層檢測(cè)通過(guò)對(duì)數(shù)據(jù)包源MAC地址和目的MAC地址的解析和過(guò)濾可以阻斷非法設(shè)備的訪問(wèn),網(wǎng)絡(luò)層檢測(cè)則通過(guò)解析數(shù)據(jù)包中的源IP和目的IP以保護(hù)合法的IP訪問(wèn)順利進(jìn)行。協(xié)議完整性檢測(cè)的功能主要包括端口檢測(cè)、協(xié)議標(biāo)識(shí)符檢測(cè)和超長(zhǎng)數(shù)據(jù)報(bào)文檢測(cè)。端口檢測(cè)通過(guò)解析數(shù)據(jù)報(bào)文的源端口和目的端口是否為502來(lái)識(shí)別ModbusTCP報(bào)文,協(xié)議標(biāo)識(shí)符檢測(cè)則通過(guò)解析協(xié)議標(biāo)識(shí)符是否為0X0000判斷ModbusTCP數(shù)據(jù),同時(shí)對(duì)數(shù)據(jù)報(bào)文的長(zhǎng)度進(jìn)行檢測(cè),若數(shù)據(jù)載荷過(guò)長(zhǎng)則判斷報(bào)文為惡意構(gòu)造的數(shù)據(jù)包。在功能碼的使用安全性檢測(cè)中,可以設(shè)置訪問(wèn)控制規(guī)則,允許符合規(guī)則的ModbusTCP數(shù)據(jù)報(bào)文通過(guò),不符合的數(shù)據(jù)報(bào)文則丟棄。其內(nèi)容應(yīng)包括功能碼、地址范圍、閾值范圍,并且是基于白名單的工作機(jī)制,以限制主站對(duì)從站的訪問(wèn)。例如:白名單規(guī)則:Pass[功能碼:15][地址范圍:5-9][閾值范圍:50-100],默認(rèn)規(guī)則:全部禁止。3.2PROFINET協(xié)議PROFINET是由PROFIBUS國(guó)際組織在2000年提出并于4年后構(gòu)建起來(lái)的一套全面的標(biāo)準(zhǔn),包含安裝技術(shù)、實(shí)時(shí)通信、分布式現(xiàn)場(chǎng)設(shè)備、分布式智能以及運(yùn)動(dòng)控制等。依據(jù)應(yīng)用場(chǎng)景不同,PROFINET應(yīng)用可分為兩種類(lèi)型:PROFINETIO,用于集成分布式IO,支持分布式現(xiàn)場(chǎng)設(shè)備直接接入以太網(wǎng);PROFINETCBA,用于在分布式自動(dòng)化中創(chuàng)建模塊化設(shè)備系統(tǒng)。PROFINET通信分為三個(gè)等級(jí),可以在一根電纜上提供適應(yīng)各種類(lèi)型設(shè)備的3種通信信道:TCP/IP、實(shí)時(shí)通信(Real-Time,RT)和等時(shí)同步實(shí)時(shí)通信(IsochronousReal-Time,IRT)。3.2.1PROFINET-RT1.協(xié)議概述實(shí)時(shí),表示系統(tǒng)在一個(gè)確定的時(shí)間內(nèi)處理外部事件。確定性,表示系統(tǒng)有一個(gè)可預(yù)知的響應(yīng)。因此,實(shí)時(shí)通信的一般要求是確定性的響應(yīng)和標(biāo)準(zhǔn)應(yīng)用的響應(yīng)時(shí)間小于等于5ms。使用標(biāo)準(zhǔn)的通信協(xié)議TCP/IP或UDP/IP是實(shí)現(xiàn)實(shí)時(shí)通信的一種方法,然而使用它們會(huì)存在相應(yīng)的缺點(diǎn):當(dāng)幀過(guò)載時(shí),幀的長(zhǎng)度會(huì)增加,從而引起線路上傳輸時(shí)間的增加。此外,由于標(biāo)準(zhǔn)通信協(xié)議分層較多,占用處理器的計(jì)算時(shí)間會(huì)相對(duì)較長(zhǎng),從而導(dǎo)致發(fā)送周期增加。PROFINET使用優(yōu)化的通道進(jìn)行實(shí)時(shí)通信,該通道基于ISO/OSI參考模型的第二層。此外,數(shù)據(jù)包使用接收設(shè)備的MAC地址進(jìn)行尋址,在放棄了路由功能的代價(jià)下保證了工業(yè)控制系統(tǒng)網(wǎng)絡(luò)中的不同站點(diǎn)能夠在可預(yù)見(jiàn)的時(shí)間間隔內(nèi)傳輸時(shí)間要求嚴(yán)格的數(shù)據(jù)。2.通信流程在PROFINETIO應(yīng)用中,實(shí)時(shí)信號(hào)主要分為周期I/O數(shù)據(jù)和警報(bào)信號(hào)(非周期)。系統(tǒng)啟動(dòng)之后,己配置好的IO控制器和IO設(shè)備之間開(kāi)始周期性的數(shù)據(jù)交換。每條I/O數(shù)據(jù)(RTC:實(shí)時(shí)周期)都包含兩種屬性:IO供應(yīng)者狀態(tài)(IOProviderStatus,IOPS)和IO消費(fèi)者狀態(tài)(IOConsumerStatus,IOCS)。IO控制器和IO設(shè)備依次評(píng)估傳輸?shù)馁|(zhì)量。3.協(xié)議結(jié)構(gòu)PROFINET-RT通信協(xié)議是在EthernetII標(biāo)準(zhǔn)報(bào)文的基礎(chǔ)上,加入了IEEE802.1Q標(biāo)簽頭以及PROFINET-RT專(zhuān)有數(shù)據(jù)。PRE表示前導(dǎo)碼,代表數(shù)據(jù)包的開(kāi)始部分,由7個(gè)字節(jié)的1和0交替的二進(jìn)制序列構(gòu)成,用于接收器同步。SFD表示幀開(kāi)始定界符。DST和SRC分別代表目的MAC地址和源MAC地址,MAC地址中前三字節(jié)用于標(biāo)識(shí)制造商。VLAN包括4部分。其中TPID為一個(gè)特定的值0x8100,表明緊隨其后的是VLAN標(biāo)簽協(xié)議標(biāo)識(shí)符。Priority占用3位,代表幀的優(yōu)先級(jí),此優(yōu)先級(jí)可以設(shè)置0x00至0x07的優(yōu)先級(jí)別,數(shù)值越大代表的優(yōu)先級(jí)越高,PROFINET-RT幀結(jié)構(gòu)的優(yōu)先級(jí)一般為0x06;CFI占用1位,值為0說(shuō)明是規(guī)范格式,1為非規(guī)范格式;VID是一個(gè)12位的域,指明VLAN的ID,每個(gè)支持802.1Q協(xié)議的交換機(jī)發(fā)送出來(lái)的數(shù)據(jù)包都會(huì)包含這個(gè)域。EthType代表以太網(wǎng)類(lèi)型,PROFINET實(shí)時(shí)數(shù)據(jù)釆用0x8892。Data部分在PROFINETIO中表示I/O數(shù)據(jù),如果實(shí)時(shí)幀的長(zhǎng)度小于64Byte,則PROFINET實(shí)時(shí)數(shù)據(jù)的長(zhǎng)度必須擴(kuò)展到最少40Byte,最長(zhǎng)為1440Byte。APDU表示PROFINET實(shí)時(shí)數(shù)據(jù)幀的狀態(tài),由三部分組成。具體的取值及含義如表3-6所示。CycleCount表示周期計(jì)數(shù)器,每經(jīng)過(guò)一個(gè)發(fā)送周期,計(jì)數(shù)器的值增加1。DataStatus代表傳輸?shù)臄?shù)據(jù)狀態(tài),每一位都有其固定含義,例如標(biāo)識(shí)通道、數(shù)據(jù)有效性、問(wèn)題指示器等。TransferStatus代表傳輸狀態(tài),取值為固定值0。FCS為幀檢驗(yàn)序列。3.2.2PROFINET-DCP1.協(xié)議概述
PROFINET-DCP為發(fā)現(xiàn)和基本配置協(xié)議,由PROFINET協(xié)議簇定義,協(xié)議結(jié)構(gòu)與PROFINET-RT相似,尋址方式、EtherType取值和PROFINET-RT信號(hào)相同,但在PROFINETIO中被分類(lèi)為標(biāo)準(zhǔn)數(shù)據(jù)。PROFINET-DCP是以太網(wǎng)鏈路層協(xié)議并提供多種服務(wù)。它用來(lái)發(fā)現(xiàn)、識(shí)別和配置設(shè)備信息,例如PROFINET設(shè)備名稱(chēng)和IP地址。每個(gè)PROFINET設(shè)備分配一個(gè)唯一的基于域名系統(tǒng)(DNS)命名約定的設(shè)備名稱(chēng)和一個(gè)IP地址。2.通信流程發(fā)現(xiàn)和基本配置協(xié)議PROFINET-DCP是系統(tǒng)初始化時(shí)的重要協(xié)議之一,主要負(fù)責(zé)分配設(shè)備名稱(chēng)、IP地址。1)給IO設(shè)備分配名稱(chēng)在系統(tǒng)開(kāi)始工作之前,IO設(shè)備必須被分配名稱(chēng),分配名稱(chēng)過(guò)程一般由IO監(jiān)視器完成。在運(yùn)行期間名稱(chēng)是IO設(shè)備的標(biāo)識(shí),且可以由用戶(hù)按一定規(guī)則選擇。名稱(chēng)也可以由IO控制器給IO設(shè)備分配。分配設(shè)備名稱(chēng)分為三個(gè)階段:
(1)識(shí)別請(qǐng)求:IO監(jiān)視器或IO控制器以名稱(chēng)為標(biāo)識(shí)搜索設(shè)備。
(2)設(shè)置請(qǐng)求:當(dāng)檢測(cè)設(shè)備名稱(chēng)但無(wú)回應(yīng)時(shí),向IO設(shè)備寫(xiě)入設(shè)備名稱(chēng)。
(3)設(shè)置響應(yīng):對(duì)設(shè)置請(qǐng)求的確認(rèn)。使用PROFINET-DCP分配設(shè)備名稱(chēng)的序列:2)給IO設(shè)備分配IP地址
在系統(tǒng)啟動(dòng)階段,IO控制器為IO設(shè)備分配一個(gè)IP地址,分配設(shè)備地址分為五個(gè)階段:
(1)識(shí)別請(qǐng)求:IO控制器或IO監(jiān)視器依據(jù)設(shè)備名稱(chēng)搜索設(shè)備。
(2)請(qǐng)求響應(yīng):表示己搜索到設(shè)備。
(3)地址解析請(qǐng)求:確認(rèn)IP地址與設(shè)備MAC地址的對(duì)應(yīng)關(guān)系。
(4)設(shè)置請(qǐng)求:向IO設(shè)備寫(xiě)入IP地址、網(wǎng)關(guān)地址等。
(5)設(shè)置響應(yīng):設(shè)置請(qǐng)求的確認(rèn)。使用PROFINET-DCP分配設(shè)備IP的序列如圖3-12所示。在DCP_Set正確接收之后,IO控制器與IO設(shè)備之間建立應(yīng)用關(guān)系(ApplicationRelations,AR),建立成功后開(kāi)始傳輸IO數(shù)據(jù)。3.協(xié)議結(jié)構(gòu)PROFINET-DCP的幀結(jié)構(gòu)(不包括前導(dǎo)碼和幀開(kāi)始標(biāo)志):圖中DST和SRC分別代表目的MAC地址和源MAC地址。與PROFINET實(shí)時(shí)信號(hào)相同,EtherType字段取值為0x8892。FrameID代表傳輸?shù)膶?shí)時(shí)數(shù)據(jù)幀的類(lèi)型,對(duì)于PROFINET-DCP,F(xiàn)rameID取值處于0xFEFD~0xFEFF之間。對(duì)于一些有優(yōu)先級(jí)要求的數(shù)據(jù)報(bào)文,源地址SRC和以太網(wǎng)類(lèi)型EtherType字段之間,按照IEEE802.1Q規(guī)范被分配傳輸優(yōu)先級(jí),存儲(chǔ)在VLAN標(biāo)簽中。Xid代表交換標(biāo)識(shí),為一個(gè)4字節(jié)的隨機(jī)數(shù),一般情況下請(qǐng)求和響應(yīng)的Xid相同。Reversed代表保留位,取值為0。Vlen代表其后Block的長(zhǎng)度。ServiceID和ServiceType以及Block決定了報(bào)文的具體操作內(nèi)容。與PROFINET-RT信號(hào)相比,取消了末尾的APDU和FCS字段。4.字段詳解PROFINET-DCP協(xié)議的大部分字段都有固定取值范圍和意義。DCPGet即ServiceID取值為0x03,為單播的一種報(bào)文,用來(lái)從設(shè)備中讀取相關(guān)信息。例如通過(guò)配置或診斷工具可以讀取設(shè)備名稱(chēng)、設(shè)備IP、設(shè)備制造商信息以及供應(yīng)商ID、設(shè)備ID、設(shè)備角色(控制器或設(shè)備)等等。DCPSet即ServiceID取值為0x04,為單播的一種報(bào)文,用來(lái)設(shè)置設(shè)備名稱(chēng)或設(shè)備IP。設(shè)備名稱(chēng)可以設(shè)置為保持型名稱(chēng)或臨時(shí)型名稱(chēng)。保持型名稱(chēng)在設(shè)備斷電后依然保留(默認(rèn)情況下為保持型);臨時(shí)型名稱(chēng)在設(shè)備斷電后即返回到默認(rèn)值。DCPIdentify即ServiceID取值為0x05,為多播的一種報(bào)文,用來(lái)使用特定的設(shè)備名稱(chēng)以便在網(wǎng)絡(luò)上尋找對(duì)應(yīng)的設(shè)備。DCPHello即ServiceID取值為0x06,為多播的一種報(bào)文。當(dāng)在設(shè)備上使用并啟用快速啟動(dòng)時(shí),可以使用DCPHello服務(wù)。它不是使設(shè)備在斷電重啟后等待控制器找到它,而是通知控制器此設(shè)備已重新在線,從而縮短啟動(dòng)時(shí)間。ServiceID代表服務(wù)類(lèi)型,ServiceType代表報(bào)文的狀態(tài),例如請(qǐng)求或響應(yīng)成功以及響應(yīng)失敗。Block中保存著數(shù)據(jù)報(bào)文傳輸?shù)木唧w信息,每一個(gè)報(bào)文可以包含多個(gè)Block,每個(gè)Block中可以包含多個(gè)選項(xiàng)Option和子選項(xiàng)Suboption,每一對(duì)都有其具體含義。1)IP相關(guān)信息(0x01)Option取值為0x01時(shí)表示傳輸IP相關(guān)信息。2)設(shè)備相關(guān)信息(0x02)
當(dāng)Option取值為0x02時(shí),表示傳輸?shù)氖窃O(shè)備相關(guān)信息,包括工廠自定義信息、設(shè)備ID、設(shè)備角色(控制端或被控制端)等。Suboption取值及其對(duì)應(yīng)關(guān)系如表3-10所示。3)動(dòng)態(tài)主機(jī)相關(guān)信息(0x03)Option取值為0x03時(shí)代表傳輸?shù)氖莿?dòng)態(tài)主機(jī)配置相關(guān)信息,包括主機(jī)名、供應(yīng)商信息、服務(wù)端標(biāo)識(shí)、請(qǐng)求參數(shù)列表等。4)控制相關(guān)信息(0x05)Option取值為0x05時(shí)代表傳輸?shù)氖强刂葡嚓P(guān)信息,包括啟動(dòng)傳輸、終止傳輸、重置到出廠設(shè)定、信號(hào)標(biāo)識(shí)、響應(yīng)信息等。
5)設(shè)備主動(dòng)發(fā)起信息(0x06)
Option取值為0x06時(shí)代表傳輸?shù)氖窃O(shè)備主動(dòng)傳輸?shù)男畔?,Suboption只開(kāi)放了0x01。
6)所有信息(0xff)
Option取值為0xff代表獲取設(shè)備的所有信息,此時(shí)Suboption取值也為0xff。3.2.3PROFINET安全性分析一般早期工業(yè)控制系統(tǒng)都是與IT網(wǎng)絡(luò)相互隔離,因此大部分應(yīng)用于工控系統(tǒng)的協(xié)議都沒(méi)有考慮安全性問(wèn)題。與其他應(yīng)用在工業(yè)控制系統(tǒng)中的通信協(xié)議一樣,PROFINET協(xié)議缺乏認(rèn)證、授權(quán)和加密等安全機(jī)制。除了工控協(xié)議的常見(jiàn)安全問(wèn)題之外,PROFINET-DCP協(xié)議中的服務(wù)ID與服務(wù)類(lèi)型成為主要的攻擊目標(biāo)。ServiceID和ServiceType是PROFINET-DCP的重要組成部分,在使用過(guò)程中,ServiceID和ServiceType雖然僅開(kāi)放了其中的一小部分,但仍具有一定的潛在脆弱性。對(duì)于PROFINET應(yīng)用系統(tǒng)中常見(jiàn)的異常行為總結(jié)下:3.2.4PROFINET安全防護(hù)技術(shù)PROFINET的一個(gè)重要特征就是可以同時(shí)傳遞實(shí)時(shí)數(shù)據(jù)和標(biāo)準(zhǔn)的TCP/IP數(shù)據(jù)。在其傳遞TCP/IP數(shù)據(jù)的公共通道中,各種經(jīng)過(guò)驗(yàn)證的IT技術(shù)都可以使用(如HTTP、HTML、SNMP、DHCP和XML等)。在使用PROFINET的時(shí)候,可以通過(guò)使用這些IT標(biāo)準(zhǔn)服務(wù)加強(qiáng)對(duì)整個(gè)網(wǎng)絡(luò)的管理和維護(hù),這有利于在調(diào)試和維護(hù)中節(jié)省成本。PROFINET實(shí)現(xiàn)了從現(xiàn)場(chǎng)級(jí)到管理層的縱向通訊集成。一方面,方便管理層獲取現(xiàn)場(chǎng)級(jí)的數(shù)據(jù),另一方面,原本在管理層存在的數(shù)據(jù)安全性問(wèn)題也延伸到了現(xiàn)場(chǎng)級(jí)。為了保證現(xiàn)場(chǎng)級(jí)控制數(shù)據(jù)的安全,PROFINET提供了特有的安全機(jī)制,通過(guò)使用專(zhuān)用的安全模塊,可以保護(hù)自動(dòng)化控制系統(tǒng),使自動(dòng)化通訊網(wǎng)絡(luò)的安全風(fēng)險(xiǎn)最小化。PROFIsafe是由PROFIBUS國(guó)際組織提出的加載在PROFIBUS和PROFINET通信協(xié)議基礎(chǔ)上的功能安全通信行規(guī),符合IEC61508(《電氣/電子/可編程電子安全相關(guān)系統(tǒng)的功能安全》)功能安全國(guó)際標(biāo)準(zhǔn),滿(mǎn)足SIL3等級(jí)的故障安全,很好地保證了整個(gè)系統(tǒng)的安全。PROFIsafe使標(biāo)準(zhǔn)現(xiàn)場(chǎng)總線技術(shù)和故障安全技術(shù)合為一個(gè)系統(tǒng),即故障安全通信和標(biāo)準(zhǔn)通信在同一根電纜上共存,安全通信不通過(guò)冗余電纜來(lái)實(shí)現(xiàn)。這不僅在布線上和品種多樣性方面可以節(jié)約成本,而且也方便日后系統(tǒng)的改造。采用PROFIsafe既可使用單總線結(jié)構(gòu)也可根據(jù)要求采用標(biāo)準(zhǔn)總線和安全總線分開(kāi)的結(jié)構(gòu)。與標(biāo)準(zhǔn)ROFIBUS相比,標(biāo)準(zhǔn)通信部件,如電纜、專(zhuān)用芯片、堆棧軟件等等,無(wú)任何變化;簡(jiǎn)化了設(shè)備、工程設(shè)計(jì)和安裝成本,既可用于低能耗的過(guò)程自動(dòng)化,又可用于反應(yīng)迅速的制造業(yè)自動(dòng)化。此外,PROFIsafe還采用了SIL-Monitor專(zhuān)利技術(shù),借助SIL-Monitor,系統(tǒng)能夠在故障率超過(guò)一定限度之前即采取有效的安全保護(hù)措施,從而避免系統(tǒng)出現(xiàn)危險(xiǎn)故障。PROFIsafe通過(guò)一系列的現(xiàn)場(chǎng)案例證明系統(tǒng)的靈活性,同時(shí)可滿(mǎn)足工業(yè)4.0中的柔性化生產(chǎn)需求。3.3SiemensS7協(xié)議西門(mén)子PLC使用私有協(xié)議進(jìn)行通信,端口為102。西門(mén)子PLC協(xié)議有3個(gè)版本:S7Comm協(xié)議、早期S7Comm-Plus協(xié)議和最新的S7Comm-Plus協(xié)議。S7-200、S7-300、S7-400系列的PLC采用早期的西門(mén)子私有協(xié)議S7comm進(jìn)行通信,S7-1200系列v3.0版本之前的通信協(xié)議采用早期S7Comm-Plus協(xié)議,S7-1200系列v4.0版本、S7-1500系列采用了最新的S7Comm-Plus協(xié)議,最新的S7Comm-Plus協(xié)議引入了會(huì)話ID來(lái)防止重放攻擊,且對(duì)關(guān)鍵流量有加密處理。3.3.1SiemensS7協(xié)議概述S7comm通信協(xié)議是西門(mén)子的私有協(xié)議,主要應(yīng)用于西門(mén)子S7系列的PLC設(shè)備上,幫助西門(mén)子設(shè)備之間交換數(shù)據(jù)。S7comm是一個(gè)主從協(xié)議,現(xiàn)場(chǎng)PLC設(shè)備一般作為從站,裝有上位機(jī)軟件的PC是作為主站,主站向從站發(fā)送請(qǐng)求數(shù)據(jù)。S7comm協(xié)議也是根據(jù)TCP/IP協(xié)議棧實(shí)現(xiàn)的,屬于OSI七層模型中的應(yīng)用層協(xié)議。其中,低四層主要完成底層驅(qū)動(dòng)程序。第五層TPKT層,是用來(lái)在第四層和第六層之間建立紐帶作用的應(yīng)用數(shù)據(jù)傳輸服務(wù)協(xié)議。第六層是COTP層,是位于TCP之上的協(xié)議,以“包”為基本單位傳輸數(shù)據(jù),使得接收方獲得和發(fā)送方具有相同邊界的數(shù)據(jù)。第七層S7communication層對(duì)應(yīng)于應(yīng)用層,該層主要封裝用戶(hù)執(zhí)行操作的數(shù)據(jù)。S7通信協(xié)議包前面封裝COTP頭,再接著封裝TPKT頭,數(shù)據(jù)包打包完成后通過(guò)TCP建立連接進(jìn)行傳輸。S7comm是私有協(xié)議,可以使用Wireshark抓包工具來(lái)分析S7comm報(bào)文的格式及通信過(guò)程。Wireshark是一款網(wǎng)絡(luò)分析工具,可以抓取網(wǎng)絡(luò)中的通信流量,并能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包信息。1)TPKT協(xié)議格式分析S7comm協(xié)議在通信傳輸過(guò)程中是被封裝在COTP協(xié)議中的,而COTP協(xié)議又被封裝在TPKT(ISOtransportservicesontopoftheTCP)協(xié)議中。2)COTP協(xié)議格式分析COTP協(xié)議數(shù)據(jù)包包括ConnectionPacket和FunctionPacket兩種形式。其中,ConnectionPacket又分為ConnectionRequestionPacket和ConnectionConfirmPacket兩種。在COTP數(shù)據(jù)包中Payload和Trailer部分均可能為0,并且只有在Type字段為0xf0時(shí),OPT字段才存在,Type字段的含義如表3-15所示。通過(guò)對(duì)數(shù)據(jù)報(bào)文的分析得出COTP協(xié)議的ConnectionPacket和FunctionPacket報(bào)文格式如下。3.3.2SiemensS7協(xié)議脆弱性分析目前存在針對(duì)西門(mén)子工業(yè)控制系統(tǒng)的攻擊方式主要包括:IP欺騙、服務(wù)拒絕(DoS)攻擊、TCPSYNFlood攻擊、Land攻擊、ICMPSmurf攻擊、PingofDeath攻擊、UDPFlood攻擊、Teardrop攻擊、中間人攻擊、重放攻擊等。中間人攻擊和重放攻擊是兩種常見(jiàn)的攻擊方式。1.中間人攻擊中間人攻擊(Man-in-the-MiddleAttack,簡(jiǎn)稱(chēng)MITM攻擊)是一種間接的入侵攻擊,這種攻擊模式是通過(guò)各種技術(shù)手段將受入侵者控制的一臺(tái)計(jì)算機(jī)虛擬放置在網(wǎng)絡(luò)連接中的兩臺(tái)通信計(jì)算機(jī)之間,這臺(tái)計(jì)算機(jī)就稱(chēng)為“中間人”。中間人攻擊中有兩個(gè)受害者,分別為上位機(jī)和PLC。中間人在雙方都不知情的情況下實(shí)施攻擊,攻擊對(duì)象是經(jīng)過(guò)中間人傳送的上位機(jī)和PLC的傳輸內(nèi)容。傳輸內(nèi)容被中間人截獲,如果截獲信息中有用戶(hù)名和密碼,危害就會(huì)更大,而且中間人攻擊不會(huì)損害兩者之間的通訊。2.重放攻擊重放攻擊(ReplayAttacks)又稱(chēng)重播攻擊、回放攻擊,是指攻擊者發(fā)送一個(gè)目的主機(jī)已接收過(guò)的包,來(lái)達(dá)到欺騙系統(tǒng)的目的,主要用于身份認(rèn)證過(guò)程,破壞認(rèn)證的正確性。在工控系統(tǒng)中的重放攻擊利用了S7協(xié)議缺乏認(rèn)證的脆弱性問(wèn)題,將上位機(jī)軟件編譯好的程序重新下裝到PLC機(jī)器中。把以前竊聽(tīng)到的數(shù)據(jù)原封不動(dòng)地重新發(fā)送給接收方。很多時(shí)候,網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)是加密過(guò)的,此時(shí)竊聽(tīng)者無(wú)法得到數(shù)據(jù)的準(zhǔn)確意義。但如果知道這些數(shù)據(jù)的作用,就可以在不知道數(shù)據(jù)內(nèi)容的情況下通過(guò)再次發(fā)送這些數(shù)據(jù)達(dá)到欺騙接收端的目的。3.3.3SiemensS7協(xié)議安全防護(hù)技術(shù)在目前工控系統(tǒng)網(wǎng)絡(luò)安全形勢(shì)下,加強(qiáng)安全防護(hù)顯得更為重要。通過(guò)對(duì)工控網(wǎng)絡(luò)流量、工控主機(jī)狀態(tài)等進(jìn)行監(jiān)控,收集并分析工控網(wǎng)絡(luò)數(shù)據(jù)及軟件運(yùn)行狀態(tài),建立工控系統(tǒng)正常工作環(huán)境下的安全狀態(tài)基線和模型,全面構(gòu)筑工控安全技術(shù)體系,進(jìn)而保障西門(mén)子工業(yè)控制系統(tǒng)的穩(wěn)定運(yùn)行。進(jìn)一步加強(qiáng)工控系統(tǒng)安全防護(hù)措施如下:1)區(qū)域邊界訪問(wèn)控制在生產(chǎn)網(wǎng)上位機(jī)與PLC設(shè)備之間部署工業(yè)防火墻,實(shí)現(xiàn)S7等工業(yè)控制協(xié)議的識(shí)別與深度解析,實(shí)時(shí)攔截非法指令和惡意指令下發(fā)等不法行為。在工業(yè)現(xiàn)場(chǎng)生產(chǎn)業(yè)務(wù)固化后,通過(guò)工業(yè)防火墻智能學(xué)習(xí)功能固化安全防護(hù)策略,使之更加符合生產(chǎn)業(yè)務(wù)需求。結(jié)合工業(yè)防火墻硬件級(jí)安全策略寫(xiě)保護(hù)特性功能,實(shí)現(xiàn)安全策略只讀權(quán)限的物理級(jí)控制。強(qiáng)化對(duì)西門(mén)子工業(yè)控制系統(tǒng)的邊界隔離與防護(hù),確??刂葡到y(tǒng)的持續(xù)穩(wěn)定運(yùn)行。2)工控主機(jī)安全防護(hù)與加固在生產(chǎn)網(wǎng)工控主機(jī)上部署工控安全防護(hù)軟件,通過(guò)白名單技術(shù)、漏洞防御、安全基線及外設(shè)管控等技術(shù)措施實(shí)現(xiàn)對(duì)工控主機(jī)的安全防護(hù)與加固,杜絕重放攻擊、中間人攻擊等攻擊手段危害生產(chǎn)業(yè)務(wù)安全。3)生產(chǎn)網(wǎng)絡(luò)流量監(jiān)測(cè)及預(yù)警在生產(chǎn)網(wǎng)內(nèi)部關(guān)鍵網(wǎng)絡(luò)節(jié)點(diǎn)處旁路部署工控安全監(jiān)測(cè)與審計(jì)系統(tǒng),實(shí)時(shí)檢測(cè)針對(duì)S7協(xié)議的網(wǎng)絡(luò)攻擊、用戶(hù)誤操作、用戶(hù)違規(guī)操作、非法設(shè)備接入以及蠕蟲(chóng)、病毒等惡意軟件的傳播并實(shí)時(shí)報(bào)警,同時(shí)有效記錄一切網(wǎng)絡(luò)通信行為。4)統(tǒng)一安全管控構(gòu)建安全管理中心并部署統(tǒng)一安全管理平臺(tái),對(duì)生產(chǎn)網(wǎng)絡(luò)中部署的工業(yè)防火墻、工控安全防護(hù)軟件、工控安全監(jiān)測(cè)與審計(jì)系統(tǒng)等工控安全設(shè)備進(jìn)行集中管控;同時(shí)統(tǒng)一安全管理平臺(tái)兼?zhèn)浠谫Y產(chǎn)的集中管理功能,有效幫助運(yùn)維人員提升網(wǎng)絡(luò)安全運(yùn)維工作效率,降低安全運(yùn)維成本。3.4DNP3協(xié)議DNP(DistributedNetworkProtocol,分布式網(wǎng)絡(luò)協(xié)議)是一種應(yīng)用于自動(dòng)化組件之間的通訊協(xié)議,常見(jiàn)于電力、水處理等行業(yè)。DNP協(xié)議標(biāo)準(zhǔn)主要為了解決SCADA行業(yè)中協(xié)議混雜、沒(méi)有公認(rèn)標(biāo)準(zhǔn)的問(wèn)題。SCADA可以使用DNP協(xié)議與主站、RTU及IED進(jìn)行通訊。DNP協(xié)議有一定的可靠性,這種可靠性可以用來(lái)對(duì)抗惡劣環(huán)境中產(chǎn)生的電磁干擾、元件老化等信號(hào)失真現(xiàn)象,但不保證在黑客的攻擊下、或者惡意破壞控制系統(tǒng)的情況下的可靠性。DNP協(xié)議提供了對(duì)數(shù)據(jù)的分片、重組、數(shù)據(jù)校驗(yàn)、鏈路控制、優(yōu)先級(jí)等一系列的服務(wù),在協(xié)議中大量使用了CRC校驗(yàn)來(lái)保證數(shù)據(jù)的準(zhǔn)確性。3.4.1DNP3協(xié)議概述DNP3協(xié)議層是基于IEC60870-5標(biāo)準(zhǔn)的增強(qiáng)型性能架構(gòu)(EPA)。但是,DNP3協(xié)議引入了一個(gè)稱(chēng)為“偽傳輸層”的“透明”層,作為現(xiàn)有EPA結(jié)構(gòu)的附加層。因此,DNP3協(xié)議由應(yīng)用層、偽傳輸層、數(shù)據(jù)鏈路層和物理層組成。各層功能如下:(1)應(yīng)用層:該層主要負(fù)責(zé)為用戶(hù)提供訪問(wèn)應(yīng)用進(jìn)程的服務(wù),其報(bào)文形式參考IEC60870標(biāo)準(zhǔn)定義的數(shù)據(jù)報(bào)文格式。(2)偽傳輸層:該層的主要功能是對(duì)應(yīng)用層數(shù)據(jù)包進(jìn)行處理,將輸入的數(shù)據(jù)分解,以數(shù)據(jù)塊為單位傳送給鏈路層。(3)數(shù)據(jù)鏈路層:該層主要負(fù)責(zé)將應(yīng)用層數(shù)據(jù)分成多個(gè)有序的傳輸數(shù)據(jù)單元,并將每個(gè)數(shù)據(jù)單元傳送到鏈路充當(dāng)鏈路層數(shù)據(jù)。(4)物理層:為鏈路層提供基本服務(wù)以及相應(yīng)的接口。DNP3可以通過(guò)TCP/UDP進(jìn)行封裝,以便在以太網(wǎng)上運(yùn)行,支持DNP3協(xié)議的從設(shè)備會(huì)開(kāi)放TCP的20000端口用于通信。DNP3在主站會(huì)話上需要約定目的地址、源地址,而從設(shè)備收到后需要驗(yàn)證目的地址,再進(jìn)行處理,如果目的地址不相同則會(huì)根據(jù)在協(xié)議棧實(shí)現(xiàn)的處理來(lái)決定是否不響應(yīng)和關(guān)閉連接,或者返回異常功能報(bào)文等。1.應(yīng)用層結(jié)構(gòu)應(yīng)用層數(shù)據(jù)單元APDU包含了報(bào)文頭、對(duì)象標(biāo)題和數(shù)據(jù),其結(jié)構(gòu)如表3-16所示。報(bào)文頭:表示了報(bào)文的目的,其中包含了應(yīng)用協(xié)議控制信息(APCI),可分為請(qǐng)求報(bào)文頭和響應(yīng)報(bào)文頭;對(duì)象標(biāo)題:表示隨后的數(shù)據(jù)對(duì)象;數(shù)據(jù):表示對(duì)象標(biāo)題指定的數(shù)據(jù)對(duì)象類(lèi)型。1)應(yīng)用層報(bào)文頭在應(yīng)用層中,應(yīng)用層報(bào)頭APCI包含請(qǐng)求報(bào)文和響應(yīng)報(bào)文。APCI負(fù)責(zé)主從站之間傳輸報(bào)文的順序與流向,以及控制應(yīng)用服務(wù)數(shù)據(jù)單元(ASDU)。在APCI部分,從站響應(yīng)報(bào)文包含了2個(gè)字節(jié)的內(nèi)部信號(hào)標(biāo)志(InternalIndications,IIN),而主站請(qǐng)求報(bào)文沒(méi)有此標(biāo)志。
應(yīng)用控制字節(jié)(AC)包含1個(gè)字節(jié),它表示構(gòu)造分段報(bào)文的基本信息。FIN:尾包標(biāo)志,值為1時(shí),表示整個(gè)報(bào)文的最后一個(gè)分段;FIR:首包標(biāo)志,值為1時(shí),表示整個(gè)報(bào)文的第一個(gè)分段;CON:確認(rèn)標(biāo)志,值為1時(shí),需要接收方給予確認(rèn);序號(hào):表示分段序號(hào)。應(yīng)用層功能碼(FC)包含1個(gè)字節(jié),它表示請(qǐng)求/響應(yīng)報(bào)文的目的。2)應(yīng)用層對(duì)象標(biāo)題(ObjectHeader)DNP3應(yīng)用層對(duì)象標(biāo)題表示報(bào)文中的數(shù)據(jù),具體的含義要取決于報(bào)文中的功能碼字段。無(wú)論是請(qǐng)求報(bào)文還是響應(yīng)報(bào)文,對(duì)象標(biāo)題的格式?jīng)]有變化。對(duì)象:包含2個(gè)字節(jié),表示指定對(duì)象以及后面對(duì)象的變化。限定詞:包含1個(gè)字節(jié),規(guī)定后面變程的意義。變程:包含0-8個(gè)字節(jié),表示對(duì)象的數(shù)量。2.偽傳輸層結(jié)構(gòu)偽傳輸層的功能是將應(yīng)用層數(shù)據(jù)分成多個(gè)有序的傳輸數(shù)據(jù)單元(TPDU),并將每個(gè)TPDU送到鏈路層充當(dāng)鏈路層數(shù)據(jù)。偽傳輸層對(duì)于數(shù)據(jù)鏈路層來(lái)說(shuō)執(zhí)行了傳輸功能,如圖3-21所示。TH:包含1個(gè)字節(jié),傳輸控制字;UserData:包含1-249個(gè)字節(jié),用戶(hù)數(shù)據(jù)塊。應(yīng)用層數(shù)據(jù)的大小是可變的,當(dāng)應(yīng)用層發(fā)送的數(shù)據(jù)大于249字節(jié)時(shí),偽傳輸層的功能是將大于249字節(jié)的數(shù)據(jù)分成多個(gè)數(shù)據(jù)塊進(jìn)行傳送,并在每個(gè)數(shù)據(jù)塊前面加入1個(gè)字節(jié)的傳輸層報(bào)文頭(TH)。其中傳輸報(bào)文頭部分結(jié)構(gòu)包含1個(gè)字節(jié),結(jié)構(gòu)由以下三段組成:FIN:尾包標(biāo)志,值為1時(shí),表示數(shù)據(jù)塊為最后一幀;FIR:首包標(biāo)志,值為1時(shí),表示數(shù)據(jù)塊為第一幀;序號(hào):表示第幾幀數(shù)據(jù),范圍為0-63。3.數(shù)據(jù)鏈路層結(jié)構(gòu)DNP3協(xié)議數(shù)據(jù)鏈路層數(shù)據(jù)單元(LPDU)長(zhǎng)度不超過(guò)292字節(jié),采用一種可變幀長(zhǎng)格式FT3,如圖3-22所示。起始字:包含2字節(jié),0x0564;長(zhǎng)度:包含1字節(jié),表示用戶(hù)數(shù)據(jù)、源地址、目的地址和控制字本身之和,長(zhǎng)度在5-255字節(jié)之間;
控制字:包含1字節(jié),表示幀傳輸方向和類(lèi)型;目的地址:包含2字節(jié),表示到達(dá)地址;源地址:包含2字節(jié),表示發(fā)送地址;用戶(hù)數(shù)據(jù):包含1-16字節(jié),跟在鏈路層報(bào)文頭之后的用戶(hù)數(shù)據(jù)塊;CRC:包含2字節(jié),校驗(yàn)數(shù)據(jù),在每個(gè)數(shù)據(jù)塊之后。其中鏈路層控制字部分為1個(gè)字節(jié),結(jié)構(gòu)為:DIR:表示方位,1代表主站發(fā)出,0代表發(fā)向主站;PRM:表示原發(fā)標(biāo)志,1表示報(bào)文來(lái)自通信發(fā)起站,0表示報(bào)文來(lái)自通信應(yīng)答站;FCB:表示幀的計(jì)數(shù)位;FCV:表示幀計(jì)數(shù)有效位,它可使FCB位生效;RES:表示保留;DFC:表示數(shù)據(jù)流控制,用于防止從站緩存溢出,如果主站送入的數(shù)據(jù)導(dǎo)致從站數(shù)據(jù)溢出,則相應(yīng)消息中包含這個(gè)標(biāo)示位,需要主站通過(guò)查詢(xún)鏈路狀態(tài)進(jìn)行恢復(fù);FC:鏈路層功能碼,表示幀的類(lèi)型。3.4.2DNP3協(xié)議脆弱性分析DNP3協(xié)議雖然具有一定的可靠性,但由于其公有的協(xié)議規(guī)約進(jìn)而導(dǎo)致協(xié)議結(jié)構(gòu)和數(shù)據(jù)格式都是對(duì)外開(kāi)放的,在本質(zhì)上與ModbusTCP協(xié)議存在的脆弱性較為相似,都是具備固有的安全問(wèn)題。其主要面臨著如下幾方面的問(wèn)題:該協(xié)議由于對(duì)主和外站所采用的判別方法過(guò)于簡(jiǎn)單,根據(jù)DIR標(biāo)志位的0-1狀態(tài)很容易判斷當(dāng)前報(bào)文發(fā)送方向,這相比于其他協(xié)議更容易遭受中間人攻擊,從而導(dǎo)致SCADA系統(tǒng)發(fā)生異常。
從DNP3協(xié)議本身來(lái)看,存在如下問(wèn)題。(1)認(rèn)證機(jī)制缺失,導(dǎo)致入侵者能夠非法建立DNP3通信會(huì)話,擾亂控制系統(tǒng)正常運(yùn)轉(zhuǎn)。在標(biāo)準(zhǔn)DNP3協(xié)議中,通過(guò)觀察數(shù)據(jù)鏈路層的數(shù)據(jù)包格式可以發(fā)現(xiàn),通過(guò)鏈路層控制字部分中的DIR標(biāo)識(shí)來(lái)表示主從站,鏈路層傳輸單元中并不包含任何認(rèn)證信息,這樣就無(wú)法判斷信息發(fā)送者的身份是否合法。在這種情況下,攻擊者通過(guò)篡改傳輸數(shù)據(jù)和功能碼字段等方式來(lái)達(dá)到干擾通信和惡意指令傳達(dá)、設(shè)備控制等目的,從而威脅通信系統(tǒng)的安全。(2)加密機(jī)制缺失,在該協(xié)議中,用戶(hù)數(shù)據(jù)和控制指令都是以明文形式進(jìn)行傳輸,在這種情況下,攻擊者可以通過(guò)監(jiān)聽(tīng)、嗅探、假冒等手段達(dá)到竊取、修改用戶(hù)數(shù)據(jù)等目的。(3)完整性保護(hù)缺失,雖然在標(biāo)準(zhǔn)DNP3協(xié)議中,每個(gè)數(shù)據(jù)鏈路層報(bào)文中都包含一個(gè)CRC校驗(yàn)碼,它能夠校驗(yàn)傳輸數(shù)據(jù)的正確性和完整性,但是并不能達(dá)到保護(hù)數(shù)據(jù)不被篡改的目的。DNP3協(xié)議在通信過(guò)程中也存在一定問(wèn)題。在實(shí)時(shí)通信過(guò)程中的報(bào)文極易被截獲和惡意篡改,從而導(dǎo)致安全隱患的發(fā)生。其主要存在被攻擊的行為有竊聽(tīng)、中間人攻擊等。(1)無(wú)法抵抗竊聽(tīng)攻擊,當(dāng)所有的用戶(hù)數(shù)據(jù)和控制指令都是通過(guò)明文形式進(jìn)行傳輸?shù)臅r(shí)候,攻擊者很容易獲取有效的通信地址,并且對(duì)系統(tǒng)中傳輸?shù)男畔⑦M(jìn)行竊聽(tīng),從而獲取相應(yīng)的報(bào)文信息。(2)無(wú)法抵抗中間人攻擊,該協(xié)議由于對(duì)主和外站所采用的判別方法過(guò)于簡(jiǎn)單,根據(jù)DIR標(biāo)志位的0-1狀態(tài)很容易判斷當(dāng)前報(bào)文發(fā)送方向,這相比于其他協(xié)議更容易實(shí)施遭受中間人攻擊,從而引發(fā)導(dǎo)致SCADA系統(tǒng)發(fā)生異常。另外,當(dāng)入侵者模擬外站向主站發(fā)送非請(qǐng)求報(bào)文時(shí),不需要主站給予權(quán)限便能夠上傳數(shù)據(jù),因此攻擊者還可利用這一漏洞發(fā)動(dòng)拒絕服務(wù)攻擊等。3.4.3DNP3協(xié)議安全防護(hù)技術(shù)為了彌補(bǔ)DNP3協(xié)議中存在的不足,認(rèn)證和加密機(jī)制相繼被引入其中,SecureDNP3和DNPSec是具有代表性的解決方案。SecureDNP3是針對(duì)標(biāo)準(zhǔn)DNP3協(xié)議的改進(jìn),通過(guò)修改其應(yīng)用層報(bào)文結(jié)構(gòu),同時(shí)引入認(rèn)證技術(shù),保證數(shù)據(jù)的真實(shí)性和完整性,但是該方案缺乏加密機(jī)制,傳輸?shù)臄?shù)據(jù)仍舊是明文形式,所以攻擊者能夠通過(guò)監(jiān)聽(tīng)等收到收集系統(tǒng)數(shù)據(jù)。DNPSec安全機(jī)制修改的對(duì)象則是數(shù)據(jù)鏈路層,通過(guò)添加必要的字段實(shí)現(xiàn)認(rèn)證和加密功能,但是這種方案對(duì)設(shè)備的計(jì)算能力和存儲(chǔ)能力要求較高,在實(shí)際中使用并不廣泛。目前,一些SCADA系統(tǒng)中針對(duì)DNP3協(xié)議實(shí)現(xiàn)安全通信采用的手段仍然是通過(guò)防火墻結(jié)合SSL和入侵檢測(cè)實(shí)現(xiàn)的。通過(guò)釆取傳輸層協(xié)議安全措施,如使用傳輸層安全協(xié)議(TLS)等,即將DNP3數(shù)據(jù)流視為機(jī)密信息,盡量使用各種TCP/IP安全手段進(jìn)行保護(hù)。在實(shí)際工程部署中,DNP3主控站與子站往往被隔離到只包含授權(quán)設(shè)備的唯一分區(qū)中,因此可以通過(guò)防火墻、IDS等設(shè)備部署,對(duì)DNP3鏈路上的數(shù)據(jù)類(lèi)型、數(shù)據(jù)源及其目的地址進(jìn)行嚴(yán)格控制,實(shí)現(xiàn)分區(qū)全面的安全加固。3.5OPC協(xié)議1990年微軟提出了動(dòng)態(tài)數(shù)據(jù)互換技術(shù),到了1992年對(duì)象鏈接與嵌入技術(shù)2.0相對(duì)成熟,推出了面向?qū)ο蟮脑O(shè)計(jì)和編程,包括COM/DCOM技術(shù)用于不同對(duì)象間的數(shù)據(jù)交換,1996年OPC基金會(huì)正式成立并發(fā)布了OPCDA1.0,之后陸續(xù)發(fā)布了DA2.0、DA3.0,以及OPCUA即OPC統(tǒng)一架構(gòu)。OPC是OLEforProcessControl的縮寫(xiě),即用于過(guò)程控制的OLE。我們所熟知的OPC規(guī)范一般是指OPCClassic,被廣泛應(yīng)用于各個(gè)行業(yè),包括制造業(yè)、樓宇自動(dòng)化、石油和天然氣、可再生能源和公用事業(yè)等領(lǐng)域。3.5.1OPC協(xié)議概述OPC出現(xiàn)的目的是為不同的供應(yīng)商設(shè)備與應(yīng)用程序之間的接口標(biāo)準(zhǔn)化從而使之間的數(shù)據(jù)交換更加簡(jiǎn)單,這樣可以使開(kāi)發(fā)者不依靠于特定開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)環(huán)境的過(guò)程控制軟件。OPC標(biāo)準(zhǔn)是把PLC特定的協(xié)議(如Modbus、Profibus等)抽象成為標(biāo)準(zhǔn)化的接口,作為“中間人”的角色把通用的OPC“讀寫(xiě)”請(qǐng)求轉(zhuǎn)換成具體的設(shè)備協(xié)議來(lái)與HMI/SCADA系統(tǒng)直接對(duì)接,反之亦然。由此出現(xiàn)了一個(gè)完整的產(chǎn)品行業(yè),終端用戶(hù)可以借助其來(lái)最優(yōu)化產(chǎn)品,通過(guò)OPC協(xié)議來(lái)實(shí)現(xiàn)系統(tǒng)的無(wú)縫交互。OPC是一項(xiàng)應(yīng)用于自動(dòng)化行業(yè)及其他行業(yè)的數(shù)據(jù)安全交換可互操作性標(biāo)準(zhǔn)。它獨(dú)立于平臺(tái),并確保來(lái)自多個(gè)廠商的設(shè)備之間信息的無(wú)縫傳輸,OPC基金會(huì)負(fù)責(zé)該標(biāo)準(zhǔn)的開(kāi)發(fā)和維護(hù)。OPC標(biāo)準(zhǔn)是由行業(yè)供應(yīng)商、終端用戶(hù)和軟件開(kāi)發(fā)者共同制定的一系列規(guī)范。這些規(guī)范定義了客戶(hù)端與服務(wù)器之間以及服務(wù)器與服務(wù)器之間的接口,比如訪問(wèn)實(shí)早期的過(guò)程監(jiān)控中硬件和軟件的設(shè)置主要利用驅(qū)動(dòng)器進(jìn)行系統(tǒng)連接。各種應(yīng)用軟件都必須提供設(shè)備的驅(qū)動(dòng)程序,即需要若干個(gè)驅(qū)動(dòng)程序維持系統(tǒng)的正常運(yùn)行,而且各軟件間不能相互通信。因?yàn)楦鱾€(gè)軟件來(lái)自不同的開(kāi)發(fā)商,具有對(duì)同一設(shè)備不同的相互獨(dú)立的驅(qū)動(dòng)程序,所以多個(gè)軟件也不能同時(shí)對(duì)同一個(gè)設(shè)備存取數(shù)據(jù),否則可能造成系統(tǒng)的癱瘓。同時(shí),某一個(gè)設(shè)備的升級(jí)要求該設(shè)備的所有驅(qū)動(dòng)程序升級(jí),否則會(huì)具有嚴(yán)重的隱患。這樣的一個(gè)系統(tǒng)要想要長(zhǎng)期維護(hù),工作量是非常大的。為了避免驅(qū)動(dòng)器連接的不足,可以采用OPC控制進(jìn)行系統(tǒng)連接,這樣大大優(yōu)化了系統(tǒng)間的通信,變得更加簡(jiǎn)便快捷。OPC技術(shù)包含一系列的標(biāo)準(zhǔn)規(guī)范如DA、HDA、A&E等。這些訪問(wèn)規(guī)范都是由OPC基金會(huì)創(chuàng)建、發(fā)行并維護(hù),基金會(huì)創(chuàng)建的這些標(biāo)準(zhǔn)和維護(hù)從根本上保證了OPC技術(shù)的兼容性。隨著在制造系統(tǒng)以服務(wù)為導(dǎo)向架構(gòu)的引入,如何重新定義架構(gòu)來(lái)確保數(shù)據(jù)的安全性,這給OPC帶來(lái)了新的挑戰(zhàn),也促使OPC基金會(huì)創(chuàng)立了新的架構(gòu)——OPCUA,以滿(mǎn)足這些需求。與此同時(shí),OPCUA也為新的開(kāi)發(fā)和拓展提供了一個(gè)功能豐富的開(kāi)放式技術(shù)平臺(tái)。OPC協(xié)議采用客戶(hù)端/服務(wù)器模式,在客戶(hù)端和服務(wù)器端都各自定義了統(tǒng)一的符合OPC標(biāo)準(zhǔn)的接口,此接口具有不變特性。當(dāng)OPC客戶(hù)端與服務(wù)器在同一臺(tái)計(jì)算機(jī)上時(shí),客戶(hù)端通過(guò)COM進(jìn)行本地過(guò)程調(diào)用(LPC)服務(wù);當(dāng)客戶(hù)端與服務(wù)器不在同一臺(tái)計(jì)算機(jī)上時(shí),客戶(hù)端通過(guò)DCOM進(jìn)行遠(yuǎn)程過(guò)程調(diào)用(RPC)服務(wù)與服務(wù)器進(jìn)行通信。OPC服務(wù)器通常支持兩種類(lèi)型的訪問(wèn)接口,它們分別為不同的編程語(yǔ)言環(huán)境提供訪問(wèn)機(jī)制。OPC規(guī)范了接口函數(shù),不管現(xiàn)場(chǎng)設(shè)備以何種形式存在,客戶(hù)都以統(tǒng)一的方式去訪問(wèn),從而保證軟件對(duì)客戶(hù)的透明性,使得用戶(hù)完全從低層的開(kāi)發(fā)中脫離出來(lái)。對(duì)于軟件開(kāi)發(fā)商而言,不再專(zhuān)注于開(kāi)發(fā)各種硬件設(shè)備的驅(qū)動(dòng)程序,而是把焦點(diǎn)集中在增加和完善軟件的功能上,使自己的軟件更易被用戶(hù)接受和使用。對(duì)于硬件設(shè)備制造商,再也不必?fù)?dān)心自己的產(chǎn)品因?yàn)闆](méi)有為某些軟件提供驅(qū)動(dòng)程序而被用戶(hù)所忽視或放棄。一次編寫(xiě)的驅(qū)動(dòng)程序(OPC服務(wù)器)可以被所有的應(yīng)用軟件所用。不僅節(jié)省了各種I/O驅(qū)動(dòng)程序的開(kāi)發(fā)費(fèi)用,而且可以讓制造商集中精力生產(chǎn)更易于用戶(hù)使用的、功能完善的硬件。1.OPC邏輯對(duì)象模型OPC服務(wù)中有三類(lèi)對(duì)象:OPCServer對(duì)象、OPCGroup對(duì)象、OPCItem對(duì)象,每一類(lèi)對(duì)象都包含一系列的接口。OPCServer對(duì)象主要是功能創(chuàng)建和管理OPCGroup對(duì)象、管理服務(wù)器內(nèi)部的狀態(tài)信息。OPCGroup對(duì)象主要管理該對(duì)象的內(nèi)容狀態(tài)信息、創(chuàng)建和管理Item對(duì)象以及服務(wù)器內(nèi)部的實(shí)時(shí)數(shù)據(jù)的存取服務(wù)(同步與異步),通常分為私有組和公有組。公有組有多個(gè)客戶(hù)共享、私有組只屬于某個(gè)客戶(hù),大多數(shù)的服務(wù)器均未實(shí)現(xiàn)公有組。OPCItem對(duì)象主要用來(lái)描述實(shí)時(shí)數(shù)據(jù),一個(gè)Item對(duì)象不能單獨(dú)被OPC客戶(hù)端訪問(wèn),所有的對(duì)象的訪問(wèn)必須通過(guò)OPCGroup訪問(wèn)。2.OPC通信方式(1)同步通信:OPC客戶(hù)端對(duì)OPC服務(wù)端進(jìn)行讀取操作時(shí),OPC客戶(hù)端必須等到OPC服務(wù)器端完成對(duì)應(yīng)操作后才能返回,在此期間OPC客戶(hù)端處于一直等待的狀態(tài)。(2)異步通信:OPC客戶(hù)端對(duì)OPC服務(wù)器端進(jìn)行讀取操作時(shí),OPC客戶(hù)端發(fā)送請(qǐng)求后立即返回,不用等待服務(wù)器端,當(dāng)OPC服務(wù)器端完成操作后再通知客戶(hù)端程序。(3)訂閱:需要服務(wù)器端支持OPCAE規(guī)范,由客戶(hù)端設(shè)定數(shù)據(jù)的變化限度,如果數(shù)據(jù)源的實(shí)時(shí)數(shù)據(jù)變化超過(guò)了該限度,服務(wù)器則通過(guò)回調(diào)返回?cái)?shù)據(jù)給客戶(hù)端。3.OPC系列規(guī)范OPC
Classic規(guī)范基于MicrosoftWindows技術(shù),使用COM/DCOM(分布式組件對(duì)象模型)在軟件組件之間交換數(shù)據(jù)。規(guī)范為訪問(wèn)過(guò)程數(shù)據(jù)、報(bào)警和歷史數(shù)據(jù)提供了單獨(dú)的定義。(1)OPCDataAccess(OPCDA)OPC數(shù)據(jù)訪問(wèn)規(guī)范:定義了數(shù)據(jù)交換,包括值、時(shí)間和質(zhì)量信息。(2)OPCAlarms&Events(OPCA&E)OPC報(bào)警和事件規(guī)范:定義了報(bào)警和事件類(lèi)型信息的交換,以及變量狀態(tài)和狀態(tài)管理。(3)OPCHistoricalDataAccess(OPCHDA)OPCHDA規(guī)范定義了可應(yīng)用于歷史數(shù)據(jù)、時(shí)間數(shù)據(jù)的查詢(xún)和分析的方法。OPC經(jīng)典規(guī)范已經(jīng)很好地服務(wù)于工業(yè)企業(yè)。然而隨著技術(shù)的發(fā)展,企業(yè)對(duì)OPC規(guī)范的需求也在增長(zhǎng)。OPC基金會(huì)發(fā)布的OPC統(tǒng)一架構(gòu)(OPCUA)是一個(gè)獨(dú)立于平臺(tái)的面向服務(wù)的架構(gòu),集成了OPCClassic規(guī)范的所有功能,并且兼容OPCClassic。1.OPCUA規(guī)范OPCUA規(guī)范包含核心規(guī)范部分與存取類(lèi)型規(guī)范部分,其中核心規(guī)范部分包括OPCUADataAccess、OPCUAAlarmsandConditions、OPCUAPrograms以及OPCUAHistoricalAccess規(guī)范;存取規(guī)范部分包括OPCUASecurityModel、OPCUAAddressSpaceModel、OPCUAServices、OPCUAInformationModel、OPCUAServiceMappings和OPCUAProfiles等。在生產(chǎn)管理軟件的不斷發(fā)展過(guò)程中,標(biāo)準(zhǔn)的采用也在不斷更新,為適應(yīng)應(yīng)用需求的發(fā)展,
OPCUA規(guī)范為企業(yè)軟件架構(gòu)的建立指明了新的方向。
OPCUA具備以下特點(diǎn):
1)
功能方面
OPCUA不僅支持傳統(tǒng)OPC的所有功能,更支持更多新的功能:網(wǎng)絡(luò)發(fā)現(xiàn):自動(dòng)查詢(xún)本PC機(jī)中與當(dāng)前網(wǎng)絡(luò)中可用的OPCServer。地址空間優(yōu)化:所有的數(shù)據(jù)都可以分級(jí)結(jié)構(gòu)定義,使得OPCClient不僅能夠讀取并利用簡(jiǎn)單數(shù)據(jù),也能訪問(wèn)復(fù)雜的結(jié)構(gòu)體?;ピL認(rèn)證:所有的讀寫(xiě)數(shù)據(jù)/消息行為,都必須有訪問(wèn)許可。數(shù)據(jù)訂閱:針對(duì)OPCClient不同的配置與標(biāo)準(zhǔn),提供數(shù)據(jù)/消息的監(jiān)控,以及數(shù)值變化時(shí)的變化報(bào)告。方案功能:OPCUA中定義了通過(guò)在OPCServer中定義方案,以便讓OPCClient執(zhí)行特定的程序。復(fù)雜數(shù)據(jù)內(nèi)置:在數(shù)據(jù)獲取標(biāo)準(zhǔn)OPCDA中增加了復(fù)雜數(shù)據(jù)規(guī)范。增強(qiáng)的命名空間:在目前的
OPC規(guī)范中支持將數(shù)據(jù)組織成層次結(jié)構(gòu),OPCUA更支持無(wú)限的節(jié)點(diǎn)命名和無(wú)限的關(guān)系設(shè)定,同時(shí)每個(gè)節(jié)點(diǎn)均可以對(duì)其他節(jié)點(diǎn)有無(wú)限的關(guān)系設(shè)定。大量的服務(wù)功能:OPCUA規(guī)范定義了大量的通用服務(wù)。采用UA二進(jìn)制編碼,使數(shù)據(jù)快速編碼和解碼,提高了數(shù)據(jù)的傳輸速度。它還能集成現(xiàn)有的基于COM/DCOM技術(shù)開(kāi)發(fā)的OPC服務(wù)器(DA、HDA、A&E),使它們很容易通過(guò)OPCUA映射和使用。2)平臺(tái)支持方面OPCUA標(biāo)準(zhǔn)解決了跨越微軟系統(tǒng)平臺(tái),實(shí)現(xiàn)了多平臺(tái)的互操作性,提供了更多的可支持的硬件或軟件平臺(tái)。硬件平臺(tái):傳統(tǒng)PC硬件、云服務(wù)器、PLC、微控制器(ARM等)操作系統(tǒng):MicrosoftWindows、AppleOSX、Android或任何Linux發(fā)行版本等OPCUA為企業(yè)之間的互操作性提供必要的M2M、M2E及兩者之間的基礎(chǔ)架構(gòu)。3)安全性方面集成的OPCUA數(shù)據(jù)加密功能符合國(guó)際安全標(biāo)準(zhǔn),為Internet及各企業(yè)網(wǎng)絡(luò)內(nèi)的遠(yuǎn)程訪問(wèn)和數(shù)據(jù)共享、客戶(hù)端和服務(wù)器之間的安全通訊提供了保障。最大的變化是OPCUA可以通過(guò)任何單一端口(經(jīng)管理員開(kāi)放后)進(jìn)行通信,這使得OPC通信不再會(huì)由于防火墻受到大量的限制。和現(xiàn)行OPC一樣,OPCUA系統(tǒng)結(jié)構(gòu)包括OPCUA服務(wù)器和客戶(hù)端兩個(gè)部分,每個(gè)系統(tǒng)允許多個(gè)服務(wù)器和客戶(hù)端相互作用。以下從OPCUA系統(tǒng)的客戶(hù)端、服務(wù)器和信息模型三方面進(jìn)行介紹。1)OPCUA客戶(hù)端
OPCUA客戶(hù)端的體系結(jié)構(gòu)包括客戶(hù)終端的客戶(hù)端/服務(wù)器交互。它包括OPCUA客戶(hù)端應(yīng)用程序、OPCUA通信棧、OPCUA客戶(hù)端API。使用OPCUA客戶(hù)端API與OPCUA服務(wù)器端發(fā)送和接收OPCUA服務(wù)請(qǐng)求和響應(yīng)。2)OPCUA服務(wù)器OPCUA服務(wù)器代表客戶(hù)端/服務(wù)器相互作用的服務(wù)器端點(diǎn)。它主要包括OPCUA服務(wù)器應(yīng)用程序、真實(shí)對(duì)象、OPCUA地址空間、發(fā)布/訂閱實(shí)體、OPCUA服務(wù)器接口API、OPCUA通信棧。使用OPCUA服務(wù)器API從OPCUA客戶(hù)端來(lái)傳送和接收消息。OPCUA服務(wù)器架構(gòu)為客戶(hù)端/服務(wù)器交互的服務(wù)器節(jié)點(diǎn)建模。圖3-26說(shuō)明了OPCUA服務(wù)器的主要元素以及它們之間的相互關(guān)系。3)OPCUA信息模型OPCUA使用了對(duì)象(objects)作為過(guò)程系統(tǒng)表示數(shù)據(jù)和活動(dòng)的基礎(chǔ)。對(duì)象包含了變量,事件和方法,它們通過(guò)引用(reference)來(lái)互相連接。OPCUA信息模型是節(jié)點(diǎn)的網(wǎng)絡(luò)(NetworkofNode),或者稱(chēng)為結(jié)構(gòu)化圖(graph),由節(jié)點(diǎn)(node)和引用(References)組成,這種結(jié)構(gòu)圖稱(chēng)之為OPCUA的地址空間。這種圖形結(jié)構(gòu)可以描述各種各樣的結(jié)構(gòu)化信息(對(duì)象)。OPCUA中的節(jié)點(diǎn)是在一個(gè)OPCUA服務(wù)器中,而不是一個(gè)服務(wù)器對(duì)應(yīng)一個(gè)節(jié)點(diǎn)。地址空間要點(diǎn)如下:(1)地址空間是用來(lái)給服務(wù)器提供標(biāo)準(zhǔn)方式,以向客戶(hù)端表示對(duì)象。(2)地址空間的實(shí)現(xiàn)途徑是使用對(duì)象模型,通過(guò)變量和方法的對(duì)象,以及表達(dá)關(guān)系的對(duì)象。(3)地址空間中模型的元素被稱(chēng)為節(jié)點(diǎn),為節(jié)點(diǎn)分配節(jié)點(diǎn)類(lèi)來(lái)代表對(duì)象模型的元素。(4)對(duì)象及其組件在地址空間中表示為節(jié)點(diǎn)的集合,節(jié)點(diǎn)由屬性描述并由引用相連。(5)OPCUA建模的基礎(chǔ)在于節(jié)點(diǎn)和節(jié)點(diǎn)間的引用。(6)OPCUA地址空間包括地址空間節(jié)點(diǎn)、地址空間視圖、地址空間組織。地址空間節(jié)點(diǎn)可被理解為客戶(hù)端使用OPCUA服務(wù)(接口和方法)可訪問(wèn)的一組節(jié)點(diǎn)。地址空間中的節(jié)點(diǎn)用于表示真實(shí)對(duì)象(實(shí)際對(duì)象可以是OPCUA服務(wù)器應(yīng)用程序可訪問(wèn)或在內(nèi)部維護(hù)的物理對(duì)象或軟件對(duì)象)及其定義、它們相互之間的引用。3.5.2OPC協(xié)議存在的安全問(wèn)題隨著OPC技術(shù)的廣泛使用,OPC所面臨的安全問(wèn)題也日益嚴(yán)峻,例如控制系統(tǒng)和外部網(wǎng)絡(luò)暴露較多的接口、接入?yún)f(xié)議的多樣性、不同操作人員的控制權(quán)限限制、連接認(rèn)證的加密性和時(shí)效性、對(duì)OPC服務(wù)器的DoS等等,都需要去加以解決。OPC協(xié)議的安全性問(wèn)題主要體現(xiàn)在以下幾個(gè)方面:1)已知操作系統(tǒng)的漏洞問(wèn)題由于OPC協(xié)議基于Windows操作系統(tǒng),通常的主機(jī)安全問(wèn)題也會(huì)影響OPC。微軟的DCOM技術(shù)一方面具有高度復(fù)雜性,另外一方面也存在著大量漏洞,這些操作系統(tǒng)層面的漏洞成為經(jīng)典OPC協(xié)議漏洞的來(lái)源和攻擊入口。雖然OPC及相關(guān)控制系統(tǒng)漏洞只有基金會(huì)的授權(quán)才能獲得,但大量現(xiàn)存OLE與RPC漏洞早已被發(fā)現(xiàn)。2)Windows操作系統(tǒng)的弱口令OPC協(xié)議使用的最基本的通信握手過(guò)程需要建立在DCOM技術(shù)上,通過(guò)Windows內(nèi)置賬號(hào)的方式進(jìn)行認(rèn)證。但大量的OPC服務(wù)器使用弱安全認(rèn)證機(jī)制,即使啟用了認(rèn)證技術(shù)也常常使用弱口令。3)動(dòng)態(tài)端口無(wú)法進(jìn)行安全防護(hù)OPC協(xié)議通過(guò)135端口建立通信鏈路后,采用了隨機(jī)端口(1024~65535)傳輸數(shù)據(jù),廣泛的數(shù)據(jù)傳輸端口給安全防護(hù)帶來(lái)了問(wèn)題,無(wú)法使用傳統(tǒng)的五元組方式來(lái)進(jìn)行防護(hù)。4)過(guò)時(shí)的授權(quán)機(jī)制受限于維護(hù)窗口、解釋性問(wèn)題等諸多因素,工業(yè)網(wǎng)絡(luò)系統(tǒng)升級(jí)困難,導(dǎo)致不安全的授權(quán)機(jī)制仍在使用。5)部署的操作系統(tǒng)承載了多余的、不必要的服務(wù)許多操作系統(tǒng)應(yīng)用中大量部署與ICS無(wú)關(guān)的額外服務(wù),導(dǎo)致非必需的運(yùn)行進(jìn)程和來(lái)訪端口,如HTTP、NetBIOS等,這些問(wèn)題都使OPC服務(wù)器暴露在攻擊之下。6)審計(jì)記錄不完善由于老舊系統(tǒng)的審計(jì)設(shè)置默認(rèn)不記錄DCOM連接請(qǐng)求,所以攻擊發(fā)生時(shí)日志記錄往往過(guò)于簡(jiǎn)單甚至沒(méi)有保存,以致無(wú)法提供足夠的詳細(xì)證據(jù)。3.5.3OPC協(xié)議安全防護(hù)技術(shù)OPCUA在通過(guò)防火墻時(shí)通過(guò)提供一套控制方案來(lái)提高系統(tǒng)通信時(shí)的安全性:(1)傳輸:定義了許多協(xié)議,提供了諸如超快OPC二進(jìn)制傳輸或更通用的SOAP-HTTPS等選項(xiàng)。(2)會(huì)話加密:信息以128位或256位加密級(jí)別安全地傳輸。(3)信息簽名:信息接收時(shí)的簽名與發(fā)送時(shí)必須完全相同。(4)測(cè)序數(shù)據(jù)包:通過(guò)排序消除已發(fā)現(xiàn)的信息重放攻擊。(5)認(rèn)證:每個(gè)UA的客戶(hù)端和服務(wù)器都要通過(guò)OpenSSL證書(shū)標(biāo)識(shí),提供控制應(yīng)用程序和系統(tǒng)彼此連接的功能。(6)用戶(hù)控制:應(yīng)用程序可以要求用戶(hù)進(jìn)行身份驗(yàn)證(登錄憑據(jù)、證書(shū)等),并且可以進(jìn)一步限制或增強(qiáng)用戶(hù)訪問(wèn)權(quán)限和地址空間“視圖”的能力。(7)審計(jì):記錄用戶(hù)和/或系統(tǒng)的活動(dòng),提供訪問(wèn)審計(jì)跟蹤。工業(yè)控制系統(tǒng)應(yīng)用與安全防護(hù)技術(shù)第4章
工業(yè)控制系統(tǒng)漏洞分析4.1工業(yè)控制系統(tǒng)安全威脅與攻擊技術(shù)工控安全威脅的表現(xiàn)形式可分為人為失誤(設(shè)置錯(cuò)誤、配置錯(cuò)誤、操作失誤等),管理缺失(策略和制度不完善、操作規(guī)程不明晰、職責(zé)不明確等),越權(quán)或?yàn)E用(未授權(quán)連接訪問(wèn)、濫用權(quán)限非正常修改或破壞重要信息等),信息泄密(內(nèi)部或外部的信息泄露等),安全漏洞(軟硬件漏洞、通信協(xié)議漏洞、網(wǎng)絡(luò)漏洞等),軟硬件故障(工業(yè)控制系統(tǒng)自身缺陷、應(yīng)用軟件故障、設(shè)備故障等),惡意代碼(病毒、蠕蟲(chóng)、木馬、后門(mén)、邏輯炸彈等),入侵攻擊(數(shù)據(jù)和應(yīng)用的竊取和破壞、拒絕服務(wù)攻擊、敵對(duì)勢(shì)力或工業(yè)間諜的攻擊摧毀等),自然災(zāi)害(地震、洪災(zāi)、其他不可預(yù)知事件等),物理影響(停電、靜電、電磁干擾、斷網(wǎng)等)。4.1.1工業(yè)控制系統(tǒng)的威脅源控制系統(tǒng)面臨的威脅具有多種來(lái)源,包括對(duì)抗性來(lái)源如敵對(duì)政府、恐怖組織、工業(yè)間諜、惡意入侵者、心懷不滿(mǎn)的員工,自然來(lái)源如從系統(tǒng)的復(fù)雜性、人為錯(cuò)誤和意外事故、設(shè)備故障和自然災(zāi)害。為了防止對(duì)抗性的威脅以及已知的自然威脅,需要為ICS創(chuàng)建一個(gè)縱深的防御策略。4.1.2工業(yè)控制系統(tǒng)攻擊技術(shù)系統(tǒng)攻擊是指某人非法使用或破壞某一信息系統(tǒng)中的資源,以及非授權(quán)使系統(tǒng)喪失部分或全部服務(wù)功能的行為。通??梢园压艋顒?dòng)大致分為內(nèi)部攻擊和遠(yuǎn)程攻擊兩種?,F(xiàn)在隨著互聯(lián)網(wǎng)絡(luò)的進(jìn)步,其中的遠(yuǎn)程攻擊技術(shù)得到很大發(fā)展,威脅也越來(lái)越大。常見(jiàn)攻擊手手段包括口令攻擊、拒絕服務(wù)攻擊、數(shù)據(jù)驅(qū)動(dòng)攻擊等。4.1.3 APT攻擊技術(shù)1.APT攻擊基本概念A(yù)PT(AdvancedPersistentThreat)攻擊是以先進(jìn)的攻擊方式、高水平的手段,以竊取特定目標(biāo)的核心數(shù)據(jù)為目的,具有持續(xù)性、高隱蔽性的網(wǎng)絡(luò)攻擊行為。相對(duì)于普通網(wǎng)絡(luò)攻擊行為,APT攻擊有以下典型特點(diǎn)。1)目標(biāo)針對(duì)性強(qiáng)APT攻擊主要目的是竊取指定目標(biāo)的核心信息。2)攻擊偽裝性強(qiáng)APT攻擊者為了這到對(duì)指定目標(biāo)的長(zhǎng)期攻擊,必須要在滲透成功后較好的偽裝自己。在不同的攻擊階段采用不同的偽裝方式。3)時(shí)間持續(xù)久APT攻擊是針對(duì)某個(gè)目標(biāo)的長(zhǎng)時(shí)間滲透,因此APT攻擊展開(kāi)實(shí)施也會(huì)有多個(gè)階段,一般會(huì)優(yōu)先攻擊安全性較低的網(wǎng)絡(luò)系統(tǒng)。4)間接訪問(wèn)為主APT攻擊者為了能達(dá)到隱藏自己、長(zhǎng)時(shí)間控制的目的,會(huì)對(duì)入侵目標(biāo)以間接的方式進(jìn)行訪問(wèn)。4.2工業(yè)控制系統(tǒng)漏洞概述系統(tǒng)安全漏洞是在系統(tǒng)具體實(shí)現(xiàn)和使用中產(chǎn)生的錯(cuò)誤,但并不是系統(tǒng)中存在的錯(cuò)誤都是安全漏洞,只有能威脅到系統(tǒng)安全的錯(cuò)誤才是漏洞。在通常情況下許多錯(cuò)誤并不會(huì)對(duì)系統(tǒng)安全造成危害,只有在某些條件下被人故意使用時(shí)才會(huì)影響系統(tǒng)安全。漏洞雖然可能最初就存在于系統(tǒng)當(dāng)中,但這個(gè)漏洞必須要有人發(fā)現(xiàn)。系統(tǒng)攻擊者往往是安全漏洞的發(fā)現(xiàn)者和使用者,要對(duì)一個(gè)系統(tǒng)進(jìn)行攻擊,假如不能發(fā)現(xiàn)和使用系統(tǒng)中存在的安全漏洞是絕對(duì)不可能成功的,對(duì)于安全級(jí)別較高的系統(tǒng)尤其如此。系統(tǒng)安全漏洞與系統(tǒng)攻擊活動(dòng)之間密切相關(guān),不能脫離系統(tǒng)攻擊活動(dòng)來(lái)談?wù)摪踩┒磫?wèn)題。因此,了解常見(jiàn)的系統(tǒng)攻擊方法對(duì)正確理解系統(tǒng)漏洞問(wèn)題和找到相應(yīng)的補(bǔ)救手段是十分必要的。4.2.1系統(tǒng)漏洞問(wèn)題漏洞的產(chǎn)生大致有三個(gè)原因,具體如下所述:(1)編程人員的人為因素,在程序編寫(xiě)過(guò)程,為實(shí)現(xiàn)非法的目的,在程序代碼的隱蔽處保留后門(mén)。(2)受編程人員的能力、經(jīng)驗(yàn)和當(dāng)時(shí)安全技術(shù)所限,在程序設(shè)計(jì)中并不完善,輕則影響程序效率,重則導(dǎo)致非授權(quán)用戶(hù)的權(quán)限提升。(3)由于硬件原因,使編程人員無(wú)法彌補(bǔ)硬件的漏洞,從而經(jīng)由軟件表現(xiàn)出硬件的問(wèn)題。由于漏洞與具體系統(tǒng)環(huán)境之間的關(guān)系及其時(shí)間相關(guān)特性,漏洞會(huì)影響到很大范圍的軟硬件設(shè)備,包括系統(tǒng)本身及其支撐軟件,網(wǎng)絡(luò)客戶(hù)和服務(wù)器軟件,網(wǎng)絡(luò)路由器和安全防火墻等。4.2.2工業(yè)控制系統(tǒng)漏洞現(xiàn)狀分析1.工業(yè)控制系統(tǒng)漏洞分類(lèi)與傳統(tǒng)信息系統(tǒng)相比,工業(yè)控制系統(tǒng)采用了很多專(zhuān)用的工控設(shè)備、工控網(wǎng)絡(luò)協(xié)議、操作系統(tǒng)和應(yīng)用軟件,工業(yè)控制系統(tǒng)的安全漏洞也具有工控系統(tǒng)獨(dú)有的特性。1)通信協(xié)議漏洞2)操作系統(tǒng)漏洞3)安全策略和管理流程漏洞4)殺毒軟件漏洞5)應(yīng)用軟件漏洞2.當(dāng)前工控漏洞統(tǒng)計(jì)分析工控漏洞數(shù)量呈現(xiàn)逐年增長(zhǎng)的明顯趨勢(shì),在產(chǎn)業(yè)標(biāo)準(zhǔn)、政策尚不成熟的情況下,技術(shù)融合加速工控產(chǎn)業(yè)發(fā)展的同時(shí)破壞了傳統(tǒng)工控系統(tǒng)的體系結(jié)構(gòu),攻擊者可能會(huì)采取更加豐富的攻擊手段攻擊工控系統(tǒng),導(dǎo)致工控漏洞危害發(fā)生的數(shù)量逐年上升。根據(jù)中國(guó)國(guó)家信息安全漏洞共享平臺(tái)(CNVD)統(tǒng)計(jì),近年工控新增漏洞年度分布下圖所示。3.工業(yè)控制網(wǎng)絡(luò)安全漏洞發(fā)展態(tài)勢(shì)工業(yè)控制網(wǎng)絡(luò)安全漏洞發(fā)展態(tài)勢(shì)包括以下幾點(diǎn):
1)工控漏洞的價(jià)值被高度重視工控網(wǎng)絡(luò)已經(jīng)成為信息安全人員關(guān)注的新焦點(diǎn),一些惡意的攻擊者不斷掃描工控系統(tǒng)的漏洞,并使用針對(duì)工控系統(tǒng)的專(zhuān)用黑客工具發(fā)動(dòng)網(wǎng)絡(luò)攻擊。2)中高危漏洞比例居高不下在工控系統(tǒng)當(dāng)中,跟工控相關(guān)的應(yīng)用系統(tǒng)和應(yīng)用軟件的安全健壯性不足。無(wú)論是應(yīng)用軟件漏洞還是設(shè)備固件漏洞,均來(lái)自于目標(biāo)系統(tǒng)在開(kāi)發(fā)過(guò)程中遺留的安全設(shè)計(jì)和實(shí)現(xiàn)缺陷,1個(gè)高危漏洞就意味著目標(biāo)系統(tǒng)中存在1個(gè)甚至多個(gè)致命的安全性缺陷。3)漏洞類(lèi)型復(fù)雜,危害嚴(yán)重信息泄露相關(guān)的漏洞居高不下,對(duì)工控系統(tǒng)的影響主要體現(xiàn)在兩個(gè)方面:一方面,企業(yè)內(nèi)部的工藝流程、圖紙、排產(chǎn)計(jì)劃等關(guān)鍵數(shù)據(jù)容易成為攻擊者竊取的對(duì)象;另一方面,攻擊者利用間諜工具收集的各種涉密信息,為后續(xù)具有破壞性的網(wǎng)絡(luò)攻擊提供安全情報(bào)。4.2.3PLC設(shè)備漏洞分析工控PLC設(shè)備主要的漏洞類(lèi)型為:任意代碼執(zhí)行(CodeExecution)、拒絕服務(wù)(Denial-of-Service)、關(guān)鍵信息獲?。℅ainInformation)、緩沖區(qū)溢出(BufferOverflow)。以下對(duì)4種類(lèi)型進(jìn)行說(shuō)明:(1)任意代碼執(zhí)行。(2)拒絕服務(wù)漏洞。(3)關(guān)鍵信息獲取漏洞。(4)緩沖區(qū)溢出漏洞。
通過(guò)分析現(xiàn)有PLC設(shè)備存在的漏洞,可以發(fā)現(xiàn)工控設(shè)備功能越來(lái)越復(fù)雜,網(wǎng)絡(luò)環(huán)境逐漸開(kāi)放,攻擊者可以借此直接對(duì)工業(yè)控制環(huán)境進(jìn)行入侵破壞。針對(duì)工控設(shè)備PLC漏洞頻發(fā)的問(wèn)題,使用漏洞挖掘的方法提前發(fā)現(xiàn)PLC設(shè)備缺陷并加以解決,能夠有效降低攻擊造成的損失。4.2.4DCS系統(tǒng)漏洞分析DCS系統(tǒng)的漏洞設(shè)計(jì)之初即存在,其中的系統(tǒng)漏洞數(shù)量幾乎每年都在大幅增長(zhǎng),下面從現(xiàn)場(chǎng)總線控制網(wǎng)絡(luò)、過(guò)程控制與監(jiān)控網(wǎng)絡(luò)和企業(yè)辦公網(wǎng)絡(luò)三個(gè)方面進(jìn)行分析。1.現(xiàn)場(chǎng)總線控制網(wǎng)絡(luò)漏洞分析
現(xiàn)場(chǎng)總線控制網(wǎng)絡(luò)所處的現(xiàn)場(chǎng)環(huán)境通常惡劣復(fù)雜,因此很難進(jìn)行布線,一些控制系統(tǒng)網(wǎng)絡(luò)采用無(wú)線、微波等接入技術(shù)將現(xiàn)有網(wǎng)絡(luò)進(jìn)行延伸,這無(wú)疑增加了控制系統(tǒng)被攻擊的風(fēng)險(xiǎn)。2.過(guò)程控制與監(jiān)控網(wǎng)絡(luò)漏洞分析
過(guò)程控制與監(jiān)控網(wǎng)絡(luò)在設(shè)計(jì)時(shí)主要部署服務(wù)器、數(shù)據(jù)庫(kù)和人機(jī)界面HMI等關(guān)鍵控制系統(tǒng)組件,操作人員通過(guò)HMI等遠(yuǎn)程控制設(shè)備監(jiān)控、評(píng)估、分析現(xiàn)場(chǎng)控制和采集設(shè)備的運(yùn)行狀態(tài),并據(jù)此進(jìn)行調(diào)整及控制。3.企業(yè)辦公網(wǎng)絡(luò)漏洞分析
隨著國(guó)家兩化融合的不斷推進(jìn),工業(yè)生產(chǎn)過(guò)程的各個(gè)環(huán)節(jié)都有傳統(tǒng)信息技術(shù)的應(yīng)用,信息化已經(jīng)成為工業(yè)企業(yè)經(jīng)營(yíng)管理必不可少的技術(shù)手段。在石油、化工等工業(yè)企業(yè)中,隨著企業(yè)資源計(jì)劃(ERP)、客戶(hù)關(guān)系管理(CRM)、辦公自動(dòng)化(OA)等信息系統(tǒng)的使用,控制網(wǎng)絡(luò)和企業(yè)辦公網(wǎng)絡(luò)之間的聯(lián)系日益密切。信息化進(jìn)程和工業(yè)化進(jìn)程越來(lái)越不獨(dú)立,各個(gè)層面相互滲透,傳統(tǒng)信息技術(shù)在DCS中的廣泛應(yīng)用導(dǎo)致控制系統(tǒng)被攻擊的風(fēng)險(xiǎn)大大增加,工業(yè)用戶(hù)傳統(tǒng)的“物理隔離即絕對(duì)安全”的理念逐漸被顛覆。4.2.5SCADA系統(tǒng)漏洞分析SCADA系統(tǒng)存在的漏洞多種多樣,以下列舉幾種常見(jiàn)的SCADA系統(tǒng)漏洞形式。1)通信協(xié)議的漏洞大多數(shù)SCADA通信協(xié)議都是不同企業(yè)開(kāi)發(fā)的專(zhuān)有標(biāo)準(zhǔn)。近年來(lái),業(yè)界已普遍接受通用的開(kāi)放標(biāo)準(zhǔn)協(xié)議。2)SCADA硬件的漏洞SCADA硬件設(shè)備包括RTUs、IEDs、SCADA服務(wù)器等,它們與常規(guī)的計(jì)算機(jī)系統(tǒng)的脆弱性相同,如中斷、竊聽(tīng)和攔截等。硬件設(shè)備間的通信鏈路的脆弱性也與常規(guī)的計(jì)算化網(wǎng)絡(luò)相似,極易受到攻擊。SCADA信息通常無(wú)加密傳輸,無(wú)論使用什么樣的通信協(xié)議,數(shù)據(jù)和密碼都容易被攔截。3)SCADA軟件的漏洞SCADA軟件包括系統(tǒng)軟件和應(yīng)用軟件,如操作系統(tǒng)、應(yīng)用軟件等。SCADA軟件常見(jiàn)的脆弱性有中斷、竊聽(tīng)和修改。軟件可能被攻擊者故意刪除導(dǎo)致潛在的嚴(yán)重故障。軟件最致命的攻擊往往是由于軟件被修改引起的。4)數(shù)據(jù)完整性的漏洞對(duì)于攻擊者來(lái)說(shuō),SCADA數(shù)據(jù)具有更高的價(jià)值。4.2.6工業(yè)控制網(wǎng)絡(luò)安全漏洞標(biāo)準(zhǔn)化工作漏洞標(biāo)準(zhǔn)化工作在傳統(tǒng)信息系統(tǒng)中已經(jīng)比較完善,需要對(duì)發(fā)現(xiàn)的漏洞進(jìn)行標(biāo)準(zhǔn)化管理的主要原因如下:(1)規(guī)范漏洞的描述體系,為漏洞的多種屬性提供規(guī)則。(2)有利于信息安全產(chǎn)品的研發(fā)和自動(dòng)化。(3)為信息安全測(cè)評(píng)和風(fēng)險(xiǎn)評(píng)估創(chuàng)造條件。(4)標(biāo)準(zhǔn)化工作是對(duì)漏洞進(jìn)行有效管控的重要手段,有利于指導(dǎo)漏洞的預(yù)防、收集、削減和發(fā)布等活動(dòng)。以下是國(guó)際和國(guó)內(nèi)在工業(yè)控制漏洞管理領(lǐng)域比較有代表性的平臺(tái):1)通用漏洞披露庫(kù)2)美國(guó)工控系統(tǒng)網(wǎng)絡(luò)應(yīng)急響應(yīng)小組3)中國(guó)國(guó)家信息安全漏洞庫(kù)4)國(guó)家信息安全漏洞共享平臺(tái)4.3漏洞掃描技術(shù)漏洞掃描技術(shù)是指利用掃描等手段檢測(cè)目標(biāo)主機(jī)或網(wǎng)絡(luò)的安全脆弱性,并發(fā)現(xiàn)可利用的漏洞的一種安全檢測(cè)技術(shù)。防火墻、入侵檢測(cè)技術(shù)和漏洞掃描技術(shù)都是安全檢測(cè)的主流技術(shù)。其中,防火墻和入侵檢測(cè)技術(shù)屬于被動(dòng)防御措施,而漏洞掃描技術(shù)則屬于一種主動(dòng)的防范方法。將這三種技術(shù)結(jié)合起來(lái),能夠有效地保證網(wǎng)絡(luò)的安全性。網(wǎng)絡(luò)管理員通常利用漏洞掃描技術(shù)來(lái)更好地了解當(dāng)前網(wǎng)絡(luò)正在運(yùn)行的服務(wù)和應(yīng)用以及網(wǎng)絡(luò)的安全設(shè)置,并將其作為網(wǎng)絡(luò)風(fēng)險(xiǎn)評(píng)估的主要依據(jù)。同時(shí),也能夠及時(shí)地發(fā)現(xiàn)網(wǎng)絡(luò)中存在的安全問(wèn)題,并對(duì)網(wǎng)絡(luò)安全系統(tǒng)中的設(shè)置進(jìn)一步修正和完善,從而加強(qiáng)對(duì)入侵者攻擊的防御,提高網(wǎng)絡(luò)的安全性。4.3.1漏洞掃描分類(lèi)按照部署方式來(lái)說(shuō),漏洞掃描可以分為基于主機(jī)的漏洞掃描和基于網(wǎng)絡(luò)的漏洞掃描兩大類(lèi)。1.基于主機(jī)的漏洞掃描
基于主機(jī)的漏洞掃描采用被動(dòng)的、非破壞性的方法對(duì)系統(tǒng)進(jìn)行檢測(cè)。通常,這種掃描方式涉及到系統(tǒng)的內(nèi)核、文件的屬性、操作系統(tǒng)的補(bǔ)丁等內(nèi)容。1)基于主機(jī)的漏洞掃描器(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 正弦示波器課程設(shè)計(jì)
- 2024年新型城鎮(zhèn)化項(xiàng)目預(yù)應(yīng)力管樁施工勞務(wù)分包合同3篇
- 特色室內(nèi)室外課程設(shè)計(jì)
- 數(shù)控銑床加工課程設(shè)計(jì)
- 2021-2022學(xué)年河北邯鄲大名縣五年級(jí)上冊(cè)語(yǔ)文期末試卷及答案
- 2022-2023學(xué)年江蘇省淮安市金湖縣二年級(jí)上冊(cè)數(shù)學(xué)期末試題及答案
- 2022-2023學(xué)年福建泉州市五年級(jí)上冊(cè)語(yǔ)文期中試卷及答案
- 幼兒模特課程設(shè)計(jì)
- 2024年人民版三年級(jí)英語(yǔ)下冊(cè)月考試卷804
- 2025年小升初數(shù)學(xué)復(fù)習(xí)之小題狂練300題(選擇題):數(shù)的認(rèn)識(shí)(10題)
- 棚戶(hù)區(qū)改造項(xiàng)目房屋拆除工程施工組織設(shè)計(jì)方案
- 項(xiàng)目主要技術(shù)方案計(jì)劃表
- 【真題】北京市西城區(qū)六年級(jí)語(yǔ)文第一學(xué)期期末試卷 2021-2022學(xué)年(有答案)
- 壓鑄件氣孔通用標(biāo)準(zhǔn)
- 安捷倫氣質(zhì)聯(lián)用儀(Agilent-GCMS)培訓(xùn)教材
- 2022年FURUNO電子海圖完整題庫(kù)
- 奔馳卡車(chē)產(chǎn)品分析(課堂PPT)
- 加固工程竣工驗(yàn)收資料(質(zhì)量驗(yàn)收表全套)
- 衛(wèi)生技術(shù)人員執(zhí)業(yè)監(jiān)管記錄
- 反循環(huán)鉆孔灌注樁施工方案
- 齒輪傳動(dòng)的設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論