賀 凱,黃 鵬,王遠(yuǎn)兵, 張 誼
(1.生態(tài)環(huán)境部 華北核與輻射安全監(jiān)督站,北京 100029;2.中國(guó)核動(dòng)力研究設(shè)計(jì)院 核反應(yīng)堆系統(tǒng)設(shè)計(jì)技術(shù)重點(diǎn)實(shí)驗(yàn)室,成都 610213)
核電廠(chǎng)安全級(jí)DCS工程師站用于安全級(jí)DCS系統(tǒng)自身參數(shù)和工程應(yīng)用數(shù)據(jù)的配置和管理,滿(mǎn)足工程設(shè)計(jì)、系統(tǒng)調(diào)試、運(yùn)營(yíng)維護(hù)等各階段的功能要求。工程師站提供人機(jī)界面和輔助工具,支持、輔助工程人員、維護(hù)人員進(jìn)行工程應(yīng)用設(shè)計(jì)、開(kāi)發(fā)與維護(hù)。工程師站在核電廠(chǎng)安全級(jí)DCS中所處的典型位置如圖1所示。從圖中可以看出,工程師站是唯一可對(duì)工程數(shù)據(jù)進(jìn)行修改且對(duì)控制站有影響的人機(jī)接口(HMI)。
圖1 工程師站位置Fig.1 Location of the engineering station
基于工程師站所處的位置和執(zhí)行的功能,如果意圖不軌的人員獲得工程師站的權(quán)限,或工程師站被入侵,則會(huì)對(duì)工程數(shù)據(jù)的“有效性”進(jìn)行篡改,就有可能給安全級(jí)系統(tǒng)帶來(lái)致命的影響。因此,工程師站應(yīng)進(jìn)行身份認(rèn)證,防止非授權(quán)的訪(fǎng)問(wèn)并進(jìn)行權(quán)限控制,并嚴(yán)格控制工程師站的權(quán)限分配機(jī)制。但是根據(jù)工程師站運(yùn)行環(huán)境的不同,其遭受到的威脅也不同。因此,工程師站身份認(rèn)證的方式應(yīng)進(jìn)行綜合性的考慮。
身份認(rèn)證,顧名思義,就是證明是否是所聲稱(chēng)的那個(gè)人或物的過(guò)程。近年來(lái),隨著計(jì)算機(jī)網(wǎng)絡(luò)及通信技術(shù)的高速發(fā)展,人們生活越來(lái)越多地借助開(kāi)放的網(wǎng)絡(luò)進(jìn)行經(jīng)營(yíng)和日?;顒?dòng)。身份認(rèn)證越來(lái)越重要,可以說(shuō)是整個(gè)信息安全體系的基礎(chǔ)[1]??刂葡到y(tǒng)的工程師站為避免未授權(quán)的人對(duì)其進(jìn)行訪(fǎng)問(wèn),會(huì)對(duì)訪(fǎng)問(wèn)及訪(fǎng)問(wèn)權(quán)限進(jìn)行控制,訪(fǎng)問(wèn)控制策略一般是通過(guò)用戶(hù)名和密碼進(jìn)行認(rèn)證。
上文所述的基于用戶(hù)名和密碼進(jìn)行認(rèn)證的方式即為密碼認(rèn)證,是最簡(jiǎn)單和最常見(jiàn)的身份認(rèn)證方式。密碼認(rèn)證技術(shù)基于對(duì)請(qǐng)求訪(fǎng)問(wèn)設(shè)備的人員所知道的內(nèi)容來(lái)確定訪(fǎng)問(wèn)者身份的真實(shí)性,例如個(gè)人識(shí)別碼(PIN)或密碼。
IEC62443-3-3中對(duì)安全防范等級(jí)做了相應(yīng)的描述,將信息安全攻擊分為了4個(gè)等級(jí):
◆ 偶然的、輕度的攻擊。
◆ 有意的、利用較少資源和一般技術(shù)的、簡(jiǎn)單手段的,可能達(dá)到較小破壞后果的攻擊。
◆ 惡意的、利用中等資源、工業(yè)控制系統(tǒng)特殊技術(shù)的、復(fù)雜手段的,可能達(dá)到較大破壞后果的攻擊。
◆ 惡意的、利用較多資源、工業(yè)控制系統(tǒng)特殊技術(shù)的復(fù)雜手段與工具,可能達(dá)到重大破壞后果的攻擊[2]。
表1 認(rèn)證技術(shù)方法的對(duì)比Table 1 Comparison of authentication technologies
一般工控系統(tǒng)面臨的信息安全攻擊是前兩者,相比之下,因核電自身的重要戰(zhàn)略地位[3],其受到了更多國(guó)際上的關(guān)注。核電廠(chǎng)DCS遭受到的威脅,除普通的隨機(jī)攻擊、惡意攻擊外,還會(huì)受到政治因素的影響,如國(guó)際勢(shì)力的惡意破壞。因此,還可能受到后兩者類(lèi)別的攻擊,如敵對(duì)國(guó)家間諜的滲透攻擊。因此,核電廠(chǎng)DCS工程師站除了使用簡(jiǎn)單的密碼認(rèn)證外,還需根據(jù)風(fēng)險(xiǎn)分析,考慮使用其他認(rèn)證方式。
一般來(lái)說(shuō),身份認(rèn)證包含3個(gè)因素:
第一,用戶(hù)所知道的某個(gè)秘密信息,如用戶(hù)口令。
第二,用戶(hù)所持有的某個(gè)秘密信息(硬件),即用戶(hù)必須持有合法的隨身攜帶的物理介質(zhì),如磁卡、智能卡、USBkey或用戶(hù)所申請(qǐng)領(lǐng)取的公鑰證書(shū)。
第三,用戶(hù)所具有的某些生物特征,如指紋、聲音、DNA圖案,視網(wǎng)膜掃描等[4]。
即“所知”“所有”和“獨(dú)有”,上文提到的用戶(hù)名和密碼的認(rèn)證方式就是采用了“所知”的認(rèn)證因素。3種認(rèn)證因素的優(yōu)缺點(diǎn)如表1所示。
從表1可見(jiàn),一種技術(shù)的缺陷可能從另一種技術(shù)得到補(bǔ)充,每種技術(shù)都有其特定的運(yùn)行環(huán)境差異。因此,在使用技術(shù)措施進(jìn)行身份認(rèn)證時(shí),應(yīng)考慮其運(yùn)行的環(huán)境等眾多因素[5]。
采用了其中的一種方式即為單因素認(rèn)證方式,結(jié)合多種方式即為多因素身份認(rèn)證。多因素身份認(rèn)證是種強(qiáng)身份認(rèn)證方式,比普通的單因素身份認(rèn)證技術(shù)有著更高的安全性[4]。
核電廠(chǎng)安全級(jí)DCS工程師站主要信息安全目標(biāo)有如下幾個(gè)方面:
◆ 保證數(shù)據(jù)的完整性;保證工程數(shù)據(jù)不被非授權(quán)的修改。
◆ 保證數(shù)據(jù)的機(jī)密性:工程數(shù)據(jù)(包含工藝參數(shù)、過(guò)程信息和歷史記錄等)不會(huì)被暴露給未授權(quán)的第三方知道。
◆ 保證工程師站的可靠性:工程師站能夠?qū)崿F(xiàn)其預(yù)定的功能。
◆ 保證工程師站的可用性:授權(quán)的個(gè)體能夠訪(fǎng)問(wèn)工程師站特定的數(shù)據(jù)和服務(wù)。
2010年爆發(fā)的“震網(wǎng)”病毒,通過(guò)周期性地改變離心機(jī)的頻率,最終導(dǎo)致離心機(jī)損壞。顯然攻擊的發(fā)起者對(duì)地下工廠(chǎng)的運(yùn)行數(shù)據(jù)非常熟悉,可以說(shuō)是精確制導(dǎo)。因此,保護(hù)數(shù)據(jù)(如運(yùn)行環(huán)境、工藝參數(shù))不被其他組織知曉,是安全的第一步。
所以身份認(rèn)證的主要目的是保護(hù)工程數(shù)據(jù)不被篡改,保護(hù)功能能正常執(zhí)行、工程數(shù)據(jù)不被泄露以及權(quán)限控制。提高身份認(rèn)證安全性的目的是為了增加攻擊的難度,使攻擊者需花費(fèi)更多的資源才能達(dá)到攻擊目的。
核電廠(chǎng)安全級(jí)DCS工程師站整個(gè)生命周期經(jīng)歷的過(guò)程如圖2所示。其中,①~④過(guò)程中未包含工程文件;⑤設(shè)計(jì)工作在日常辦公環(huán)境中進(jìn)行,未在工程師站上開(kāi)展;⑥~?的過(guò)程中包含了工程文件。以下對(duì)各個(gè)階段所受到的身份認(rèn)證危害進(jìn)行分析。
◆ ①~③階段為采購(gòu)階段,由商務(wù)采購(gòu)工程師站所需的主機(jī),并由電腦供應(yīng)商對(duì)操作系統(tǒng)進(jìn)行安裝和配置。本階段活動(dòng)沒(méi)有身份認(rèn)證相關(guān)活動(dòng),無(wú)身份認(rèn)證相關(guān)風(fēng)險(xiǎn)。
◆ ④階段為配置階段,由生產(chǎn)人員負(fù)責(zé)安裝工程師站所需的軟件,并對(duì)軟件、主機(jī)、用戶(hù)等進(jìn)行配置,本階段配置的用戶(hù)認(rèn)證方式可能存在缺陷,導(dǎo)致用戶(hù)認(rèn)證方式未能達(dá)到預(yù)期需求,可由檢驗(yàn)和測(cè)試活動(dòng)發(fā)現(xiàn)并解決。
在文獻(xiàn)[21]中,同機(jī)器移動(dòng)工序采用的是直接利用空閑時(shí)間的方法,只有當(dāng)式(3)滿(mǎn)足時(shí),才對(duì)關(guān)鍵工序進(jìn)行移動(dòng)。該方法遺漏了不滿(mǎn)足式(3),但同樣能夠改進(jìn)當(dāng)前解的有效移動(dòng)操作,特別是對(duì)于塊首工序和塊尾工序。為此,本文在FJSP同機(jī)器移動(dòng)工序進(jìn)行鄰域搜索時(shí),采用綜合利用空閑時(shí)間方法,實(shí)現(xiàn)針對(duì)FJSP更為強(qiáng)化的鄰域結(jié)構(gòu)。引入文獻(xiàn)[24]中,針對(duì)JSP的新型鄰域結(jié)構(gòu),根據(jù)關(guān)鍵工序的類(lèi)型定義相應(yīng)的移動(dòng)操作,擴(kuò)大有效移動(dòng)范圍。同機(jī)器移動(dòng)工序?qū)崿F(xiàn)方式如圖10所示,具體移動(dòng)操作如下:
◆ ⑤階段為設(shè)計(jì)階段,工程設(shè)計(jì)人員在日常辦公環(huán)境中進(jìn)行工程創(chuàng)建和工程設(shè)計(jì),設(shè)計(jì)過(guò)程中可能造成未授權(quán)的個(gè)體對(duì)工程數(shù)據(jù)進(jìn)行訪(fǎng)問(wèn),工程數(shù)據(jù)外泄。針對(duì)此風(fēng)險(xiǎn)可通過(guò)增加辦公區(qū)域的安保措施來(lái)預(yù)防,工程數(shù)據(jù)的正確性有驗(yàn)證與確認(rèn)(V&V)活動(dòng)進(jìn)行驗(yàn)證。
◆ ⑥階段為工廠(chǎng)測(cè)試階段,將工程數(shù)據(jù)導(dǎo)入到工程師站中,工程測(cè)試人員使用工程師站展開(kāi)測(cè)試工作,測(cè)試過(guò)程環(huán)境相對(duì)設(shè)計(jì)階段而言稍復(fù)雜一些,需要較低的認(rèn)證安全需求,防止測(cè)試人員越權(quán)操作,修改組態(tài)數(shù)據(jù)。
圖2 工程師站生命周期Fig.2 Lifecycle of the engineering station
◆ ⑦階段為運(yùn)輸階段,一般都采用三方物流公司負(fù)責(zé)運(yùn)輸?shù)姆绞?,此階段相比而言不受控,比較容易遭受到國(guó)際勢(shì)力的滲透,且此時(shí)可利用的攻擊工具也較多,需要較高的認(rèn)證安全需求。
◆ ⑧~⑨階段為現(xiàn)場(chǎng)安裝及聯(lián)合調(diào)試,此時(shí)環(huán)境比較復(fù)雜,各方人員魚(yú)龍混雜,易造成工程數(shù)據(jù)的泄露和被篡改,需要較高的認(rèn)證安全需求。
◆ ⑩為運(yùn)行維護(hù)階段,一般會(huì)按照電廠(chǎng)的規(guī)程進(jìn)行維護(hù),且核電廠(chǎng)安保環(huán)境較好,為保護(hù)數(shù)據(jù)不被非授權(quán)的修改,需要較低的認(rèn)證安全需求。
◆ ?為退役階段,如果工程師站未妥善安置,工程師站中的工程數(shù)據(jù)和歷史數(shù)據(jù)可能存在泄露的風(fēng)險(xiǎn),增加身份認(rèn)證的安全性能,一定程度地減少泄露的風(fēng)險(xiǎn)。
根據(jù)工程師站軟件的邏輯區(qū)域,將工程師站劃分為4個(gè)區(qū)域,如圖3所示。
◆ Level0:?jiǎn)?dòng)層和BIOS層。
◆ Level1:主機(jī)操作系統(tǒng)層。
◆ Level2:工程師站軟件操作層。
◆ Level3:工程師站軟件核心功能操作層(修改軟件邏輯,工程師站用戶(hù)管理等)。
工程師站可執(zhí)行身份認(rèn)證功能的位置包含:
◆ 利用工程師站主機(jī)進(jìn)行認(rèn)證。
◆ 利用工程師站軟件的用戶(hù)管理功能進(jìn)行認(rèn)證。
圖3 工程師站邏輯分區(qū)Fig.3 Logic zone of the engineering station
利用工程師站軟件進(jìn)行多因素身份認(rèn)證,對(duì)工程師站軟件提出了新的需求,增加了開(kāi)發(fā)難度,提高成本,增加了研發(fā)周期,可以對(duì)工程數(shù)據(jù)的訪(fǎng)問(wèn)權(quán)限進(jìn)行很好地控制。利用主機(jī)進(jìn)行多因素身份認(rèn)證,技術(shù)比較成熟,直接可用的產(chǎn)品相對(duì)較多,但無(wú)法對(duì)工程數(shù)據(jù)的訪(fǎng)問(wèn)權(quán)限進(jìn)行控制。
工程師站多因素身份認(rèn)證方式不能盲目地追求高安全性,還應(yīng)從實(shí)際出發(fā),考慮便利性、可靠性和成本等方面,在滿(mǎn)足需求的情況下盡量簡(jiǎn)單。
多因素身份認(rèn)證方式不是簡(jiǎn)單地使用3種方式進(jìn)行組合。如使用單因素進(jìn)行身份認(rèn)證,則表明其信息安全需求較低,簡(jiǎn)單的用戶(hù)名和密碼的方式已經(jīng)能夠?qū)崿F(xiàn)認(rèn)證功能,使用硬件認(rèn)證或生物認(rèn)證會(huì)使得成本較高,反而會(huì)很“雞肋”。同樣的道理,一般的雙因素認(rèn)證也是采用密碼認(rèn)證+其他一種認(rèn)證方式。因此,可用于核電廠(chǎng)安全級(jí)DCS工程師站的認(rèn)證方式共有如下4種:
◆ 方案1:密碼認(rèn)證,適合于一般的安全需求。
◆ 方案2:密碼認(rèn)證+硬件認(rèn)證,適合于較高的安全需求。
◆ 方案3:密碼認(rèn)證+生物識(shí)別,適合于較高的安全需求。
◆ 方案4:密碼認(rèn)證+硬件認(rèn)證+生物識(shí)別,適合于很高的安全需求。
根據(jù)上文對(duì)工程師站身份認(rèn)證的風(fēng)險(xiǎn)分析可知,核電廠(chǎng)安全級(jí)DCS工程師站就目前情況而言不需采用三因素認(rèn)證即方案4的認(rèn)證方式。安全級(jí)DCS工程師站正常運(yùn)行時(shí)獨(dú)立運(yùn)行,不與其他控制系統(tǒng)或互聯(lián)網(wǎng)連接,為“孤島模式”,在大多數(shù)情況下,使用方案1即可??紤]到運(yùn)輸過(guò)程中的風(fēng)險(xiǎn)和現(xiàn)場(chǎng)聯(lián)調(diào)時(shí)環(huán)境的復(fù)雜性,需要較高的安全需求,可采用雙因素的認(rèn)證方式,目前很多電廠(chǎng)業(yè)主也將雙因素認(rèn)證的要求寫(xiě)入到技術(shù)規(guī)格書(shū)中。
雙因素認(rèn)證方式即為方案2和方案3所述。方案2的一般做法為密碼認(rèn)證+USBkey,目前USBkey認(rèn)證方式已經(jīng)非常成熟,實(shí)現(xiàn)也較為簡(jiǎn)單,軟件進(jìn)程也不會(huì)對(duì)工程師站的功能造成影響,但是引入U(xiǎn)SBkey認(rèn)證需要預(yù)留USB接口,會(huì)額外帶來(lái)新的接口問(wèn)題。
如果采用移動(dòng)工程師站(主機(jī)為筆記本),方案3的一般做法為密碼認(rèn)證+指紋/面部識(shí)別,指紋/面部識(shí)別可以集成到主機(jī)本身,相比而言不會(huì)帶來(lái)新的接口問(wèn)題,亦不會(huì)對(duì)工程師站的功能造成影響,但是指紋/面部識(shí)別的可靠性較差,尤其是面部識(shí)別,對(duì)環(huán)境有較高的要求。如果采用固定式工程師站(主機(jī)為臺(tái)式機(jī)),考慮到目前電腦制造商一般未在主機(jī)中集成生物識(shí)別模塊,采用方案3同樣需要預(yù)留接口,同時(shí)需要外接認(rèn)證設(shè)備,會(huì)增加設(shè)計(jì)的復(fù)雜性。
結(jié)合以上分析,考慮到核電廠(chǎng)安全級(jí)DCS工程師站的運(yùn)行環(huán)境,應(yīng)對(duì)權(quán)限分配的問(wèn)題,提出下列“縱深防御”的身份認(rèn)證方案:
Level0層雙因素認(rèn)證+Level1層單因素認(rèn)證+Level2層單因素認(rèn)證+Level3層雙因素認(rèn)證。
Level0層采用BIOS密碼認(rèn)證+USBkey認(rèn)證的方式,在進(jìn)入操作系統(tǒng)前進(jìn)行認(rèn)證,防止操作系統(tǒng)的功能失效導(dǎo)致Level1層認(rèn)證失敗;Level1層采用用戶(hù)名和密碼的單因素身份認(rèn)證方式,防止對(duì)主機(jī)的非授權(quán)訪(fǎng)問(wèn),同時(shí)若主機(jī)超過(guò)10min無(wú)任何操作,自動(dòng)鎖定當(dāng)前用戶(hù);Level2層采用用戶(hù)名和密碼的單因素身份認(rèn)證,防止對(duì)工程文件的非授權(quán)訪(fǎng)問(wèn);Level3層采用密碼認(rèn)證+USBkey認(rèn)證的雙因素認(rèn)證方式,對(duì)工程師站的核心功能進(jìn)行保護(hù),防止越權(quán)操作。同時(shí)Level2層和Level3層的認(rèn)證為強(qiáng)制認(rèn)證,如果不經(jīng)過(guò)Level2層/Level3層認(rèn)證,則無(wú)法對(duì)工程師站的內(nèi)容進(jìn)行訪(fǎng)問(wèn),避免底層繞過(guò)認(rèn)證直接訪(fǎng)問(wèn)數(shù)據(jù)。
雙因素認(rèn)證方式同時(shí)也會(huì)帶來(lái)新的問(wèn)題,如USBkey的管理問(wèn)題,接口的管理問(wèn)題和外接設(shè)備的管理問(wèn)題。如果考慮工程軟件設(shè)計(jì)人員、生產(chǎn)人員、測(cè)試人員、調(diào)試人員以及電廠(chǎng)維護(hù)人員監(jiān)守自盜,違反保密規(guī)定,蓄意破壞或竊取工程數(shù)據(jù),則上述身份認(rèn)證方式只能起到一定程度的保護(hù)。因此,除了制定身份認(rèn)證的技術(shù)措施以外,對(duì)就職人員的崗位鑒定、保密培訓(xùn)等一系列的管理措施也同樣重要。
采用雙因素甚至三因素的身份認(rèn)證方式可以提高身份認(rèn)證的安全性,一定程度地減少工程數(shù)據(jù)被篡改以及數(shù)據(jù)被泄露的風(fēng)險(xiǎn),增加攻擊難度,但是單憑身份認(rèn)證無(wú)法保證數(shù)據(jù)安全,建立良好的管理措施能有效地避免大多數(shù)的攻擊。同時(shí),身份認(rèn)證策略帶來(lái)了密碼分發(fā)管理,硬件設(shè)備管理的新問(wèn)題。密碼和認(rèn)證設(shè)備的管理如果不得當(dāng),雙因素認(rèn)證也同樣形同虛設(shè)。因此,需要制定相關(guān)的管理措施。
除此之外,其他信息安全技術(shù)保護(hù)手段也需要被應(yīng)用,如入侵檢測(cè)系統(tǒng),漏洞掃描分析系統(tǒng),安全審計(jì)系統(tǒng)等。同時(shí),需要密切關(guān)注信息安全的發(fā)展與國(guó)內(nèi)外形勢(shì),形勢(shì)的變化、技術(shù)的發(fā)展可能對(duì)身份認(rèn)證提出了新的挑戰(zhàn)和要求。