谷鵬飛,劉子寅,席 望,黃偉軍
(1.中廣核工程有限公司設(shè)計(jì)院,廣東 深圳 518124;2.哈爾濱工程大學(xué),哈爾濱 150000)
控制系統(tǒng)是整個核電廠的“中樞神經(jīng)”系統(tǒng),它對確保核電廠的安全、經(jīng)濟(jì)運(yùn)行起著至關(guān)重要的作用,是核電站的關(guān)鍵技術(shù)和設(shè)備。信息系統(tǒng)作為核電站的重要組成部分,是支持核電廠生產(chǎn)、運(yùn)營管理、專家診斷、事故下應(yīng)急決策的關(guān)鍵系統(tǒng),對核電廠運(yùn)行安全和業(yè)績的提升起到重要作用。
20世紀(jì)六七十年代,世界各國核電廠的控制系統(tǒng)主要采用的是模擬技術(shù)儀控系統(tǒng),它主要基于模擬技術(shù),通過分立元件或者模擬集成電路以硬接線的方式實(shí)現(xiàn)控制顯示功能。模擬技術(shù)儀控系統(tǒng)經(jīng)過長時間的應(yīng)用與研究,在設(shè)計(jì)和應(yīng)用方面已經(jīng)積累了豐富的經(jīng)驗(yàn),此外其具有響應(yīng)速度快,設(shè)備的檢驗(yàn)和分析鑒定相對簡單,設(shè)計(jì)制造成本較低等優(yōu)點(diǎn),而且系統(tǒng)的可靠性和安全性也能滿足要求,所以世界各國大多數(shù)在運(yùn)行的核電站直至本世紀(jì)初仍然使用模擬技術(shù)儀控系統(tǒng)。
隨著近20年來控制和信息技術(shù)的日益成熟,加之用戶對控制功能和管理需求的提升,以及核電二代加、三代甚至四代堆型的推出,數(shù)字化儀控系統(tǒng)開始全面進(jìn)入核電應(yīng)用,在各新建、預(yù)建和改造的核電項(xiàng)目中都采用數(shù)字化儀控平臺,在絕大多數(shù)項(xiàng)目中安全系統(tǒng)也采用數(shù)字化技術(shù),從而實(shí)現(xiàn)全數(shù)字化儀控系統(tǒng)。
數(shù)字化儀控系統(tǒng)(DCS)與傳統(tǒng)的模擬式控制系統(tǒng)相比,系統(tǒng)運(yùn)行更加安全、可靠,系統(tǒng)的適應(yīng)性、靈活性和可擴(kuò)充性強(qiáng),可以實(shí)現(xiàn)信息的在線性與實(shí)時性。同時,還減少控制室面積,減少運(yùn)行、檢修人員工作量,結(jié)合更多的智能型終端設(shè)備,可以節(jié)約控制電纜。
數(shù)字化儀控系統(tǒng)的采用在具有極大優(yōu)越性的同時,也帶來了一些新的問題,尤其是如何確保軟件能完整地、正確地滿足預(yù)期的安全功能和性能要求,即確保軟件不出現(xiàn)失效的情況。軟件的失效容易產(chǎn)生共因故障,從而導(dǎo)致核電站整個保護(hù)系統(tǒng)的失效,使得儀控系統(tǒng)的停堆功能和專設(shè)功能不能有效地被執(zhí)行,進(jìn)而危及核電站的安全。
由于軟件的可靠性數(shù)據(jù)難以采集,失效模式無法像硬件失效那樣分門別類,這些都給軟件失效分析與評價(jià)工作帶來了巨大的挑戰(zhàn)。因此,軟件失效分析與評價(jià)工作還處于研究之中。
相比而言,對于軟件功能可以通過軟件驗(yàn)證和確認(rèn)(V&V)[1,2]進(jìn)行保障,但是在核電領(lǐng)域,針對軟件安全性[3]分析的工作還處于起步階段,正在逐漸引起高度重視。
2010年10月,伊朗遭受Stuxnet病毒的攻擊,導(dǎo)致布什爾核電站推遲發(fā)電。Stuxnet蠕蟲病毒是世界上首個專門針對工業(yè)控制系統(tǒng)編寫的破壞性病毒,能夠利用對Windows系統(tǒng)和西門子SIMATIC WinCC系統(tǒng)的7個漏洞進(jìn)行攻擊。由于該系統(tǒng)在國內(nèi)的多個重要行業(yè)應(yīng)用廣泛,被用來進(jìn)行鋼鐵、電力、能源、化工等重要行業(yè)的人機(jī)交互與監(jiān)控。據(jù)研究,通過U盤傳播,該病毒可以改變離心機(jī)的轉(zhuǎn)速從而破壞離心機(jī),并向控制臺仍發(fā)出離心機(jī)工作正常的信號。
由于許多隱蔽性強(qiáng)的或非多發(fā)性的錯誤很難被設(shè)計(jì)人員察覺,僅僅依靠設(shè)計(jì)技術(shù)的改進(jìn)仍然不足以解決安全性問題,這就需要一套嚴(yán)格的安全性分析程序和安全性分析方法,如結(jié)合軟件V&V的工作,以預(yù)防安全事故發(fā)生或在發(fā)生事故時減少危害程度,軟件安全性分析的意義和價(jià)值正在于此。
隨著數(shù)字化技術(shù)逐漸在核電站的應(yīng)用,核電領(lǐng)域安全級軟件的V&V工作受到廣泛的關(guān)注,尤其是針對安全級數(shù)字化儀控系統(tǒng)的軟件V&V。核電站安全級數(shù)字化儀控系統(tǒng)的軟件V&V是保證安全級數(shù)字化儀控系統(tǒng)安全性和可靠性的必要環(huán)節(jié),通過V&V全流程驗(yàn)證的軟件才能確保其安全級數(shù)字化儀控系統(tǒng)的安全性和可靠性,安全級數(shù)字化儀控系統(tǒng)才能被允許應(yīng)用到核電站工程,如圖1所示。
圖1 核電站安全級數(shù)字化儀控系統(tǒng)的軟件V&V流程Fig.1 V&V of safety class digital I&C system in NPP
核電站安全級數(shù)字化儀控系統(tǒng)軟件的V&V活動為保證其有效性,必須遵循國內(nèi)HAF 102-2004[3]、HAD 102/16-2004[4]等核安全法規(guī)和導(dǎo)則的要求,同時滿足IEC 60880-2006[5]、IEEE 7-4.3.2-2010[6]等核安全標(biāo)準(zhǔn)的要求。在V&V執(zhí)行過程和V&V方法上,選擇IEEE 1012-2012[7]作為主要指導(dǎo)標(biāo)準(zhǔn)。
從實(shí)際執(zhí)行來看,IEEE 1012規(guī)定了V&V每個階段所要驗(yàn)證和確認(rèn)的內(nèi)容,也涉及到軟件的危害性、風(fēng)險(xiǎn)性分析,但并沒有把軟件安全性分析納入各階段的工作內(nèi)容,如圖2所示。
根據(jù)軟件開發(fā)的生命周期模型,后續(xù)核電站關(guān)鍵軟件的V&V工作應(yīng)逐步考慮開展軟件安全性分析工作,具體可以按照下列步驟進(jìn)行。
在概念V&V階段,應(yīng)該確認(rèn)軟件安全性等級,并制定相關(guān)的工作計(jì)劃(可以納入V&V工作大綱)。軟件安全性等級的不同,對于軟件的要求也不同,對于核電站安全級數(shù)字化儀控系統(tǒng),應(yīng)該按照高等級的要求來執(zhí)行。
在需求V&V階段,應(yīng)該獲取軟件安全性的相關(guān)需求,并驗(yàn)證軟件安全性需求的正確性、一致性等內(nèi)容。軟件安全性需求也應(yīng)該納入軟件V&V的需求矩陣一并進(jìn)行跟蹤確認(rèn)。
在軟件設(shè)計(jì)階段,應(yīng)該進(jìn)行軟件安全性分析,并對安全性進(jìn)行驗(yàn)證。這里的安全性驗(yàn)證主要是針對設(shè)計(jì)方案的安全性進(jìn)行驗(yàn)證。
在軟件實(shí)現(xiàn)階段,應(yīng)根據(jù)軟件安全性需求驗(yàn)證代碼是否達(dá)到了預(yù)期的安全性要求。對于代碼的安全性驗(yàn)證,需要在設(shè)計(jì)代碼測試用例時考慮安全性的需求。
在軟件集成測試階段,應(yīng)通過仿真的方式對軟件的安全性進(jìn)行功能測試。功能測試是黑盒測試,需要借助于一定的工具來執(zhí)行。
隨著信息化技術(shù)的日益發(fā)展,軟件安全性分析工作必將越來越重要。本文所闡述的方法不僅適用于核電站安全級數(shù)字化儀控系統(tǒng)軟件,也適用于核電站其他關(guān)鍵設(shè)備軟件的安全分析工作,對于非核項(xiàng)目也具有很好的通用性。
圖2 核電站安全級數(shù)字化儀控系統(tǒng)的軟件安全性分析流程Fig.2 Software safety analysis of safety class digital I&C system in NPP