彭杰劉力
(南昌大學(xué)信息工程學(xué)院,江西 南昌 330031)
隨著IT技術(shù)快速而廣泛地應(yīng)用于工業(yè)自動(dòng)化系統(tǒng),工業(yè)控制系統(tǒng)遭受網(wǎng)絡(luò)侵襲已屢見(jiàn)不鮮。工業(yè)網(wǎng)絡(luò)的信息安全問(wèn)題日益突出,這主要有以下三方面的原因:一是工業(yè)控制系統(tǒng)和企業(yè)IT系統(tǒng)聯(lián)合得越來(lái)越緊密;二是企業(yè)IT安全措施往往不能直接應(yīng)用于工業(yè)控制系統(tǒng);三是黑客技術(shù)的發(fā)展也使蠕蟲(chóng)病毒的破壞力更大。隨著以工業(yè)以太網(wǎng)為代表的控制網(wǎng)絡(luò)在監(jiān)控層占據(jù)主流位置,以及實(shí)時(shí)以太網(wǎng)技術(shù)在現(xiàn)場(chǎng)設(shè)備層逐步得到應(yīng)用,對(duì)工業(yè)控制系統(tǒng)的信息安全風(fēng)險(xiǎn)進(jìn)行分析研究已經(jīng)顯得十分迫切[1-2]。
如今的工廠已不再由一系列自動(dòng)化孤島組成,為了有效利用自動(dòng)化資源,通信系統(tǒng)已將其中的各部分連接起來(lái)。綜合考慮企業(yè)范圍內(nèi)的各種需求,工廠網(wǎng)絡(luò)通信框架一般具有3層結(jié)構(gòu),從低到高分別為現(xiàn)場(chǎng)控制層、監(jiān)控層和企業(yè)管理層。對(duì)于監(jiān)控層,工業(yè)以太網(wǎng)技術(shù)占據(jù)了主流地位,但是對(duì)于響應(yīng)時(shí)間要求小于5 ms的現(xiàn)場(chǎng)控制層應(yīng)用,工業(yè)以太網(wǎng)也不能勝任。為了滿足高實(shí)時(shí)性能應(yīng)用的需要,各大公司和標(biāo)準(zhǔn)組織紛紛提出各種提升工業(yè)以太網(wǎng)實(shí)時(shí)性的技術(shù)解決方案。這些方案建立在IEEE 802.3標(biāo)準(zhǔn)的基礎(chǔ)上,通過(guò)對(duì)其及相關(guān)標(biāo)準(zhǔn)的實(shí)時(shí)擴(kuò)展提高實(shí)時(shí)性,并且做到與標(biāo)準(zhǔn)以太網(wǎng)的無(wú)縫連接,這就是實(shí)時(shí)以太網(wǎng)[3-4]。隨著實(shí)時(shí)以太網(wǎng)技術(shù)的發(fā)展和應(yīng)用,工控系統(tǒng)逐漸實(shí)現(xiàn)“一網(wǎng)到底”。典型的工業(yè)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 典型工業(yè)網(wǎng)絡(luò)Fig.1 Typical industrial network
在自動(dòng)化監(jiān)控層,不但有用于控制的PLC和中央控制器,也有以Windows為主流操作系統(tǒng)的操作站、優(yōu)化系統(tǒng)工作站、先進(jìn)控制工作站以及Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器等設(shè)備。系統(tǒng)使用OPC技術(shù)從不同的數(shù)據(jù)源得到數(shù)據(jù)并進(jìn)行數(shù)據(jù)交換;數(shù)據(jù)經(jīng)常通過(guò)工業(yè)以太網(wǎng)交換機(jī)進(jìn)行傳輸?shù)取W詣?dòng)化系統(tǒng)集成和擴(kuò)展的需要、系統(tǒng)開(kāi)放互連性的加強(qiáng),特別是標(biāo)準(zhǔn)IT技術(shù)在自動(dòng)化系統(tǒng)組件中的廣泛應(yīng)用,如FTP應(yīng)用、B/S方式監(jiān)控、Internet遠(yuǎn)程診斷、來(lái)自工業(yè)現(xiàn)場(chǎng)的視頻音頻監(jiān)控?cái)?shù)據(jù)傳輸,以及以后有可能實(shí)現(xiàn)的IPv6在工業(yè)控制設(shè)備中的應(yīng)用等,這些都明顯體現(xiàn)了工業(yè)控制系統(tǒng)作為一個(gè)全方位采用主流信息技術(shù)的系統(tǒng)特征。
工業(yè)控制系統(tǒng)所具有的網(wǎng)絡(luò)化和信息化的特點(diǎn),使得工控系統(tǒng)除了面對(duì)傳統(tǒng)的針對(duì)商用計(jì)算機(jī)領(lǐng)域的信息安全威脅,例如病毒、網(wǎng)絡(luò)安全等以外,還要面對(duì)那些會(huì)威脅到系統(tǒng)控制性能甚至破壞系統(tǒng)控制功能的信息安全威脅[5-7]。
典型的對(duì)控制性能的威脅就是控制系統(tǒng)的通信實(shí)時(shí)性。以在監(jiān)控層占據(jù)主流地位的工業(yè)以太網(wǎng)為例。網(wǎng)絡(luò)響應(yīng)時(shí)間反映了整個(gè)工業(yè)以太網(wǎng)系統(tǒng)的實(shí)時(shí)性能。影響網(wǎng)絡(luò)響應(yīng)時(shí)間的因素主要來(lái)自3個(gè)方面:①本地系統(tǒng),即源節(jié)點(diǎn)的處理;②工業(yè)以太網(wǎng)網(wǎng)絡(luò),即傳輸部分;③目的節(jié)點(diǎn)系統(tǒng),即目的節(jié)點(diǎn)的處理。
工業(yè)以太網(wǎng)響應(yīng)時(shí)間示意圖如圖2所示。此圖表明了從源節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送信息所花費(fèi)的時(shí)間,也就是網(wǎng)絡(luò)響應(yīng)時(shí)間Tdelay??偟臅r(shí)間延遲可分為:源節(jié)點(diǎn)的時(shí)間延遲、網(wǎng)絡(luò)通道上的時(shí)間延遲和目標(biāo)節(jié)點(diǎn)的時(shí)間延遲3個(gè)部分。
圖2 工業(yè)以太網(wǎng)響應(yīng)時(shí)間示意圖Fig.2 Schematic diagram of response time of industrial Ethernet
源節(jié)點(diǎn)的時(shí)間延遲包括:①預(yù)處理時(shí)間Tpre,它是計(jì)算時(shí)間Tscomp和編碼時(shí)間Tscode的總和;②節(jié)點(diǎn)內(nèi)部排隊(duì)的時(shí)間Tn-queue,是等待時(shí)間Twait的一部分,取決于源節(jié)點(diǎn)需傳送數(shù)據(jù)的總和與網(wǎng)絡(luò)的傳送狀況。網(wǎng)絡(luò)時(shí)間延遲包括:①傳送時(shí)間Ttx,它是幀發(fā)送時(shí)間Tframe和網(wǎng)絡(luò)的物理傳播遲延 Tprop的總和,取決于信息的大小、數(shù)據(jù)傳送率和網(wǎng)絡(luò)纜線的長(zhǎng)度;②網(wǎng)絡(luò)阻塞時(shí)間Tblock,它是等待時(shí)間Twait的另外一部分;③目的節(jié)點(diǎn)的時(shí)間延遲Tpost是數(shù)據(jù)的后期處理時(shí)間,它是目的節(jié)點(diǎn)解碼時(shí)間Tdcode和目的節(jié)點(diǎn)計(jì)算時(shí)間Tdcomp的總和。所以總的時(shí)間延遲可表示為:
式中:Tpre=Tscomp+Tscode;Twait=Tn-quene+Tblock;Ttx=Tframe+Tprop;Tpost=Tdcode+Tdcomp。
從圖2可知,計(jì)算機(jī)病毒即使不造成操作系統(tǒng)崩潰,也可以通過(guò)占用資源,使得源節(jié)點(diǎn)的時(shí)間延遲和目的節(jié)點(diǎn)的時(shí)間延遲具有不確定性;局域網(wǎng)病毒或者網(wǎng)絡(luò)攻擊即使不造成以太網(wǎng)癱瘓,也可以通過(guò)堵塞造成網(wǎng)絡(luò)傳輸?shù)臅r(shí)間延遲具有不確定性。這些不確定性將造成那些具有優(yōu)先權(quán)的工業(yè)實(shí)時(shí)數(shù)據(jù)的實(shí)時(shí)性得不到滿足,從而破壞系統(tǒng)控制性能。
典型的對(duì)控制功能的破壞就是破壞和操縱工業(yè)控制軟件,例如對(duì)OPC軟件或者實(shí)時(shí)數(shù)據(jù)庫(kù)的破壞,但破壞力更強(qiáng)的是對(duì)工控軟件的操縱。
國(guó)家計(jì)算機(jī)病毒應(yīng)急處理中心于2010年10月3日發(fā)布信息:通過(guò)互聯(lián)網(wǎng)絡(luò)監(jiān)測(cè)發(fā)現(xiàn),一種利用微軟公司漏洞的新型病毒“震網(wǎng)”(也稱超級(jí)病毒Stuxnet)出現(xiàn),提醒用戶尤其是大型工業(yè)部門(mén)小心謹(jǐn)防。該病毒可以通過(guò)移動(dòng)存儲(chǔ)介質(zhì)和局域網(wǎng)進(jìn)行傳播,并且利用西門(mén)子公司控制系統(tǒng)(SIMATIC WinCC/Step7)存在的漏洞感染數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(SCADA)。Stuxnet的目的是通過(guò)修改PLC來(lái)改變工業(yè)生產(chǎn)控制系統(tǒng)的行為,包括:攔截發(fā)送給PLC的讀/寫(xiě)請(qǐng)求,以此判斷系統(tǒng)是否為潛在的攻擊目標(biāo);修改現(xiàn)有的PLC代碼塊,并往PLC中寫(xiě)入新的代碼塊;利用Rootkit功能隱藏PLC感染,躲避PLC管理員或程序員的檢測(cè)。
Step7軟件使用庫(kù)文件s7otbxdx.dll來(lái)和PLC通信。當(dāng)Step7程序準(zhǔn)備進(jìn)入PLC時(shí),它會(huì)調(diào)用該DLL文件中不同的例程。例如,如果一個(gè)代碼塊需要用Step7從PLC中讀出,那么,例程s7blk_read就會(huì)被調(diào)用。s7otbxdx.dll中的代碼會(huì)進(jìn)入PLC,讀出其中的代碼,并將它傳回Step7程序。Stuxnet運(yùn)行后,Stuxnet會(huì)將原始的 s7otbxdx.dll文件重命名為 s7otbxsx.dll。然后,它將用自身取代原始的DLL文件,這樣Stuxnet就可以攔截任何來(lái)自其他程序的訪問(wèn)PLC的命令。被Stuxnet修改后的s7otbxdx.dll文件保留了原來(lái)的導(dǎo)出表,導(dǎo)出函數(shù)為109個(gè),這就使得Stuxnet可以應(yīng)付所有相同的請(qǐng)求。大部分導(dǎo)出命令會(huì)轉(zhuǎn)發(fā)給真正的DLL,即重命名后的 s7otbxsx.dll,剩下的16種導(dǎo)出命令不會(huì)被簡(jiǎn)單地轉(zhuǎn)發(fā),而是被改動(dòng)后的DLL攔截。被攔截的導(dǎo)出命令為在PLC中讀、寫(xiě)、定位代碼塊的例程。通過(guò)攔截這些請(qǐng)求,Stuxnet可以在PLC管理員沒(méi)有察覺(jué)的情況下,修改發(fā)送至PLC或從PLC返回的數(shù)據(jù)。同時(shí),通過(guò)利用這些例程,Stuxnet可以將惡意代碼隱藏在PLC中。
通過(guò)初步分析,確認(rèn)Stuxnet病毒主要存在以下安全威脅:①該病毒針對(duì)的目標(biāo)是用于數(shù)據(jù)采集與監(jiān)視控制的專用計(jì)算機(jī)系統(tǒng);②此類(lèi)數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)由于其自身功能的特殊性和重要性,往往與互聯(lián)網(wǎng)隔離,造成無(wú)法及時(shí)進(jìn)行安全更新,為病毒傳播提供可乘之機(jī);③雖然目前該病毒只是針對(duì)西門(mén)子公司的數(shù)據(jù)采集與監(jiān)視控制系統(tǒng),但不排除可能出現(xiàn)針對(duì)其他專用計(jì)算機(jī)系統(tǒng)的變種。
工業(yè)控制系統(tǒng)還存在潛在的脆弱點(diǎn),這些脆弱點(diǎn)雖然可能還沒(méi)有立即對(duì)控制功能或者控制軟件造成損害,但顯然增加了系統(tǒng)的安全性威脅。這些潛在的脆弱點(diǎn)包括:①工業(yè)控制系統(tǒng)中采用的主流操作系統(tǒng),如Microsoft Windows操作系統(tǒng)存在的安全脆弱點(diǎn),最近的Microsoft遠(yuǎn)程桌面協(xié)議拒絕訪問(wèn)和遠(yuǎn)程代碼執(zhí)行漏洞;②緩沖區(qū)溢出漏洞,例如ABB公司就確認(rèn)在其機(jī)器人通信運(yùn)行軟件中存在這類(lèi)漏洞,通過(guò)這個(gè)漏洞,攻擊者可能具有管理員權(quán)限執(zhí)行遠(yuǎn)程代碼;③控制裝置認(rèn)證機(jī)制中存在的脆弱點(diǎn),例如,西門(mén)子公司已經(jīng)確認(rèn)在編程和配置客戶端軟件認(rèn)證機(jī)制中存在潛在的安全弱點(diǎn)。這些機(jī)制使用在西門(mén)子公司的SIMATIC S7 PLC上,其中包括 S7-200、S7-300、S7-400和 S7-1200。通過(guò)這些脆弱點(diǎn),攻擊者有機(jī)會(huì)接入控制系統(tǒng)的通信鏈路,截獲并破譯產(chǎn)品的密碼,導(dǎo)致未經(jīng)授權(quán)的更改操作。
商用系統(tǒng)的信息安全威脅和安全防護(hù)一直是矛盾的關(guān)系,是動(dòng)態(tài)發(fā)展的問(wèn)題,而基于主流信息技術(shù)的發(fā)展應(yīng)用和改造應(yīng)用的工控系統(tǒng)對(duì)此問(wèn)題的解決顯然也是動(dòng)態(tài)的,所以不可能有一成不變的解決方案。因此,應(yīng)該制定合理的信息安全策略,然后選擇可行的防護(hù)技術(shù)。限于篇幅,本文對(duì)此進(jìn)行初步探討。
Stuxnet蠕蟲(chóng)病毒是利用Windows系統(tǒng)和西門(mén)子SIMATIC WinCC系統(tǒng)的多個(gè)漏洞進(jìn)行攻擊。它一共利用了5個(gè)微軟漏洞,其中4個(gè)在此前均已得到微軟官方修復(fù)。2010年12月15日,微軟發(fā)布修復(fù)的“Windows計(jì)劃任務(wù)本地權(quán)限提升漏洞”(公告編號(hào):MS10-092),是被“超級(jí)工廠”病毒利用的最后一個(gè)Windows0day漏洞。隨著第5個(gè)漏洞的修復(fù),Stuxnet“超級(jí)工廠”病毒的危害已經(jīng)得到解決。但由于操作系統(tǒng)自身存在許多安全漏洞,運(yùn)行在該系統(tǒng)上的工業(yè)軟件難免會(huì)受到威脅,所以最好能根據(jù)應(yīng)用情況,裁減操縱系統(tǒng)。
在主流的分布式防火墻技術(shù)基礎(chǔ)上,開(kāi)發(fā)和應(yīng)用適合工控的分布式防火墻技術(shù)如圖3所示。
圖3 工控用分布式防火墻Fig.3 The distributed firewall for industrial control
與傳統(tǒng)邊界防火墻相比,分布式防火墻克服了許多傳統(tǒng)邊界防火墻的缺點(diǎn),增加了一種用于對(duì)內(nèi)部子網(wǎng)之間的安全防護(hù)層;可以針對(duì)各個(gè)服務(wù)對(duì)象的不同需要,進(jìn)行不同配置,配置時(shí)能夠充分考慮到運(yùn)行的應(yīng)用;網(wǎng)絡(luò)處理負(fù)荷分布,克服了傳統(tǒng)防火墻因網(wǎng)絡(luò)規(guī)模增大而不堪重負(fù)的弊端。
信息網(wǎng)絡(luò)分布式防火墻的主機(jī)防火墻駐留在主機(jī)中,負(fù)責(zé)策略的實(shí)施,以及對(duì)網(wǎng)絡(luò)中的服務(wù)器和桌面機(jī)進(jìn)行防護(hù)。主機(jī)防火墻駐留在被保護(hù)的主機(jī)上,可以針對(duì)該主機(jī)上運(yùn)行的具體應(yīng)用和對(duì)外提供的服務(wù)來(lái)設(shè)定針對(duì)性很強(qiáng)的安全策略。正如在主流信息網(wǎng)絡(luò)技術(shù)基礎(chǔ)上進(jìn)行適應(yīng)工業(yè)控制特點(diǎn)的改造,這使得現(xiàn)場(chǎng)總線和實(shí)時(shí)以太網(wǎng)技術(shù)一樣,可以對(duì)應(yīng)地開(kāi)發(fā)用于工控的類(lèi)似主機(jī)防火墻。兩者的不同僅在于這些類(lèi)似主機(jī)防火墻的保護(hù)對(duì)象是控制器、PLC和RTU等執(zhí)行控制策略的“主機(jī)”。
對(duì)系統(tǒng)的信息安全風(fēng)險(xiǎn)評(píng)估有利于采取有針對(duì)性的安全策略,制定事故處理方案。這對(duì)類(lèi)似Stuxnet這樣破壞控制功能的安全威脅尤其有意義。
目前,國(guó)內(nèi)外關(guān)于IT系統(tǒng)風(fēng)險(xiǎn)評(píng)估的方法有許多種,例如基于概率論方法、層次分析法和模糊邏輯方法。雖然工控系統(tǒng)是一個(gè)信息系統(tǒng),但它更是一個(gè)控制系統(tǒng),這使其在采用風(fēng)險(xiǎn)評(píng)估方法中要著重注意保證控制系統(tǒng)正常運(yùn)行特有的要求。這就使得對(duì)工業(yè)控制系統(tǒng)的風(fēng)險(xiǎn)評(píng)估,要在商用信息系統(tǒng)已經(jīng)較為成熟的系統(tǒng)風(fēng)險(xiǎn)評(píng)估方法和工具應(yīng)用的基礎(chǔ)上,結(jié)合控制系統(tǒng)風(fēng)險(xiǎn)特征,例如工業(yè)以太網(wǎng)的實(shí)時(shí)性要求。由于控制系統(tǒng)引發(fā)的后果比較嚴(yán)重,所以對(duì)風(fēng)險(xiǎn)事件發(fā)生后果的影響評(píng)價(jià)需要更為“保守”。同時(shí),根據(jù)技術(shù)發(fā)展探討其他可行的策略,例如VPN、SSL技術(shù)等,許多文獻(xiàn)對(duì)此已經(jīng)有諸多研究。
當(dāng)前工業(yè)控制系統(tǒng)與基于TCP/IP協(xié)議的信息系統(tǒng)已結(jié)合得越來(lái)越緊密,這使得工控系統(tǒng)容易受到信息安全問(wèn)題的威脅,例如計(jì)算機(jī)病毒、網(wǎng)絡(luò)病毒、數(shù)據(jù)操縱,從而使整個(gè)工業(yè)控制系統(tǒng)遭受破壞。
本文針對(duì)工業(yè)控制系統(tǒng)網(wǎng)絡(luò)化和信息化的特點(diǎn),對(duì)工業(yè)控制系統(tǒng)信息安全問(wèn)題進(jìn)行了分析;對(duì)威脅到系統(tǒng)控制性能甚至破壞控制功能的信息安全威脅進(jìn)行了研究;同時(shí)指出了工業(yè)控制系統(tǒng)還存在的潛在脆弱點(diǎn),并提出了相應(yīng)的對(duì)策。這些對(duì)策包括根據(jù)工業(yè)控制系統(tǒng)要求來(lái)裁減操作系統(tǒng)、研究工控用分布式防火墻技術(shù)應(yīng)用以及進(jìn)行工控系統(tǒng)安全風(fēng)險(xiǎn)評(píng)估。
[1]施曉秋.計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)[M].北京:高等教育出版社,2006:10-189.
[2]韓東海.入侵檢測(cè)系統(tǒng)及實(shí)例剖析[M].北京:清華大學(xué)出版社,2002:18-266.
[3]彭杰,應(yīng)啟戛.工業(yè)以太網(wǎng)的安全性研究[J].儀器儀表學(xué)報(bào),2004(1):222-223.
[4]康軍,戴冠中.工業(yè)以太網(wǎng)控制系統(tǒng)安全性問(wèn)題研究[J].信息與控制,2007,36(2):245 -249.
[5]Ioannidis S,Keromytis A D,Bellovin S M.Implementing a distributed firewall[C]//ProceedingsofConference on Computerand Communication Security,Athens,Greece,2000:190 -199.
[6]Miltchev S,Smith J M,Prevelakis V.Decentralized access control in distributed file systems[J].ACM Computing Surveys,2008,40(3):1-30.
[7]Burnside M,Keromytis A.Asynchronous policy evaluation and enforcement[C]//Proceedings of the 2nd Computer Security Architecture Workshop(CSAW),F(xiàn)airfax,VA,2008:5-50.