吳亞鳳(中國勞動關系學院,北京 100048)
當今的SCADA(Supervisory Control And Data Acquisition)系統(tǒng)已經(jīng)成為電力、石化、市政、管網(wǎng)、交通運輸?shù)雀鱾€領域的控制神經(jīng)中樞,它運行的安全與否直接決定了其被控裝置能否正常運行。而隨著2010年10月發(fā)生在伊朗核電站的“震網(wǎng)”(Stuxnet)病毒事件,以往被認為SCADA系統(tǒng)是專用系統(tǒng)難于受外部侵入的觀念被打破,SCADA信息安全問題被推向了有史以來最為嚴峻的地步,工信部隨后發(fā)451號通知,明確提出工業(yè)控制系統(tǒng)信息安全面臨的嚴峻形勢,要求加強工業(yè)控制系統(tǒng)信息安全管理工作。
在IEC62443中針對工業(yè)控制系統(tǒng)對信息安全的定義是[1]:保護系統(tǒng)所采取的措施;由建立和維護保護系統(tǒng)的措施所得到的系統(tǒng)狀態(tài);能夠免于對系統(tǒng)資源的非授權訪問和非授權或意外的變更、破壞或者損失;基于計算機系統(tǒng)的能力,能夠保證非授權人員和系統(tǒng)既無法修改軟件及其數(shù)據(jù)也無法訪問系統(tǒng)功能,卻保證授權人員和系統(tǒng)不被阻止;防止對工業(yè)控制系統(tǒng)的非法或有害入侵,或者干擾其正確和計劃的操作。
針對SCADA系統(tǒng)的信息安全防范內(nèi)容就是防止有意或者無意、非授權的對系統(tǒng)進行訪問、修改或者破壞。
一個最基本的SCADA系統(tǒng)一般由以下幾個部分組成:
數(shù)據(jù)服務器:它為SCADA系統(tǒng)提供各種數(shù)據(jù)服務,包括:實時數(shù)據(jù)庫和實時數(shù)據(jù)服務、歷史數(shù)據(jù)服務、報警管理服務、日志服務、用戶和授權管理等。
客戶監(jiān)控站:它提供給操作人員一個人機交互的界面(HM I),使得操作人員在其上完成對現(xiàn)場被控對象的各種監(jiān)視和操作任務。
通訊站(前端機):通訊站是SCADA與現(xiàn)場單元之間的交互接口,按照其協(xié)議不同,又可分為很多種類。
其他站點:包括計算站、WEB服務站、移動接入設備(如手持終端、便攜機、ipad)等。
現(xiàn)場單元:指的是直接與被控物理裝置連接的設備單元,包括但不限于:可編程邏輯控制器(PLC)、集散控制系統(tǒng)(DCS)、遠程測控終端(RTU)、智能電子設備(IED)等。
網(wǎng)絡:SCADA系統(tǒng)的網(wǎng)絡是最為復雜的,一般包括:連接各個現(xiàn)場設備的現(xiàn)場總線網(wǎng)絡,連接數(shù)據(jù)服務器、通訊站與現(xiàn)場設備的控制網(wǎng)絡,連接SCADA系統(tǒng)的各類服務器、監(jiān)控站、工程師站和打印機等節(jié)點的系統(tǒng)網(wǎng)絡,連接其他站點(如手持終端、便攜機、ipad)的遠程接入網(wǎng)絡,以及用于連接企業(yè)上層管控系統(tǒng)(如MES、ERP)的管理網(wǎng)絡。
在一些比較大型的SCADA系統(tǒng)中,又有分級的概念,如城鐵SCADA系統(tǒng)中分為變電所、車站、控制中心三級。在上一級上可以監(jiān)控下一級的全部設備,在上一級系統(tǒng)里有下一級的全部數(shù)據(jù)庫以及各項服務。
早期的SCADA系統(tǒng)一般是由設備制造商封閉開發(fā)的,它有如下特點:采用專有通訊網(wǎng)絡、專有操作系統(tǒng)、甚至專有的操作站硬件、專用的存儲設備與存儲介質、不使用通用以太網(wǎng)、沒有Internet的接入等特點,從信息安全的角度來看,這個系統(tǒng)是“本質安全”的。
隨著計算機技術、互聯(lián)網(wǎng)的飛速發(fā)展,SCADA系統(tǒng)越來越多地采用了大量通用IT技術和設備,表現(xiàn)出如下特點:采用通用的計算機硬件設備,以太網(wǎng)無處不在、無線設備與無線網(wǎng)絡接入、遠程配置與遠程控制、Windows和Linux通用操作系統(tǒng)的使用、通用基礎軟件(數(shù)據(jù)庫軟件、Office軟件)、商務供應訂單系統(tǒng)在線連接等,從網(wǎng)絡安全的角度來看,這一系統(tǒng)“有巨大的挑戰(zhàn),很容易被利用”,并且采用的是通用設備與通用技術,其技術更容易被人掌握。
但是SCADA系統(tǒng)與通用IT系統(tǒng)在信息安全方面還有很多差異點,如表1所示[2]。
表1 SCADA與IT系統(tǒng)的信息安全差異
這些差異點就造成SCADA系統(tǒng)信息安全防護技術和管理理念與IT系統(tǒng)是不盡相同的,不能套用IT系統(tǒng)的防范手段。
現(xiàn)在SCADA系統(tǒng)由于其開放性的設計,采用了大量IT技術與通用IT設備,使得SCADA系統(tǒng)不再是一個封閉的系統(tǒng),這些變化包括:
采用通用IT硬件,包括:服務器/計算機、交換機、網(wǎng)卡、顯示器、輸入/輸出設備、標準以太網(wǎng)等。
采用通用的軟件,如數(shù)據(jù)庫軟件、Office軟件、Windows操作系統(tǒng)、TCP/IP協(xié)議、OPC技術等。
惡意入侵:來自界外有意識的侵入,以竊取和破壞為目的。
“兩網(wǎng)融合”和SCADA系統(tǒng)開放接口造成的安全沖擊,給系統(tǒng)帶來巨大的風險。
高級系統(tǒng)應用功能,例如:遠程配置與維護管理、生產(chǎn)制造執(zhí)行系統(tǒng)(MES)連接、商務現(xiàn)場供應(訂單批量配方生成)。
復雜的網(wǎng)絡構架,如廣域網(wǎng)接入、工業(yè)無線網(wǎng)絡、異構網(wǎng)絡等。
設備故障:設備故障帶來的主要是“無意性”的安全風險,會導致系統(tǒng)信息可用性降低、甚至喪失,最終導致系統(tǒng)癱瘓,對被控裝置帶來災難性的后果。
SCADA系統(tǒng)的上述特點與變化,決定了它會存在以下的信息安全風險:
第一類信息安全風險,可稱之為狹義的信息安全風險,是通用計算機網(wǎng)絡信息安全,是與常規(guī)IT系統(tǒng)相同的,但防范手段會有差異,包括:
黑客入侵類:信息竊取、篡改、破壞;
病毒類:蠕蟲(資源消耗)、破壞(拒絕服務)、木馬(信息竊?。?/p>
系統(tǒng)漏洞:包括操作系統(tǒng)漏洞、平臺軟件漏洞(如數(shù)據(jù)庫軟件)、SCADA軟件本身漏洞。
功能異常類:如設備損壞導致系統(tǒng)癱瘓、異常保護(回路環(huán)風暴);
第二類信息安全風險,可稱之為SCADA特有的信息安全風險,包括:
數(shù)據(jù)自然損壞:由于SCADA系統(tǒng)運行環(huán)境復雜,干擾源多、雜、強等特點,系統(tǒng)數(shù)據(jù)在傳輸、加工、存儲等環(huán)節(jié)極易出錯,導致系統(tǒng)可用性問題;
時序失序和實時性:SCADA系統(tǒng)是工業(yè)控制系統(tǒng),它對系統(tǒng)響應的實時性要求非常高,不同于常規(guī)IT系統(tǒng),且動作執(zhí)行的時序性要求也高,當前的多任務操作系統(tǒng)、防病毒軟件會對它帶來風險。
人為失誤和人為破壞:SCADA系統(tǒng)的高可靠性要求系統(tǒng)能盡可能地防范人為失誤以及人為破壞,如二次確認功能。
對于SCADA系統(tǒng)而言,信息安全一般至少要實現(xiàn)以下三個目標:
可用性:保證系統(tǒng)在任何外界環(huán)境下,能不喪失原有設計的各項功能;
正確性:包含信息的完整性和準確性;
保密性:包括信息不被未經(jīng)授權的人獲取、刪除、篡改、冒充等。
SCADA系統(tǒng)信息安全首要考慮的是所有系統(tǒng)部件的可用性。正確性則在第二位,保密性通常都在最后考慮。因為目前的SCADA系統(tǒng)的通訊數(shù)據(jù)都是原始格式,需要配合有關使用環(huán)境進行分析才能獲取其價值。而系統(tǒng)的可用性則直接影響到企業(yè)生產(chǎn),生產(chǎn)線停機或者誤動作都可能導致巨大經(jīng)濟損失,甚至是人員生命危險和環(huán)境的破壞。
目前,越來越多的人關注SCADA系統(tǒng)的信息安全防范工作,也從不同角度給出了許多信息安全防護建議,如建立工業(yè)控制系統(tǒng)安全管理體系[3],工業(yè)控制SCADA系統(tǒng)的安全防護體系[4]等。其基本思想是從宏觀和整體角度,給出SCADA系統(tǒng)從外層到里層的防護手段,包括:
隔離措施:防火墻技術、VPN技術、網(wǎng)關等;
防病毒軟件的監(jiān)控和安裝;
計算機的安全策略的實施;
基于操作系統(tǒng)的身份驗證;
系統(tǒng)安全漏洞自動更新;
安全管理和安全服務措施。
但是以上的這些角度都是延續(xù)傳統(tǒng)IT系統(tǒng)的信息安全防護技術與思想,面對SCADA這種工業(yè)控制系統(tǒng)所特有的一些要求,上述手段不全面、有效性差,也難于實施,甚至有些手段會帶來負面效應(如常規(guī)的防病毒技術)。
從對SCADA系統(tǒng)信息安全風險分析和防護手段分析來看:SCADA信息安全可以分為兩類:一類是上述基于IT系統(tǒng)的信息安全防護技術,另一類是基于SCADA系統(tǒng)特性的防護技術,本文稱之為SCADA內(nèi)部信息安全的保護技術,即針對SCADA系統(tǒng)的特點以及它對信息安全的特殊要求,做特殊的防護設計,它主要是在SCADA系統(tǒng)設計時實現(xiàn)的,期望接近或者達到SCADA系統(tǒng)“本質安全”的目標。
因此,常規(guī)的信息安全防護手段作為SCADA系統(tǒng)的第一層防護,它強調的是系統(tǒng)外部信息安全,保證SCADA系統(tǒng)運行環(huán)境的安全,例如:系統(tǒng)和網(wǎng)絡的隔離、操作系統(tǒng)的安全漏洞、進入系統(tǒng)的安全策略等,本文不對這部分內(nèi)容做詳細介紹。第二層防護是提高SCADA系統(tǒng)本身對外部攻擊、侵入、破壞等的抵御能力,增強SCADA系統(tǒng)的信息安全度。
SCADA系統(tǒng)內(nèi)部信息安全是在產(chǎn)品設計過程中完成的,這與外部信息安全防護技術不同,是一種“設計出來的安全功能”,它能對外界侵入、訪問、數(shù)據(jù)篡改、干擾有天然的保護。安全保護技術包括以下幾個方面:
(1)專用軟、硬件技術
最早期的SCADA系統(tǒng)是封閉的,全部軟、硬件都由產(chǎn)品制造商提供或者開發(fā),因此產(chǎn)品對信息安全具有最高級別的控制能力,系統(tǒng)對外表現(xiàn)為封閉和本質安全。后來隨著IT技術的發(fā)展以及產(chǎn)品開發(fā)、制造成本的壓力,開放和集成是必由之路。但是開放意味著安全風險增大,失去天然安全屏障。
因此,提出一種“深度集成”的理念,借助與現(xiàn)代高度發(fā)達的CPU技術,要求系統(tǒng)所集成的產(chǎn)品開源、可編程或者可二次開發(fā)。借此達到硬件開放集成,固件或者軟件專用化,降低產(chǎn)品成本和開發(fā)成本,不降低系統(tǒng)開放性,提高系統(tǒng)安全性的目的。與網(wǎng)絡相關的有如下幾個方面:
接管操作系統(tǒng)的某些功能,如監(jiān)視可移動設備的接入,開發(fā)定制網(wǎng)卡驅動,監(jiān)視網(wǎng)卡數(shù)據(jù),對其數(shù)據(jù)包進行過濾和檢查;
二次開發(fā)專用交換機:目前某些交換機支持二次開發(fā),可以對其固件進行修改,使得合法的報文放行、合法的端口放行,所謂合法就是SCADA系統(tǒng)使用的報文或者端口,其他的一律阻止。
(2)內(nèi)部防病毒技術
通用防病毒技術對SCADA系統(tǒng)是不滿足的,它版本升級快,病毒庫需要隨時升級,每個版本與SCADA系統(tǒng)的兼容性無法保證,防病毒軟件從機制上不能滿足實時性和時序性要求,會造成SCADA系統(tǒng)數(shù)據(jù)交換的延遲、失序等問題。
在SCADA系統(tǒng)內(nèi)部,可以采用如下方式對各種類型的病毒進行防范:
白名單技術:SCADA系統(tǒng)只接受自己能識別的訪問,不能識別的訪問一律拋棄;計算機系統(tǒng)上只放行系統(tǒng)識別的端口、任務、進程,其他的一律禁止;
簽名:在訪問系統(tǒng)時需要簽名認證,驗證身份是否合法,保證訪問的合法性;
對異常數(shù)據(jù)包進行過濾,例如異常的數(shù)據(jù)包類型,異常的訪問流量(如DOS攻擊)。
(3)數(shù)據(jù)合法性保護
目的是保證SCADA系統(tǒng)訪問、存儲、使用的數(shù)據(jù)是合法的,這些數(shù)據(jù)可能是來源于SCADA系統(tǒng)內(nèi)部,也可能來源于外部,但是都必須通過合法性驗證之后,才能被使用;另外在生產(chǎn)這些數(shù)據(jù)時,也要保證數(shù)據(jù)的合法性。數(shù)據(jù)合法性保護包括:
數(shù)據(jù)的合法性加工、數(shù)據(jù)校驗以驗證其合法性;
編譯技術:對代碼合法性進行判斷,采用簽名與驗證技術;
運算執(zhí)行保護:控制運算的合法性判斷,漏洞保護(溢出、死循環(huán)、除零)、任務最大時間限制等。
(4)數(shù)據(jù)搬運/傳輸保護
SCADA系統(tǒng)的運行環(huán)境往往是惡劣的,有電磁干擾、腐蝕等,其網(wǎng)絡是復雜的,如有線網(wǎng)、無線網(wǎng)、異構網(wǎng)絡,以及網(wǎng)絡地域分布廣泛,其網(wǎng)絡拓撲結構多變,節(jié)點設備種類多。這就使得數(shù)據(jù)在網(wǎng)絡以及SCADA系統(tǒng)內(nèi)部傳輸過程中,非常容易發(fā)生錯位、失序、丟失、被竊取、被偽裝、篡改等各種風險。為了解決數(shù)據(jù)在搬運和傳輸過程中的問題,一般可以采取如下的一些技術:
加密傳輸(防竊取、防偽裝、防篡改);
校驗與糾錯(防失效、錯位、丟失與不完整);
內(nèi)存數(shù)據(jù)硬件校驗ECC;
存儲器數(shù)據(jù)讀、寫CRC校驗;
內(nèi)部總線數(shù)據(jù)傳輸奇偶校驗或者CRC校驗。一般來講,各種通訊協(xié)議都會在各層、各個環(huán)節(jié)進行校驗,但是這種校驗是局部的,可以防范局部異常。作為SCADA系統(tǒng)設計而言,對數(shù)據(jù)的保護應該是基于結果的校驗,即數(shù)據(jù)校驗制作在數(shù)據(jù)源頭執(zhí)行,數(shù)據(jù)檢驗檢查在數(shù)據(jù)使用者完成,可以保證在數(shù)據(jù)搬運/傳輸?shù)娜^程中是無差錯的。
(5)數(shù)據(jù)冗余技術
為了保證系統(tǒng)訪問/數(shù)據(jù)的合法性與完整性,數(shù)據(jù)冗余技術是一種較好的設計思想,它是利用數(shù)據(jù)的冗余信息來保護自己。一般的方法是:
位冗余(如:BOOL類型數(shù)據(jù)采用55AA編碼技術),這可以有效地解決數(shù)據(jù)的“位變”難題。
數(shù)據(jù)質量位,數(shù)據(jù)質量位代表了該數(shù)據(jù)的質量狀況,可以檢測、傳遞數(shù)據(jù)的質量,避免系統(tǒng)使用錯誤的數(shù)據(jù)。
數(shù)據(jù)縮略圖:在對數(shù)據(jù)有較高要求的場合,可以使用數(shù)據(jù)縮略圖的形式對數(shù)據(jù)進行驗證與保護。
隨著SCADA系統(tǒng)的應用日益廣泛,它的信息安全問題已經(jīng)成為系統(tǒng)能否長期穩(wěn)定可靠運行的主要問題,從對其應用的電力、冶金、建材、化工、市政、交通等各個行業(yè)的影響來說,也是關系國計民生的大事。因此,對SCADA系統(tǒng)信息安全的研究工作是非常重要的。
[1] IEC 62443-2010,工控網(wǎng)絡與系統(tǒng)信息安全標準[S].
[2]徐金偉.工業(yè)領域基礎設施SCADA系統(tǒng)簡介[J]. 計算機安全,2012,(01):4-8.
[3]張帥.工業(yè)控制系統(tǒng)安全風險分析[J].信息安全與通信保密,2012,(03):15-19.
[4]余勇,等.工業(yè)控制SCADA系統(tǒng)的信息安全防護體系研究[J].理論研究,2012,(05):74-76.