向強(qiáng)銘,張文韜,夏國(guó)強(qiáng),張 鵬,陳超群,邢本福
(1.中國(guó)長(zhǎng)江電力股份有限公司,湖北 宜昌 443133;2.北京中水科水電科技開發(fā)有限公司,北京 100038)
在復(fù)雜的安全形勢(shì)下,電力系統(tǒng)等關(guān)系到國(guó)家命脈的關(guān)鍵基礎(chǔ)設(shè)施已成為敵對(duì)國(guó)家和恐怖分子的重要襲擊目標(biāo)。大型水電站作為國(guó)家關(guān)鍵基礎(chǔ)設(shè)施,一旦發(fā)生網(wǎng)絡(luò)安全事故,不法分子對(duì)水電站計(jì)算機(jī)監(jiān)控系統(tǒng)進(jìn)行破壞攻擊,甚至獲取水電站的控制權(quán),將嚴(yán)重影響電力系統(tǒng)安全穩(wěn)定運(yùn)行,因此提升水電站監(jiān)控系統(tǒng)安全防護(hù)能力刻不容緩[1]。按照能源行業(yè)監(jiān)控系統(tǒng)網(wǎng)絡(luò)層級(jí)職責(zé)劃分,現(xiàn)地控制層LCU 直接采集水輪發(fā)電機(jī)組主輔設(shè)備狀態(tài),對(duì)現(xiàn)地層設(shè)備進(jìn)行精確控制,同時(shí)與廠站層進(jìn)行通信,將采集的機(jī)組數(shù)據(jù)上送至廠站并接收廠站層下發(fā)的控制與調(diào)節(jié)命令。LCU 作為水電站監(jiān)控系統(tǒng)的重要組成部分,其核心裝置PLC 的實(shí)時(shí)處理能力與安全防護(hù)水平將決定著水電站的安全穩(wěn)定運(yùn)行。
水電站傳統(tǒng)的安全防護(hù)策略為“重邊界、輕內(nèi)部”,導(dǎo)致內(nèi)部信息系統(tǒng)和網(wǎng)絡(luò)較為脆弱,計(jì)算環(huán)境不可信,信息安全缺乏深度保障。同時(shí),PLC 為保證其實(shí)時(shí)性要求,往往缺少安全防護(hù)措施,其自身安全防護(hù)能力低,無(wú)法抵御外部非授權(quán)方式進(jìn)入,篡改控制命令,改變信號(hào)狀態(tài)等,存在較大安全隱患[2]?;诳尚庞?jì)算3.0 技術(shù)的可信PLC 是構(gòu)建新一代主動(dòng)免疫的水電廠網(wǎng)絡(luò)安防體系的重要基礎(chǔ)設(shè)施,其對(duì)PLC 硬件結(jié)構(gòu)、嵌入式操作系統(tǒng)、應(yīng)用軟件及網(wǎng)絡(luò)連接等多方面進(jìn)行安全防護(hù),在不影響業(yè)務(wù)連續(xù)性的前提下,增強(qiáng)電力監(jiān)控系統(tǒng)安全免疫能力[3]。本文對(duì)基于安全可信PLC 的水電站監(jiān)控系統(tǒng)設(shè)計(jì)、實(shí)時(shí)性能和防護(hù)策略進(jìn)行了研究。
目前,我國(guó)的大型、巨型水電站計(jì)算機(jī)監(jiān)控系統(tǒng)多采用開放分布式體系結(jié)構(gòu)設(shè)計(jì),即整體上劃分為廠站層和現(xiàn)地控制層,功能單元分布配置、冗余配置。一般而言,廠站層系統(tǒng)由SCADA 主機(jī)、對(duì)時(shí)系統(tǒng)、歷史數(shù)據(jù)服務(wù)器、操作員站、工程師站、調(diào)度通信服務(wù)器等組成;現(xiàn)地層由多臺(tái)機(jī)組LCU 組成,LCU內(nèi)部采用環(huán)形以太網(wǎng)結(jié)構(gòu)部署CPU 與遠(yuǎn)程子站,增強(qiáng)現(xiàn)地層可靠性。廠站層與現(xiàn)地層構(gòu)成星型千兆以太網(wǎng),通過(guò)冗余配置的信息網(wǎng)、控制網(wǎng)交換機(jī)連接,當(dāng)主用網(wǎng)絡(luò)故障時(shí),能自動(dòng)切換至備用網(wǎng)絡(luò)。
基于安全可信PLC 的水電站監(jiān)控系統(tǒng)在設(shè)計(jì)上應(yīng)大體滿足上述理念,但存在兩個(gè)難點(diǎn)亟待解決:①如何實(shí)現(xiàn)對(duì)可信PLC 的有效統(tǒng)一管理,由于可信系統(tǒng)由可信硬件板卡、可信軟件基及可信管理端構(gòu)成,故要為PLC 安裝可信板卡,并以嵌入式編程的形式配置可信軟件基,在廠站層須增設(shè)部署可信管理軟件的可信管理服務(wù)器。在可信管理軟件的功能設(shè)計(jì)上,應(yīng)充分考慮權(quán)限最小原則,針對(duì)每一機(jī)組PLC 能獨(dú)立開啟、關(guān)閉可信功能。②如何保證可信PLC 的性能滿足生產(chǎn)需要,由于PLC 配置了可信功能,CPU 在運(yùn)行過(guò)程中將耗費(fèi)部分算力進(jìn)行主動(dòng)度量,其內(nèi)存空間、存儲(chǔ)空間也將受到一定程度的占用。如果無(wú)法解決算力問(wèn)題,PLC 的內(nèi)部處理、通信服務(wù)、輸入處理、程序處理、輸出處理等功能無(wú)法滿足實(shí)時(shí)性要求,則電站正常生產(chǎn)運(yùn)營(yíng)無(wú)法獲得保障。
圖1 基于安全可信PLC 的水電站監(jiān)控系統(tǒng)結(jié)構(gòu)
目前,較為切實(shí)可行的方法是在可信板卡集成獨(dú)立芯片用于可信計(jì)算,有效減少CPU 的算力負(fù)載。由于北京可信華泰信息技術(shù)有限公司的“白細(xì)胞”系列可信產(chǎn)品具有類似設(shè)計(jì)思路,后文將結(jié)合國(guó)產(chǎn)大型PLC 對(duì)其進(jìn)行實(shí)時(shí)性研究。
安全可信PLC 控制系統(tǒng)可信體系基于PLC 嵌入式可信執(zhí)行環(huán)境,由嵌入式可信硬件、可信操作系統(tǒng)、可信應(yīng)用層構(gòu)成,在嵌入式系統(tǒng)高實(shí)時(shí)、低功耗、資源受限情況下實(shí)現(xiàn)可信計(jì)算和正常的邏輯運(yùn)算。S.CTG 系列普通型PLC 已于2022 年在某電站700 MW 混流式機(jī)組LCU 進(jìn)行了示范應(yīng)用,經(jīng)長(zhǎng)期運(yùn)行檢驗(yàn),設(shè)備運(yùn)行可靠,本文選擇其同系列產(chǎn)品配置可信產(chǎn)品組成安全可信PLC,并對(duì)可信PLC 的實(shí)時(shí)性能進(jìn)行研究。參考GB/T 36009-2018《可編程控制器性能評(píng)定方法》,本文對(duì)PLC 系統(tǒng)最快響應(yīng)時(shí)間、循環(huán)掃描周期以及上下位機(jī)通信進(jìn)行測(cè)試。
系統(tǒng)最快響應(yīng)時(shí)間為輸入模塊響應(yīng)時(shí)間、循環(huán)掃描周期和輸出模塊響應(yīng)時(shí)間總和,針對(duì)S.CTG 普通型和可信型PLC 各搭建測(cè)試環(huán)境,包含CPU、DI和DO 模塊的最快配置測(cè)試系統(tǒng),編寫測(cè)試程序,將程序的控制周期設(shè)置為可實(shí)現(xiàn)最快響應(yīng)時(shí)間的模式,從示波器輸出方波電壓信號(hào),接入DI 模塊,在程序中將該DI 點(diǎn)賦值到DO 點(diǎn)并將DO 信號(hào)接入示波器,記錄并測(cè)試DI 高低電平轉(zhuǎn)換時(shí)刻跳變沿之間的時(shí)間長(zhǎng)度。重復(fù)測(cè)試20 次以消除隨機(jī)情況干擾,測(cè)試的結(jié)果如表1 所示。
表1 可信PLC 與普通型PLC 系統(tǒng)響應(yīng)測(cè)試時(shí)間表
從表1 中可知,可信型PLC 系統(tǒng)最快響應(yīng)時(shí)間為79 ms,平均時(shí)間為93.65 ms,普通型PLC 系統(tǒng)最快響應(yīng)時(shí)間為70 ms,平均時(shí)間為89.25 ms,可信型PLC 平均系統(tǒng)響應(yīng)時(shí)間相比普通型PLC 系統(tǒng)響應(yīng)時(shí)間長(zhǎng)4.9%。
搭建相同IO 配置的普通型PLC 和可信PLC 測(cè)試系統(tǒng),兩套PLC 運(yùn)行同一應(yīng)用程序,通過(guò)PLC 編程軟件連接PLC 查看狀態(tài)字%SW0032。普通型PLC掃描周期為30 ms,可信型PLC 掃描周期為32 ms,安全可信PLC循環(huán)掃描周期相比普通型PLC有所延長(zhǎng)。
為檢驗(yàn)安全可信型PLC 與上位機(jī)通信速度,在現(xiàn)地層LCU 上運(yùn)行機(jī)組LCU 程序進(jìn)行了全面檢驗(yàn)測(cè)試,包括IO 采樣周期、響應(yīng)速度測(cè)試、人機(jī)聯(lián)系、時(shí)間同步、雙CPU 切換試驗(yàn),測(cè)試結(jié)果見表2。
表2 安全可信PLC 實(shí)時(shí)性能綜合測(cè)試
從上述測(cè)試可以看出,可信型PLC 雖然因可信計(jì)算占用了部分CPU 資源,導(dǎo)致其性能相較普通型PLC 有所下降,但其總體性能仍滿足水電站計(jì)算機(jī)監(jiān)控系統(tǒng)的要求。
現(xiàn)大多水電站各LCU 的PLC 處于同一網(wǎng)段,RIO 子站遍布全廠關(guān)鍵位置,通過(guò)安裝有PLC 編程軟件的設(shè)備在任一LCU 的主備PLC 通信網(wǎng)口或現(xiàn)地交換機(jī)可不受限制訪問(wèn)其他LCU 的PLC,或在LCU內(nèi)部任一RIO 子站的通信網(wǎng)口可不受限制訪問(wèn)本套LCU 的PLC,存在一定的安全隱患,同時(shí)LCU 日常運(yùn)維需要對(duì)PLC 軟件進(jìn)行頻繁的優(yōu)化和升級(jí),因此,安全可信PLC 應(yīng)用于水電站監(jiān)控系統(tǒng)在防護(hù)策略的設(shè)計(jì)上應(yīng)結(jié)合水電站實(shí)際情況進(jìn)行設(shè)計(jì),既能滿足安全防護(hù)需要,又要滿足日常運(yùn)維需要。根據(jù)安全可信PLC 系統(tǒng)結(jié)構(gòu),對(duì)其防護(hù)策略從啟動(dòng)度量、動(dòng)態(tài)度量、軟件升級(jí)和訪問(wèn)控制進(jìn)行設(shè)計(jì)和功能實(shí)現(xiàn)。
在可信PLC 啟動(dòng)時(shí),通過(guò)可信機(jī)制逐級(jí)校驗(yàn)每個(gè)啟動(dòng)階段的完整性,可信機(jī)制首先進(jìn)行自身安全診斷,然后進(jìn)行PLC 的計(jì)算環(huán)境檢測(cè),并對(duì)PLC 的業(yè)務(wù)模塊進(jìn)行檢測(cè),度量失敗阻斷系統(tǒng)繼續(xù)執(zhí)行,在發(fā)現(xiàn)系統(tǒng)內(nèi)核度量失敗后,維護(hù)人員輸入口令進(jìn)行認(rèn)證,即可繼續(xù)執(zhí)行[4]。本部分對(duì)普通型PLC 和可信型PLC 上電直至PLC 業(yè)務(wù)正常運(yùn)行所消耗的時(shí)間分別進(jìn)行了100 次測(cè)試試驗(yàn),其啟動(dòng)時(shí)間消耗頻數(shù)直方圖如圖2 所示。
圖2 可信型PLC 與普通型PLC 啟動(dòng)時(shí)間直方圖
從圖2 可以看出,可信型PLC 啟動(dòng)度量過(guò)程所消耗的時(shí)間比普通型PLC 啟動(dòng)消耗的時(shí)間有所增加,但由于PLC 均有熱備冗余,且日常維護(hù)不涉及PLC 啟停操作,其不影響監(jiān)控系統(tǒng)的正常運(yùn)行。
動(dòng)態(tài)度量是在系統(tǒng)運(yùn)行過(guò)程中,通過(guò)條件觸發(fā)和周期觸發(fā)的方式對(duì)內(nèi)存中的關(guān)鍵信息實(shí)時(shí)主動(dòng)度量,監(jiān)控系統(tǒng)運(yùn)行狀態(tài)、進(jìn)程狀態(tài),通過(guò)條件觸發(fā)和周期方式對(duì)系統(tǒng)進(jìn)程、模塊、執(zhí)行代碼段等關(guān)鍵信息進(jìn)行監(jiān)視和度量,并支持異常報(bào)警[5]。主要度量對(duì)象包括:程序代碼段、系統(tǒng)調(diào)用的完整性、系統(tǒng)調(diào)用表等。動(dòng)態(tài)度量是在系統(tǒng)運(yùn)行過(guò)程中,通過(guò)條件觸發(fā)和周期觸發(fā)的方式按動(dòng)態(tài)度量策略進(jìn)行可信驗(yàn)證,從而進(jìn)一步提高了PLC 的安全性和可靠性。根據(jù)第三方的測(cè)試報(bào)告,可信計(jì)算部件在PLC 正常運(yùn)行過(guò)程中,對(duì)CPU的占用率小于5%,對(duì)業(yè)務(wù)的時(shí)間影響小于6%。
水電站監(jiān)控系統(tǒng)時(shí)常因監(jiān)控的外部設(shè)備變化,需對(duì)PLC 程序進(jìn)行升級(jí),為滿足日常運(yùn)行運(yùn)維需要,在可信管理終端設(shè)置軟件升級(jí)軟開關(guān),在設(shè)備正常運(yùn)行時(shí)將軟開關(guān)關(guān)閉,避免非法外聯(lián)惡意篡改程序和下發(fā)惡意指令,維護(hù)人員在需要修改程序時(shí)將軟件升級(jí)軟開關(guān)打開,對(duì)安全可信PLC 控制程序進(jìn)行升級(jí)。
針對(duì)現(xiàn)水電站存在任一調(diào)試筆記本可連接至現(xiàn)地LCU 主備PLC 的情況,在可信管理終端進(jìn)行訪問(wèn)控制設(shè)計(jì),只有加入到白名單的調(diào)試筆記本在通過(guò)用戶身份進(jìn)行可信確認(rèn)后才能與PLC 進(jìn)行連接,同時(shí)對(duì)PLC不同程序段自定義其訪問(wèn)策略,包括:讀、讀寫等操作,只有具有讀寫操作的程序段才能進(jìn)行程序修改。
本文針對(duì)水電站計(jì)算機(jī)監(jiān)控系統(tǒng)安全防護(hù)的薄弱環(huán)節(jié),研究并設(shè)計(jì)了基于安全可信PLC 的計(jì)算機(jī)監(jiān)控系統(tǒng),對(duì)可信PLC 實(shí)時(shí)性能進(jìn)行研究測(cè)試,同時(shí)對(duì)安全防護(hù)策略進(jìn)行設(shè)計(jì),保證了監(jiān)控系統(tǒng)的主動(dòng)防御。本研究對(duì)安全可信PLC 在水電站計(jì)算機(jī)監(jiān)控系統(tǒng)中的推廣及應(yīng)用,具有一定指導(dǎo)意義。