上海核工程研究設(shè)計院有限公司 常簫 鄭威 毛磊 馬駿 張淑慧
由于核電廠儀控系統(tǒng)網(wǎng)絡(luò)環(huán)境存在高實時性、高可靠性的要求,核電儀控設(shè)備應(yīng)用信息安全控制手段存在成本高、效果低的問題,此外“震網(wǎng)”病毒揭示了網(wǎng)絡(luò)攻擊是如何從網(wǎng)絡(luò)蔓延至工藝,并造成了嚴(yán)重的損失,因此核電儀控設(shè)備需要行之有效的信息安全防護(hù)措施。本文從攻擊者的角度出發(fā),以風(fēng)險指引為基礎(chǔ),使用殺傷鏈模型進(jìn)行攻擊建模,結(jié)合核電儀控設(shè)備的保護(hù)輪廓模型,形成有效的信息安全控制手段應(yīng)用模型。
由于核電儀控環(huán)境對網(wǎng)絡(luò)的高要求,核電儀控設(shè)備應(yīng)用信息安全控制手段存在成本高、效果低的問題:(1)工藝參數(shù)刷新達(dá)毫秒級,無法容忍高時延—對網(wǎng)絡(luò)流量的加密速率要求極高;(2)DCS系統(tǒng)、PLC/控制器使用私有協(xié)議和工控協(xié)議—需要針對性的協(xié)議解析,安全產(chǎn)品難以支持;(3)數(shù)據(jù)流向復(fù)雜,設(shè)備涉及廠家繁多—難以制定和維護(hù)訪問控制策略;(4)儀控設(shè)備長時間持續(xù)運(yùn)行—周期性系統(tǒng)更新和漏洞修補(bǔ),漏洞長時間暴露;(5)智能儀表、PLC/控制器采用簡單的嵌入式設(shè)備—缺乏完善的安全防護(hù)策略和功能,廠家不具備修復(fù)漏洞的動力;(6)網(wǎng)絡(luò)邊界模糊,存在易被接觸的邊緣設(shè)備—網(wǎng)絡(luò)情況復(fù)雜,難以盤查及防護(hù)邊緣設(shè)備。
目前電力行業(yè)儀控系統(tǒng)的網(wǎng)絡(luò)安全架構(gòu)設(shè)計中,通常依據(jù)《電力監(jiān)控系統(tǒng)安全防護(hù)總體方案》,設(shè)置“安全分區(qū)、網(wǎng)絡(luò)專用、橫向隔離、縱向認(rèn)證”,依據(jù)電廠的安全功能劃分不同的區(qū)域,使用單向隔離裝置控制區(qū)域之間的數(shù)據(jù)流向,使得不同區(qū)域之間的網(wǎng)絡(luò)邊界收束為有限接口。
但目前架構(gòu)中,仍存在以下問題[1-4]:
(1)核電儀控系統(tǒng)邊界防護(hù)能力薄弱。核電儀控系統(tǒng)的主機(jī)工控衛(wèi)士通常只支持有限的操作系統(tǒng),如Windows、Centos和Ubuntu等,可以部署在工程師站、操作員站、數(shù)據(jù)鏈服務(wù)器等設(shè)備上,但對于嵌入式系統(tǒng)如PLC/控制器、智能儀表等難以部署主機(jī)工控衛(wèi)士,至于無系統(tǒng)邊緣數(shù)字設(shè)備更無法部署主機(jī)工控衛(wèi)士。針對儀控系統(tǒng)來說,眾多的接入終端難以納入管控,邊界呈現(xiàn)模糊狀態(tài)。
(2)核電儀控系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)脆弱。核電儀控系統(tǒng)網(wǎng)絡(luò)通常為冗余網(wǎng)絡(luò),保障部分網(wǎng)絡(luò)結(jié)構(gòu)故障時可以切換至另一張網(wǎng)。所有的服務(wù)器和控制器/PLC均掛載在同一網(wǎng)絡(luò)內(nèi),網(wǎng)絡(luò)內(nèi)未進(jìn)行區(qū)域劃分和訪問控制。該網(wǎng)絡(luò)結(jié)構(gòu)對于攻擊者而言,任何一臺失陷儀控設(shè)備均可達(dá)其他所有儀控設(shè)備,網(wǎng)絡(luò)內(nèi)沒有能力阻止信息安全攻擊橫向移動。同時雙環(huán)網(wǎng)意味著單臺失陷設(shè)備可向任意IP發(fā)送拒絕服務(wù)攻擊,使得網(wǎng)絡(luò)擁塞,而維修人員無法通過單純的替換設(shè)備而恢復(fù)網(wǎng)絡(luò)處理能力。
(3)信息安全設(shè)備性價比低。在傳統(tǒng)網(wǎng)絡(luò)中,入侵檢測設(shè)備通常用于區(qū)域之間進(jìn)行流量解析、行為分析,其網(wǎng)絡(luò)分為接入終端區(qū)、服務(wù)器區(qū)和互聯(lián)網(wǎng)接入?yún)^(qū),其中服務(wù)器區(qū)內(nèi)部流量可達(dá)萬兆,而終端區(qū)與互聯(lián)網(wǎng)接入?yún)^(qū)流量低于千兆。傳統(tǒng)網(wǎng)絡(luò)中主要針對跨越邊界的流量進(jìn)行防御,流量低于千兆,因此性能需求較低,儀控網(wǎng)絡(luò)設(shè)計中旁路接入環(huán)網(wǎng),需鏡像全網(wǎng)流量,流量極大,性能需求極高,其價格與低性能差距十幾倍,且由于網(wǎng)絡(luò)接入點(diǎn)極多,入侵檢測設(shè)備起到的作用十分有限。
(4)接入端口過多。核電儀控網(wǎng)絡(luò)中從底層的傳感器信號傳輸,到上層的光纖信號傳輸,均需要相應(yīng)的I/O端口,如I/O卡件、網(wǎng)口、USB端口等,數(shù)量除目前已經(jīng)使用的之外還要預(yù)留后期擴(kuò)充改造的端口,這些端口因為種種原因通常不會封閉,除此之外供調(diào)試、運(yùn)維使用的端口也不會封閉,進(jìn)而成為攻擊者的攻擊入口。
(5)信息安全設(shè)備引入的額外風(fēng)險。信息安全設(shè)備通?;赪indows或Linux開發(fā),設(shè)備具備操作系統(tǒng)擁有的共通漏洞,同時信息安全設(shè)備廠商通常不會將設(shè)備管理權(quán)限交于用戶,導(dǎo)致后期運(yùn)維及加固存在一定的困難。信息安全設(shè)備中使用到病毒庫、特征庫及補(bǔ)丁庫的設(shè)備,需要及時更新,而廠商發(fā)布更新的速度往往以天為單位。頻繁更新則容易從互聯(lián)網(wǎng)引入信息安全威脅,更新遲緩則容易使得信息安全設(shè)備防護(hù)效果不盡人意。
因此針對核電儀控設(shè)備的信息安全防護(hù),需要從設(shè)備本身面臨的威脅入手,針對性的進(jìn)行分析與防護(hù)。
《GB/T 18336.1-2015 信息技術(shù) 安全技術(shù) 信息技術(shù)安全評估準(zhǔn)則 第1部分:簡介和一般模型》中建立IT安全評估的一般概念和原則。18336中提出了保護(hù)輪廓這一概念,意為針對一類特定的評估目標(biāo)(TOE),列出與實現(xiàn)無關(guān)的安全需求陳述。其中的評估目標(biāo)(TOE)被定義為一組可能包含指南的軟件、固件和/或硬件的集合[5]。
《GB/T 18336.2-2015 信息技術(shù) 安全技術(shù) 信息技術(shù)安全評估準(zhǔn)則 第2部分:安全功能組件》中定義的安全功能組件表達(dá)了安全要求,這些要求試圖對抗針對假定的TOE運(yùn)行環(huán)境中的威脅,并/或涵蓋了所有已標(biāo)識的組織安全策略和假設(shè)[6]。
在應(yīng)用中,保護(hù)輪廓通常依據(jù)評估目標(biāo)的業(yè)務(wù)流程提出對應(yīng)的安全需求,對應(yīng)的安全需求需要選取安全功能組件進(jìn)行表達(dá),之后選取安全功能組件對應(yīng)的具體信息安全防護(hù)手段,即可實現(xiàn)對該目標(biāo)的信息安全防護(hù)。
安全功能組件以功能類的結(jié)構(gòu)進(jìn)行表示,主要包括以下幾類。(1)FAU 安全審計:能夠自己診斷自身運(yùn)行的正常和異常,并形成分類分級的告警;(2)FCO類 通信:原發(fā)和接受的抗抵賴;(3)FCS類 密碼支持:支持完整的密鑰體系,包括密鑰的生成、分發(fā)、存取、銷毀及密碼算法等;(4)FDP類 用戶數(shù)據(jù)保護(hù):對于靜態(tài)數(shù)據(jù)的保護(hù),比如文件,數(shù)據(jù)庫等;(5)FIA類 標(biāo)識與鑒別:對操作人員的識別;(6)FMT類 安全管理:對安全數(shù)據(jù)的保護(hù);(7)FPR類 隱私:用戶數(shù)據(jù)與業(yè)務(wù)數(shù)據(jù)的分離;(8)FPT類 TSF保護(hù):內(nèi)部安全數(shù)據(jù)的保護(hù);(9)FRU類 資源利用:資源的優(yōu)先級和配額控制;(10)FTA類 TOE訪問:訪問連接建立的控制;(11)FTP類 可信路徑/信道:設(shè)備互認(rèn)證。
針對單一設(shè)備,該客體具備網(wǎng)絡(luò)通信、接口(USB等)和人機(jī)操作面三個交互點(diǎn),針對單一設(shè)備的安全功能組件如圖1。(1)可回溯:所有對客體的操作過程應(yīng)可以識別威脅和攻擊,并進(jìn)行記錄,以便事后審計(FAU);(2)權(quán)限管理:確保正確授權(quán)的用戶可以訪問客體數(shù)據(jù),并且數(shù)據(jù)不被未授權(quán)者竊取或破壞(FIA、FDP);(3)資源管理:資源可分級,不同的用戶具備相互獨(dú)立的資源(FMT、FRU);(4)通信管理:僅能通過受控的通道進(jìn)行相互通訊,通信信道需具備信息保障、糾錯、路徑可行能力(FCO、FTA、FTP);(5)輸出數(shù)據(jù)保障:對輸出數(shù)據(jù)實現(xiàn)完整性和防篡改保障(FPT);(6)密碼管理:服從密碼體系管理,使用密碼進(jìn)行通信加密和存儲加密(FCS)。
圖1 信息安全控制手段應(yīng)用模型Fig.1 Application model of information security control methods
如圖1所示,根據(jù)殺傷鏈模型,將各個階段對應(yīng)的攻擊手段映射到單一設(shè)備的保護(hù)輪廓模型中,將保護(hù)輪廓對應(yīng)的安全功能對應(yīng)到攻擊手段上,以此實現(xiàn)針對某一類攻擊的有效防護(hù)。
PLC通常包括輸入部分、輸出部分、電源部分和內(nèi)部編程器。其中輸入部分通過AI、DI卡件從按鈕開關(guān)、繼電器觸點(diǎn)等儀表設(shè)備采集讀數(shù);輸出部分利用AO、DO發(fā)送特定的電流、電壓等信號傳遞到閥門、斷路器等執(zhí)行機(jī)構(gòu);構(gòu)成PLC主體的編程器是一個小型的嵌入式系統(tǒng),包含中央處理器、系統(tǒng)程序存儲器和用戶程序存儲器,存儲器存儲邏輯運(yùn)算,中央處理器依照固定的周期,從輸入部分讀入?yún)?shù),進(jìn)行邏輯運(yùn)算并產(chǎn)生輸出信號。
PLC通常通過網(wǎng)線同工程師站、操作員站連接,工程師站可以利用組態(tài)程序修改PLC內(nèi)部的組態(tài)程序。
PLC的業(yè)務(wù)如下:(1)自動運(yùn)行:讀入輸入信息,結(jié)合輸入信息,通過計算后產(chǎn)生輸出信息,存入輸出部分;(2)手動控制:上位機(jī)通過網(wǎng)絡(luò)發(fā)送指令,PLC將指令存入輸入部分,通過計算后產(chǎn)生輸出信息,存入輸出部分;(3)固件/組態(tài)圖更新:通過網(wǎng)絡(luò),從上位機(jī)得到固件或組態(tài)圖,并進(jìn)行固件或組態(tài)圖的更新;(4)調(diào)試:通過網(wǎng)絡(luò),從上位機(jī)(工程師站)獲得指令,修改輸入信息,并計算后得出輸出信息,或直接進(jìn)行組態(tài)邏輯修改;(5)備份:從網(wǎng)絡(luò)口輸出固件或組態(tài)圖,到上位機(jī),進(jìn)行備份。
根據(jù)殺傷鏈進(jìn)行建模,該P(yáng)LC可被以下幾條攻擊方法攻擊,可建立攻擊鏈。(1)目標(biāo)偵查—端口掃描;(2)載荷投送—利用TCP協(xié)議橫向移動;(3)漏洞利用—利用嵌入式操作系統(tǒng)漏洞,將武器復(fù)制到存儲器;或利用固件漏洞,將PLC更新為惡意固件;(4)安裝植入—病毒程序,感染、破壞邏輯圖程序;或構(gòu)造武器環(huán)境;隱蔽化;(5)指揮與控制—利用TCP協(xié)議遠(yuǎn)程控制;或是利用嵌入式操作系統(tǒng)特定環(huán)境觸發(fā);(6)目標(biāo)行動—執(zhí)行拒絕服務(wù)攻擊;執(zhí)行中間人攻擊;下發(fā)惡意命令;感染上位機(jī)。
建立PLC的保護(hù)輪廓,如圖2所示,在輸入和輸出部分需要建立會話管理機(jī)制和可信路徑,在同上位機(jī)的連接中需要保障通信會話的安全以及上位機(jī)的身份認(rèn)證,PLC將自身的日志發(fā)送至上位機(jī)以保證安全審計能力,PLC自身內(nèi)部數(shù)據(jù)需要密碼保護(hù),內(nèi)部存儲數(shù)據(jù)具備校驗機(jī)制,對輸出數(shù)據(jù)保證其完整性和機(jī)密性。
圖2 PLC信息安全控制手段應(yīng)用Fig.2 PLC information security control means application
將攻擊手段對應(yīng)到保護(hù)輪廓中,可以進(jìn)行如下信息安全控制手段的配置:
(1)FCO通信。端口掃描:無法防護(hù),需要防火墻支持;
(2)FIA標(biāo)示與鑒別。橫向移動:配置系統(tǒng)訪問的賬戶及權(quán)限,限制PLC同其他PLC或服務(wù)器建立連接;遠(yuǎn)程控制:配置系統(tǒng)訪問的賬戶及權(quán)限,限制PLC接收非目標(biāo)服務(wù)器的控制命令;
(3)FAU安全審計。隱蔽化:配置PLC發(fā)送日志至上位機(jī),上位機(jī)定期審計;
(4)FTA TOE訪問。中間人攻擊:配置其他設(shè)備,禁用ARP協(xié)議,執(zhí)行設(shè)備與命令發(fā)送設(shè)備通過身份認(rèn)證建立連接;拒絕服務(wù)攻擊:無法防護(hù),需要防火墻支持;下發(fā)惡意命令:無法防護(hù),時候應(yīng)急響應(yīng)處置;
(5)FDP用戶數(shù)據(jù)保護(hù)。漏洞利用:及時修補(bǔ)漏洞;惡意固件:固件升級前先進(jìn)行文件校驗,以確保固件未被替換;病毒程序:定期進(jìn)行病毒查殺。
本文從核電儀控系統(tǒng)網(wǎng)絡(luò)信息安全防護(hù)現(xiàn)狀的脆弱性出發(fā),結(jié)合殺傷鏈模型,針對核電儀控系統(tǒng)單一設(shè)備進(jìn)行業(yè)務(wù)流程分析及安全需求分析,建立攻擊技術(shù)與保護(hù)輪廓的映射,最終建立基于風(fēng)險指引型核電儀控系統(tǒng)保護(hù)輪廓。本文以單個PLC進(jìn)行舉例說明,對其進(jìn)行業(yè)務(wù)分析,建立基于風(fēng)險指引的保護(hù)輪廓,并依據(jù)該保護(hù)輪廓進(jìn)行了信息安全防護(hù)手段應(yīng)用實施分析,驗證保護(hù)輪廓應(yīng)用方法。利用該方法,可以有效地解決單一設(shè)備信息安全控制手段應(yīng)用有效性差的問題,有效提高防護(hù)效果及防護(hù)效率。