肖安洪,楊大為,曾 輝,張 娜,劉玲霜,周俊燚,郭 文
(中國核動力研究設(shè)計院核反應(yīng)堆系統(tǒng)設(shè)計技術(shù)重點實驗室,四川 成都 610213)
核電廠儀控系統(tǒng)(DCS)是一個通用的、用于核電廠安全控制保護(hù)的系統(tǒng),可應(yīng)用于不同類型核反應(yīng)堆的安全級儀控系統(tǒng),包括緊急停堆系統(tǒng)(RTS)、專設(shè)安全設(shè)施驅(qū)動系統(tǒng)(ESFAS)、事故后監(jiān)測系統(tǒng)(PAMS)等。DCS系統(tǒng)如同核電廠的“大腦神經(jīng)中樞”,在電廠的信息采集、傳遞與控制的過程中起到非常重要的作用。如今隨著計算機技術(shù)的應(yīng)用,逐漸實現(xiàn)了模擬組件被可編程、建立在離散邏輯基礎(chǔ)上的數(shù)字化系統(tǒng)所取代,因此數(shù)字化儀控成為當(dāng)前儀控領(lǐng)域的發(fā)展熱點。
主流儀控系統(tǒng)在享受數(shù)字化帶來的功能和性能上飛躍的同時,也因為數(shù)字化引入了一個新的問題——信息安全。儀控系統(tǒng)作為核電廠的“大腦神經(jīng)中樞”,時刻監(jiān)視著核電廠、核反應(yīng)堆的各種儀表狀態(tài),收集這些狀態(tài)信息實時反映給核電廠工作人員,并在各類狀態(tài)數(shù)值超出安全范圍時自動啟用停堆系統(tǒng)、反應(yīng)堆冷卻系統(tǒng)等安全設(shè)施,消除危險狀態(tài),保障核電廠安全運行。因核電廠的特殊性,一旦儀控系統(tǒng)中的硬件或軟件在運行中發(fā)生故障,導(dǎo)致核電廠的安全保護(hù)系統(tǒng)失效,將可能引起重大的安全事故,造成巨大的人身傷亡和財產(chǎn)損失,甚至威脅國家安全。數(shù)字化儀控系統(tǒng)的安全控制功能更多的是以軟件編程方式實現(xiàn),其運行過程中必然存在信息交互和傳遞,所以儀控系統(tǒng)的故障失效,一方面可能是因為在系統(tǒng)開發(fā)過程中遺留下的程序缺陷所致;另一方面也可能是因為外部的惡意程序“病毒”進(jìn)入系統(tǒng)后故意為之。顯然,后者具有更強的隱蔽性和破壞性。
曾在2010年鬧得沸沸揚揚的伊朗“震網(wǎng)”事件便是一個典型例子。一種名為“震網(wǎng)”的病毒通過U盤和局域網(wǎng)的傳播,侵入了西門子公司為伊朗布什爾核電站設(shè)計的工業(yè)控制軟件系統(tǒng),并奪取了一系列核心生產(chǎn)設(shè)施的控制權(quán)。當(dāng)核電站的儀控系統(tǒng)被“震網(wǎng)”感染后,它首先會篡改監(jiān)控的狀態(tài)信息,讓監(jiān)控人員和操作人員看到的始終是正常狀態(tài),然后控制離心機不斷加速,最終導(dǎo)致其因高溫而損毀。該病毒在2009年底到2010年初這段時間給伊朗布什爾核電站造成嚴(yán)重影響,約1/5的離心機因此報廢,并導(dǎo)致放射性物質(zhì)泄漏。這次事故不僅是給伊朗核電站帶來了重大的人身傷亡和財產(chǎn)損失,更是給伊朗的國家戰(zhàn)略造成了致命打擊,而“震網(wǎng)”病毒的源頭則很可能是由美國和以色列制作,作為專門針對伊朗的新一代網(wǎng)絡(luò)武器,藏身于伊朗為建造核電站而從國外購入的設(shè)備中,最終進(jìn)入到核電廠的儀控系統(tǒng)。由此可見,核電廠儀控系統(tǒng)的信息安全直接關(guān)系到國家的核心利益,保護(hù)儀控系統(tǒng)的信息安全已經(jīng)成為數(shù)字化核電儀控系統(tǒng)研發(fā)中一個至關(guān)重要的環(huán)節(jié)[1]。
針對核電站儀控系統(tǒng)數(shù)字化的趨勢和信息安全保護(hù)的重要性,國家出具了一批專門適用于核電廠安全設(shè)備在研發(fā)生產(chǎn)過程中需要滿足的安全標(biāo)準(zhǔn)和導(dǎo)則。這些標(biāo)準(zhǔn)和導(dǎo)則對DCS系統(tǒng)研發(fā)全流程的各個方面提出了關(guān)于安全性的要求,其中對于軟件研發(fā)的信息安全保護(hù),主要規(guī)定了安全防范分析、安全防范設(shè)計、用戶訪問和開發(fā)階段的安全防范4個方面的內(nèi)容。目前比較常用的關(guān)于核電廠儀控系統(tǒng)設(shè)備的安全類法規(guī)、導(dǎo)則和標(biāo)準(zhǔn)有:
1)HAF 102—2004,核動力廠設(shè)計安全規(guī)定;
2)HAD 102_16—2004,核動力廠基于計算機的安全重要系統(tǒng)軟件;
3)NB-T 20054—2011,核電廠安全重要儀表和控制系統(tǒng)執(zhí)行A類功能的計算機軟件;
4)NB-T 20026—2010,核電廠安全重要儀表和控制系統(tǒng)總體要求。
按照標(biāo)準(zhǔn)要求,信息安全保護(hù)的總體目標(biāo)是保護(hù)軟件和數(shù)據(jù)不被未授權(quán)的人員和系統(tǒng)讀取或修改,不能拒絕授權(quán)人員和系統(tǒng)的訪問。軟件的使用引起了某些潛在的對信息安全的威脅,主要的對策通常在系統(tǒng)層級考慮,如物理隔絕保護(hù)措施等。對軟件提出信息安全保護(hù)要求有助于減少軟件的薄弱環(huán)節(jié),且能夠支持系統(tǒng)層級的保護(hù)措施。
為解決核電數(shù)字儀控系統(tǒng)的信息安全隱患,在系統(tǒng)的設(shè)計開發(fā)中必須采取分層次的縱深防御策略,從而使管理者能夠在每個層次監(jiān)視系統(tǒng)。核電數(shù)字儀控系統(tǒng)信息安全保護(hù)應(yīng)關(guān)注如下幾個方面:確保軟件開發(fā)環(huán)境的純凈;用戶訪問的安全性;文件和數(shù)據(jù)的完整性、保密性;嚴(yán)格的配置管理和變更控制策略;控制系統(tǒng)網(wǎng)絡(luò)設(shè)備和使用者的驗證、認(rèn)證。
系統(tǒng)層級的核電儀控系統(tǒng)信息安全防御策略應(yīng)從減少儀控系統(tǒng)網(wǎng)絡(luò)易受攻擊的接口面開始。第一階段是建立具體的控制系統(tǒng)安全規(guī)則,這些規(guī)則詳細(xì)描述哪些設(shè)備、協(xié)議和應(yīng)用可以在控制系統(tǒng)上運行;誰有訪問這些設(shè)備的權(quán)限,且從哪里訪問是合乎規(guī)定的;不同權(quán)限的使用者可以被允許執(zhí)行哪些操作。第二階段是劃分確定適當(dāng)?shù)膮^(qū)域?qū)嵤┮陨弦?guī)則,可通過在已有的控制系統(tǒng)的設(shè)備上或添加的新設(shè)備上進(jìn)行適當(dāng)?shù)呐渲脕韺崿F(xiàn)。第三階段是監(jiān)控規(guī)則的實施,定位違規(guī)的區(qū)域且反饋給規(guī)則的制定者,以此來確保規(guī)則的有效性。信息安全是一個連續(xù)的過程,因此需要連續(xù)的監(jiān)控和調(diào)整。可用于確保核電數(shù)字儀控系統(tǒng)信息安全的技術(shù)措施有:
1)識別安全隱患。系統(tǒng)研發(fā)團(tuán)隊首先應(yīng)識別軟件研發(fā)環(huán)境中可能存在的安全隱患,特別是在不斷推進(jìn)的開發(fā)進(jìn)程中可能引入新問題的接口或操作,應(yīng)制定相應(yīng)的規(guī)則予以防范。
2)分析網(wǎng)絡(luò)。為制定綜合性的開發(fā)環(huán)境信息安全保護(hù)規(guī)則,網(wǎng)絡(luò)管理者需要能夠?qū)λ凶泳W(wǎng)執(zhí)行信息分析的工具,通常選擇被動掃描和辨識工具。
3)創(chuàng)建網(wǎng)絡(luò)和配置管理規(guī)則。一旦辨識了設(shè)備、網(wǎng)絡(luò)、應(yīng)用和使用者,則可以制定相應(yīng)的信息安全規(guī)則來保護(hù)開發(fā)環(huán)境網(wǎng)絡(luò)和配置管理庫。
4)創(chuàng)建嚴(yán)謹(jǐn)防御邊界。在某些情況下,需要從企業(yè)網(wǎng)或因特網(wǎng)訪問控制系統(tǒng),因此需要創(chuàng)建嚴(yán)謹(jǐn)?shù)男畔踩烙吔纭_吔绶阑饓Ρ仨殑?chuàng)建至少3個安全區(qū)域——控制系統(tǒng)網(wǎng)絡(luò)組件信息安全區(qū)、隔離區(qū)、不可靠區(qū)。
5)確保身份管理和防止設(shè)備欺詐。儀控系統(tǒng)的入侵多是由于無意或不當(dāng)操作導(dǎo)致,如員工使用移動存儲設(shè)備時引入了蠕蟲或木馬。因此,為確保區(qū)域內(nèi)的信息安全,必須對接入點進(jìn)行認(rèn)證和健康檢查。
6)設(shè)立安全遠(yuǎn)程訪問。為最小化遠(yuǎn)程訪問使用不當(dāng)以及可能帶來的危害,使用者必須被限制,且使用者只能使用特定的經(jīng)過授權(quán)的功能。
7)監(jiān)控和匯報。一旦定義了訪問規(guī)則,防火墻、交換機和入侵檢測設(shè)備將執(zhí)行這些規(guī)則,同時作為監(jiān)控站來記錄任何違反規(guī)則的情況。
8)文件防篡改。使用特征碼標(biāo)注等防篡改措施保存代碼和數(shù)據(jù)文件,確保已歸入版本管理的文件不被惡意篡改或替換。
9)針對系統(tǒng)軟件,實行安全防范分析和安全防范設(shè)計,分析軟件潛在的信息安全威脅,要考慮到系統(tǒng)和軟件安全生命周期相關(guān)階段的各個方面,制定信息安全保護(hù)計劃。信息安全保護(hù)計劃應(yīng)保證引入的軟件能最大限度地減少系統(tǒng)的薄弱環(huán)節(jié)。
在DCS系統(tǒng)的研發(fā)過程中,驗證與確認(rèn)工作貫穿始終,除確保系統(tǒng)軟硬件的功能正確性之外,保障軟件研發(fā)過程中的信息安全也是驗證與確認(rèn)流程中至關(guān)重要的一環(huán)[2]。利用信息安全分析的技術(shù)手段,按照安全類標(biāo)準(zhǔn)和導(dǎo)則的相關(guān)要求,從軟件開發(fā)環(huán)境的保護(hù)、項目配置管理、對經(jīng)過V&V的軟件代碼進(jìn)行標(biāo)識、加強調(diào)試過程中的代碼修改管理4個方面著手,制定并實施詳盡的信息安全保障措施。
軟件開發(fā)環(huán)境的安全與所開發(fā)DCS系統(tǒng)的信息安全直接相關(guān),DCS系統(tǒng)軟件開發(fā)所需使用的每一臺設(shè)備都做到了與互聯(lián)網(wǎng)物理隔絕,每個開發(fā)人員必須使用專有的Key配合密碼口令才能打開和使用開發(fā)設(shè)備,并且對于Key的保護(hù)和密碼口令的更換周期都做了嚴(yán)格的規(guī)定。同時嚴(yán)禁在任何情況下將未經(jīng)上級審批的移動存儲介質(zhì)與開發(fā)設(shè)備相連接,包括但不限于各類手機、U盤、光盤和移動硬盤等,并利用后臺掃描軟件時刻監(jiān)視記錄每臺開發(fā)設(shè)備外部接口的連接狀況,從源頭上杜絕了外部惡意軟件和代碼刻意或偶然進(jìn)入DCS系統(tǒng)軟件的開發(fā)環(huán)境中。
為便于項目團(tuán)隊內(nèi)部的技術(shù)交流和文件傳遞,日常工作中的常用主機都與單位的內(nèi)網(wǎng)連接,該內(nèi)網(wǎng)同樣通過技術(shù)手段與外部互聯(lián)網(wǎng)相隔開,并有專業(yè)團(tuán)隊對內(nèi)網(wǎng)的信息安全狀態(tài)作實時而嚴(yán)格的管控。即便是在DCS項目團(tuán)隊內(nèi)部進(jìn)行文件或代碼傳遞,也需要在傳遞之前標(biāo)注文件的密級、傳遞目標(biāo)和傳遞用途,經(jīng)過項目上級管理團(tuán)隊的核查審批后方能從一臺設(shè)備傳遞到另一臺設(shè)備。除此之外,DCS系統(tǒng)由嵌入式結(jié)構(gòu)設(shè)計構(gòu)成,單板調(diào)試環(huán)節(jié)必不可少?;趦?nèi)網(wǎng)主機不可與外部設(shè)備相聯(lián)接的要求,項目團(tuán)隊配備了專門用于單板調(diào)試的單機。這類單機不與任何網(wǎng)絡(luò)相聯(lián)接,僅用于聯(lián)接單板調(diào)試。
在開發(fā)工具的選擇上,DCS系統(tǒng)的開發(fā)人員只能使用經(jīng)過嚴(yán)格審查獲得批準(zhǔn)的正版軟件,避免了木馬、蠕蟲等惡意代碼藏身于工具進(jìn)入軟件開發(fā)環(huán)境,危及信息安全。
配置管理是提升項目開發(fā)管理效率的必要方法,也是保障系統(tǒng)信息安全的重要手段,嚴(yán)格到位的配置管理可以有效地防止已經(jīng)通過安全驗證的配置項被隨意改動,帶來信息安全隱患。
DCS系統(tǒng)開發(fā)項目團(tuán)隊制定了詳盡的配置管理計劃,并配備有專門的配置管理人員。配置管理人員需要為每一個進(jìn)入配置管理階段的配置項進(jìn)行唯一性標(biāo)識,詳細(xì)記錄下標(biāo)識時的各種狀態(tài)屬性信息。此后每一次改動都將更新標(biāo)識,一旦發(fā)生預(yù)期之外的改動便可及時發(fā)現(xiàn)。
配置管理人員還負(fù)責(zé)為每一個項目工作人員分配不同的配置管理權(quán)限,通常一個開發(fā)人員只能對自己承擔(dān)開發(fā)的那部分軟硬件代碼或設(shè)計文件等配置項進(jìn)行修改和保存。而即便是對自己編寫的代碼配置項進(jìn)行修改,在登錄修改之前也必須經(jīng)過組合方式的權(quán)限認(rèn)證,包括但不限于密碼、鑰匙、識別卡、指紋等識別方式。
為了避免軟件代碼中留有“后門”等可能造成重大信息安全威脅的漏洞,利用V&V方法對軟件功能與需求的一致性做了非常細(xì)致的分析確認(rèn)。每一個軟件功能需求說明書中羅列出的功能都必須在編寫的代碼中得以正確實現(xiàn),同樣的,代碼具備的任一功能都必須可以反向追溯到功能需求說明書的描述中,只有這種實現(xiàn)功能與需求說明一一對應(yīng)的代碼才被認(rèn)為是有效代碼,才能進(jìn)入配置管理階段。
盡管嚴(yán)格的配置管理措施已經(jīng)可以在很大程度上保障了軟件配置項的信息安全,但如果有人刻意為之,利用破譯或盜取配置管理權(quán)限等方式惡意修改配置項的內(nèi)容或標(biāo)識,仍是難以防范。為此利用防篡改技術(shù)手段,對經(jīng)過V&V的軟件代碼采取MD5特征碼等防篡改措施,保證DCS系統(tǒng)采用的軟件代碼與通過驗證的代碼之間的一致性,防止被惡意更改或替換。
任何代碼經(jīng)過V&V之后,在進(jìn)入配置管理庫配置標(biāo)識的同時,還將利用特定的防篡改措施產(chǎn)生一個特征碼。該特征碼是由軟件代碼中的全體字符通過一系列復(fù)雜的計算而成,如果有人刻意對配置庫的代碼進(jìn)行了任意字符的修改,其修改后代碼的特征碼都將不同于原特征碼,使相關(guān)人員能夠輕易發(fā)現(xiàn)被惡意篡改的代碼和文件,從而保護(hù)了DCS系統(tǒng)軟件的信息安全。
對于任何規(guī)模稍大的軟件開發(fā)過程來說,調(diào)試修改都是最費時費力的階段。此階段各部分代碼都將被頻繁修改,而任何一次修改都可能給DCS系統(tǒng)的信息安全埋下隱患。同時,開發(fā)人員在對代碼進(jìn)行修改時,很可能因為之前的代碼已經(jīng)通過了信息安全驗證而放松警惕,因此加強在調(diào)試修改過程中的代碼修改管理顯得尤為重要。
短期內(nèi)大量反復(fù)的軟件代碼修改使得單純使用配置管理措施來保障軟件配置項的信息安全變得既繁瑣又效率低下,頻繁的配置管理入庫操作也可能使得配置管理人員發(fā)生不可預(yù)知的失誤。為此,在DCS系統(tǒng)軟件的調(diào)試修改階段,規(guī)定了任何開發(fā)人員都不得將調(diào)試設(shè)備中的代碼直接入庫,必須對修改后的代碼執(zhí)行嚴(yán)格V&V流程,確保新代碼在功能上和信息安全性上,既沒有引入新的隱患,也沒有丟失之前正確的部分,才能進(jìn)入配置管理庫并打上新的標(biāo)識。這樣既避免了因頻繁修改代碼帶來的配置管理工作量大增的問題,也極大地保障了DCS系統(tǒng)軟件開發(fā)在全流程中的信息安全。
在當(dāng)前信息安全上升到國家安全的形勢下,核電廠DCS系統(tǒng)作為核安全的重要組成部分,不管是其研發(fā)過程中還是運行時的信息安全,都得到了越來越多的重視。上述信息安全保護(hù)策略在DCS系統(tǒng)軟件開發(fā)過程中的制定和嚴(yán)格執(zhí)行,保障了DCS系統(tǒng)研發(fā)工作安全高效的持續(xù)推進(jìn),取得了核電DCS系統(tǒng)研發(fā)過程中信息安全“零事故”的成績,為DCS系統(tǒng)能夠成功研制并實現(xiàn)多功能、高性能、高安全性的目標(biāo)要求起到了堅實的支撐作用。但是這還遠(yuǎn)遠(yuǎn)不夠,應(yīng)該按照國家發(fā)布的信息安全等級保護(hù)要求,結(jié)合DCS系統(tǒng)生命周期模型,在不同的階段采取針對性的措施,切實提高信息安全防范技術(shù)水平,防范類似“震網(wǎng)”事件在我國的出現(xiàn),為我國的核安全作出應(yīng)盡貢獻(xiàn)。