顧兆軍,李懷民,丁 磊,隋 翯
(1. 中國(guó)民航大學(xué)信息安全評(píng)測(cè)中心,天津 300300;2. 中國(guó)民航大學(xué)中歐航空工程師學(xué)院,天津 300300;3. 中國(guó)民航大學(xué)航空工程師學(xué)院,天津 300300;)
工業(yè)控制系統(tǒng)是能源電力、石油化工、交通運(yùn)輸?shù)葒?guó)家關(guān)鍵基礎(chǔ)設(shè)施的核心系統(tǒng),其功能安全(safety)和網(wǎng)絡(luò)安全(security)對(duì)于關(guān)鍵基礎(chǔ)設(shè)施的平穩(wěn)運(yùn)行具有決定性作用[1]。工業(yè)控制系統(tǒng)構(gòu)成比較復(fù)雜,從網(wǎng)絡(luò)結(jié)構(gòu)角度可以分為采集執(zhí)行層,現(xiàn)場(chǎng)控制層,集中監(jiān)控層,制造執(zhí)行層和管理調(diào)度層[2],如圖1所示。過去,工業(yè)控制系統(tǒng)安全防護(hù)主要關(guān)注其功能安全,但隨著“兩化融合”[3]和“中國(guó)制造2025”[4]概念的提出,智慧工廠、云制造、智能生產(chǎn)系統(tǒng)等信息化理念一方面提升了工業(yè)產(chǎn)業(yè)智能化程度,另一方面也帶來了新的風(fēng)險(xiǎn)隱患,網(wǎng)絡(luò)安全問題逐漸成為工業(yè)控制系統(tǒng)安全防護(hù)研究的熱點(diǎn)[5]。
2010年“震網(wǎng)”病毒(Stuxnet)通過篡改PLC的程序,導(dǎo)致伊朗核電站離心機(jī)過速運(yùn)轉(zhuǎn),造成核電站1/5的離心機(jī)損壞、直接經(jīng)濟(jì)損失上億美元[6]。自“震網(wǎng)”事件開始,黑客組織利用Havex,火焰,毒區(qū)等針對(duì)工業(yè)控制系統(tǒng)的病毒分別成功實(shí)現(xiàn)了對(duì)俄羅斯,美國(guó),韓國(guó),烏克蘭等國(guó)家的關(guān)鍵基礎(chǔ)設(shè)施工業(yè)控制系統(tǒng)網(wǎng)絡(luò)攻擊。截至 2020年2月18日,上報(bào)到漏洞庫的工業(yè)控制系統(tǒng)漏洞數(shù)達(dá)到2362個(gè),2010 年以后,工控漏洞發(fā)現(xiàn)數(shù)逐年遞增[7]。與傳統(tǒng)網(wǎng)絡(luò)安全的CIA(保密性,完整性,可用性)原則不同,工業(yè)控制系統(tǒng)遵循AIC原則[8],優(yōu)先保證系統(tǒng)的可用性。所以,工業(yè)控制系統(tǒng)不便于采用大范圍、大縱深的傳統(tǒng)網(wǎng)絡(luò)安全防護(hù)策略??茖W(xué)評(píng)估系統(tǒng)風(fēng)險(xiǎn)、有針對(duì)性的部署防護(hù)措施顯得更為重要。因此在工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全研究領(lǐng)域,網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估已經(jīng)成為企業(yè)和學(xué)界共同關(guān)注的焦點(diǎn)。
圖1 典型工業(yè)控制系統(tǒng)網(wǎng)絡(luò)架構(gòu)
形式化分析方法是網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估中常用的方法,形式化分析方法[9]是用數(shù)學(xué)方法研究計(jì)算機(jī)科學(xué)中相關(guān)問題的前沿技術(shù),可以在工業(yè)控制系統(tǒng)設(shè)計(jì)和開發(fā)階段發(fā)現(xiàn)系統(tǒng)中潛在的網(wǎng)絡(luò)安全風(fēng)險(xiǎn),避免后期部署安全設(shè)備的盲目性?;谛问交治龅木W(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估方法可以分為定性分析方法和定量分析方法兩類[10]。定性分析方法主要依靠從業(yè)人員經(jīng)驗(yàn)對(duì)系統(tǒng)的安全等級(jí)和風(fēng)險(xiǎn)程度給予“高”“中”“低”的評(píng)價(jià)。對(duì)于攻擊事件發(fā)生的可能性以及系統(tǒng)本身的脆弱性無法做出定量的評(píng)估。定量分析方法是對(duì)系統(tǒng)的脆弱性和安全程度給出量化的評(píng)估結(jié)果,并據(jù)此制定相應(yīng)的防御措施和手段。本文提出的就是一種定量的風(fēng)險(xiǎn)評(píng)估方法。
比較常用的形式化分析方法包括攻擊樹、攻擊圖和時(shí)間自動(dòng)機(jī)。Schneier[11]提出了一種基于攻擊樹的安全威脅建模方法,利用層次化表達(dá),實(shí)現(xiàn)了通過自下而上的單參數(shù)擴(kuò)散進(jìn)行定量安全評(píng)估;Phillips和Swiler[12]提出了攻擊圖的概念,描述了攻擊行為對(duì)系統(tǒng)狀態(tài)的影響; Alur R[13]提出了時(shí)間自動(dòng)機(jī)模型,并針對(duì)特定攻防行為刻畫了各種輸入序列(包含非正常情況的極端輸入序列)下系統(tǒng)的狀態(tài)轉(zhuǎn)換,從而模擬了系統(tǒng)的動(dòng)態(tài)遷移過程,并給出了系統(tǒng)狀態(tài)的轉(zhuǎn)移條件。
這些研究結(jié)果表明在形式化分析的方法中,采用樹、圖這類圖形化分析的方式可以取得很好的定量評(píng)估效果。Park等[14]利用攻擊樹模型分析了反應(yīng)器保護(hù)系統(tǒng)的信息安全狀態(tài),并給出了相應(yīng)的防御措施。Byres等[15]使用攻擊樹建模方法對(duì)基于MODBUS 協(xié)議棧的工業(yè)控制 SCADA 通信系統(tǒng)進(jìn)行了漏洞分析。蔣健雷[16]應(yīng)用攻擊樹建模分析了某泵站SCADA 系統(tǒng)的安全性問題及相應(yīng)策略。Hawrylak等[17]使用混合攻擊圖對(duì)工業(yè)控制系統(tǒng)網(wǎng)絡(luò)攻擊進(jìn)行建模,并建立了全局攻擊圖,評(píng)估了該系統(tǒng)面臨的主要風(fēng)險(xiǎn)和威脅。黃慧萍[18]等人提出了一種基于攻擊樹的工業(yè)控制系統(tǒng)信息安全風(fēng)險(xiǎn)評(píng)估方法,運(yùn)用攻擊樹對(duì)針對(duì)SCADA系統(tǒng)主站的攻擊進(jìn)行建模,然后基于多效應(yīng)理論計(jì)算了葉節(jié)點(diǎn)、根節(jié)點(diǎn)和各攻擊序列發(fā)生的概率,從而提出了更有效的防御手段。
但以上成果還可以圍繞以下兩點(diǎn)進(jìn)行更深入研究:①上述研究沒有將系統(tǒng)的防御措施考慮在內(nèi)。②在進(jìn)行攻擊樹建模并進(jìn)行葉節(jié)點(diǎn)相關(guān)指標(biāo)計(jì)算時(shí),各影響因素權(quán)重的獲得往往是通過經(jīng)驗(yàn)進(jìn)行設(shè)定,或僅通過主觀賦權(quán)法的方式獲取,這導(dǎo)致個(gè)人的主觀因素對(duì)最終賦權(quán)結(jié)果的影響過大,缺少客觀性的評(píng)判?;谝陨蟽牲c(diǎn),本文在傳統(tǒng)攻擊樹的基礎(chǔ)上,使用攻擊防御樹的方式對(duì)工業(yè)控制系統(tǒng)進(jìn)行建模,從而得到一種相對(duì)完善的形式化分析建模方法;然后結(jié)合主觀賦權(quán)和客觀賦權(quán)法,對(duì)各葉節(jié)點(diǎn)影響因素進(jìn)行權(quán)值分配,最終得到相對(duì)客觀的賦權(quán)值,以獲得更準(zhǔn)確的評(píng)估結(jié)果。最后以某機(jī)場(chǎng)供油自控系統(tǒng)為例,驗(yàn)證了本文所提出方法的有效性。
攻擊防御樹(Attack-Defense Tree,ADT)模型是 KORDY B在2010年提出的一種通過在攻擊樹葉結(jié)點(diǎn)上添加防御手段,從而對(duì)系統(tǒng)進(jìn)行形式化分析的建模方法[19]。ADT模型是多層的樹形結(jié)構(gòu),包括了葉節(jié)點(diǎn),根節(jié)點(diǎn),中間節(jié)點(diǎn)以及防御節(jié)點(diǎn)。其中根節(jié)點(diǎn)為最終的攻擊目標(biāo);葉節(jié)點(diǎn)為達(dá)到最終目標(biāo)的攻擊手段;中間節(jié)點(diǎn)表示要實(shí)現(xiàn)最終攻擊目標(biāo)必須完成的中間步驟。每一條最終指向根節(jié)點(diǎn)的路徑則為一條攻擊路徑;防御節(jié)點(diǎn)針對(duì)具體的攻擊方式采用有效防御手段。圖2所示為一個(gè)簡(jiǎn)單的攻擊防御樹示例。
圖2 攻擊防御樹示例
各節(jié)點(diǎn)之間存在三種邏輯關(guān)系:“或”(OR)關(guān)系,“與”(AND)關(guān)系,“順序與(SAND)關(guān)系”。AND節(jié)點(diǎn)表示所有子節(jié)點(diǎn)的攻擊目標(biāo)實(shí)現(xiàn),則父節(jié)點(diǎn)的目標(biāo)也會(huì)實(shí)現(xiàn);OR節(jié)點(diǎn)表示任意子節(jié)點(diǎn)的攻擊目標(biāo)實(shí)現(xiàn),則父節(jié)點(diǎn)的目標(biāo)也會(huì)實(shí)現(xiàn);SAND節(jié)點(diǎn)表示所有子節(jié)點(diǎn)的目標(biāo)按順序?qū)崿F(xiàn),則父節(jié)點(diǎn)的目標(biāo)即可實(shí)現(xiàn)[20]。圖3所示為攻擊防御樹各節(jié)點(diǎn)之間存在的三種關(guān)系。
圖3 攻擊防御樹節(jié)點(diǎn)關(guān)系
攻擊防御樹的建立需要從安全事件反向推理,首先由專家確定最終攻擊目標(biāo),并將最終的攻擊目標(biāo)作為攻擊防御樹的根節(jié)點(diǎn),其次將根節(jié)點(diǎn)利用圖3所示的節(jié)點(diǎn)關(guān)系將所需完成的中間步驟作為其子節(jié)點(diǎn)。然后使用相同的方法對(duì)子節(jié)點(diǎn)進(jìn)行擴(kuò)展,直到具體的攻擊方式不能再進(jìn)行分解則成為該模型中的葉節(jié)點(diǎn)。最后針對(duì)葉節(jié)點(diǎn)部署防御措施,形成防御節(jié)點(diǎn)。
根據(jù)多效應(yīng)理論,在對(duì)攻擊防御樹的葉節(jié)點(diǎn)進(jìn)行脆弱性定量評(píng)估的時(shí)候,需要獲得影響葉節(jié)點(diǎn)脆弱性的各因素的權(quán)重值,即需要對(duì)各因素進(jìn)行權(quán)值分配。當(dāng)前的賦權(quán)方法主要分為主觀賦權(quán)法和客觀賦權(quán)法[21]。常用的主觀賦權(quán)法主要有Delphi法[22],層次分析法(AHP)[23],權(quán)的最小平方法[24]等。客觀賦權(quán)法主要有主成分分析法[25],熵權(quán)法[26]和多目標(biāo)規(guī)劃法[27]等。本文結(jié)合主觀賦權(quán)法和客觀賦權(quán)法的優(yōu)點(diǎn),采用了層次分析法和熵權(quán)法相結(jié)合的組合權(quán)重法來獲取最終各影響因素的權(quán)重分配值。
層次分析法是上世紀(jì)七十年代美國(guó)匹茲堡大學(xué)Saaty教授提出的通過專家打分的方式獲取權(quán)值分配的方法[28]。專家通過影響因素重要程度對(duì)比進(jìn)行打分,構(gòu)造判斷矩陣,最終對(duì)矩陣進(jìn)行數(shù)學(xué)運(yùn)算獲得屬性權(quán)值。本文使用0.1-0.9比較尺度表對(duì)各因素進(jìn)行兩兩比較,見表1。
表1 0.1-0.9 比較尺度表
專家根據(jù)尺度表(表1)對(duì)各影響因素重要程度對(duì)比進(jìn)行兩兩打分,構(gòu)造判斷矩陣。假設(shè)共有n個(gè)影響因素,即可得到n×n階判斷矩陣C。
(1)
(2)
(3)
根據(jù)以上計(jì)算流程可得到各影響因素的權(quán)值向量Ni=(N1,N2,…,Nn)T。
在信息論中,熵是對(duì)不確定性的一種度量[26]。不確定性越大,熵值越大,包含的信息量也越大。根據(jù)熵的特性,可以通過計(jì)算熵值來判斷一個(gè)事件的隨機(jī)性及無序程度,也可以用熵值來判斷某個(gè)指標(biāo)的離散程度,指標(biāo)的離散程度越大,該指標(biāo)對(duì)綜合評(píng)價(jià)的影響(權(quán)重)越大。因此,熵權(quán)法是通過各影響因素取值的離散程度,定量某一因素權(quán)重的客觀賦權(quán)法。其具體計(jì)算方法如下:
1)假設(shè)有a個(gè)葉節(jié)點(diǎn),每個(gè)葉節(jié)點(diǎn)有b個(gè)影響因素,據(jù)此構(gòu)建判斷矩陣X:X=|xij| (i=1,2,…,a;j=1,2,…,b)。
2)由于各項(xiàng)影響因素的計(jì)量單位并不統(tǒng)一,因此在計(jì)算前先要對(duì)判斷矩陣X進(jìn)行歸一化處理,即把矩陣中元素的絕對(duì)值轉(zhuǎn)化為相對(duì)值,從而解決各項(xiàng)不同影響因素取值的同質(zhì)化問題。其中,正向指標(biāo)和負(fù)向指標(biāo)數(shù)值代表的含義不同(正向因素?cái)?shù)值越高越符合期待,負(fù)向因素?cái)?shù)值越低越符合期待)。因此,對(duì)于正向影響因素和負(fù)向影響因素需要采用不同的歸一化方法處理,獲得歸一化矩陣B,具體的處理方法如下:
正向影響因素
(4)
負(fù)向影響因素
(5)
其中,xmax,xmin分別為同一影響因素下的最大取值和最小取值。
3)根據(jù)熵的概念,可通過下式計(jì)算各影響因素的熵值
(6)
通過層次分析法和熵權(quán)法可以獲得兩組影響因素的權(quán)重向量,其中通過層次分析法得到主觀權(quán)重向量為μ=(μ1,μ2,…,μn)T,由熵權(quán)法得到客觀權(quán)重向量ν=(ν1,ν2,…,νn)T。組合賦權(quán)法是將主客觀賦權(quán)法得到的權(quán)值相結(jié)合,這樣既可以反應(yīng)主觀的判斷也可以反映客觀評(píng)價(jià)的結(jié)果。通常情況下使用加法組合法或乘法組合法,為了盡量凸顯各因素間的重要性差異,本文使用乘法組合法來獲取最終的權(quán)重ωj,即
(7)
本文使用安全脆弱性指標(biāo)來定量評(píng)估系統(tǒng)的安全風(fēng)險(xiǎn)。安全脆弱性指標(biāo)的取值范圍為從0到1,代表系統(tǒng)遭受攻擊的容易程度遞增。評(píng)估脆弱性指標(biāo)的具體步驟與方法為:
1)確定最終攻擊目標(biāo);
2)逆向推理獲得最底層攻擊事件,即葉節(jié)點(diǎn);
3)添加防御節(jié)點(diǎn),構(gòu)造系統(tǒng)的攻擊防御樹;
4)分析影響各葉節(jié)點(diǎn)脆弱性的因素,使用基于層次分析法和熵權(quán)法的組合賦權(quán)法獲取各影響因素的權(quán)重;
5)根據(jù)多效用理論計(jì)算葉結(jié)點(diǎn)的脆弱性指數(shù);
6)根據(jù)葉節(jié)點(diǎn)脆弱性指數(shù)獲得各條攻擊路徑及整個(gè)系統(tǒng)的脆弱性指數(shù);
7)根據(jù)添加防御手段前后的葉節(jié)點(diǎn)脆弱性指數(shù)差值和系統(tǒng)脆弱性指數(shù)差值評(píng)估葉節(jié)點(diǎn)脆弱性靈敏度,據(jù)此提出新的更有效的防御手段。
美國(guó)工業(yè)控制系統(tǒng)安全指南中指出[29],在工業(yè)控制系統(tǒng)的信息安全評(píng)估中,系統(tǒng)脆弱性受到三個(gè)主要因素的影響,分別是攻擊的成本,實(shí)現(xiàn)難度,以及攻擊被發(fā)現(xiàn)的可能性大小。因此在計(jì)算葉節(jié)點(diǎn)脆弱性指數(shù)時(shí),對(duì)每一個(gè)葉節(jié)點(diǎn)的攻擊成本,實(shí)現(xiàn)難度,攻擊被發(fā)現(xiàn)的可能性三個(gè)屬性賦值。應(yīng)用多效應(yīng)理論可以獲得計(jì)算葉節(jié)點(diǎn)脆弱性指數(shù)的式(8)和式(9)如下
S(Ek)=Wcos t*U(costk)+Wdiff*U(diffk)+
Wdet*U(detk)
(8)
S′(Ek)=[Wcos t*U(costk)+Wdiff*U(diffk)+
(9)
其中,k為任意葉節(jié)點(diǎn),S(Ek)為該葉節(jié)點(diǎn)的脆弱性指數(shù),S′(Ek)為考慮防御措施后該葉節(jié)點(diǎn)的脆弱性指數(shù),costk為實(shí)現(xiàn)攻擊該節(jié)點(diǎn)需要付出的攻擊成本;diffk為該葉節(jié)點(diǎn)實(shí)現(xiàn)的難易程度;detk為該葉節(jié)點(diǎn)攻擊被發(fā)現(xiàn)的可能性。Wcost,Wdiff,Wdet則分別為這三個(gè)影響因素在各葉節(jié)點(diǎn)所占的權(quán)重系數(shù),且三個(gè)權(quán)重系數(shù)之和為1。U(costk),U(diffk),U(detk)則分別為三個(gè)影響因素在各葉節(jié)點(diǎn)的效用值。可以發(fā)現(xiàn)效用值與各影響因素成反比關(guān)系,因此本文取U(x)=1/x。nk為針對(duì)該葉節(jié)點(diǎn)攻擊事件所采取的防御措施的個(gè)數(shù),m為防御措施最多的葉節(jié)點(diǎn)的措施數(shù)量加一。
式(8)和式(9)中的權(quán)重指數(shù)通過組合權(quán)重法獲得。Wcost,Wdiff,Wdet的值則需要建立評(píng)價(jià)表,請(qǐng)專業(yè)的評(píng)估人士依據(jù)此標(biāo)準(zhǔn)給出各葉節(jié)點(diǎn)相應(yīng)屬性的得分,再通過倒數(shù)運(yùn)算獲得各自的效應(yīng)值。本文采用的等級(jí)評(píng)分標(biāo)準(zhǔn)如表2所示。
表2 等級(jí)評(píng)分標(biāo)準(zhǔn)
任何一條從葉節(jié)點(diǎn)到根節(jié)點(diǎn)的路徑可稱為攻擊路徑,即可通過該路徑上的行為完成最終攻擊的根節(jié)點(diǎn)目的。假設(shè)S1,S2,…,Sk∈S,S為構(gòu)成某個(gè)攻擊序列的所有節(jié)點(diǎn)的集合。V(S1),V(S2),…,V(Sk)為各節(jié)點(diǎn)對(duì)應(yīng)的脆弱性指標(biāo),則可以得到該條攻擊路徑的脆弱性指數(shù)N為:N=V(S1)×V(S2)×…×V(Sk)。
根據(jù)上述分析,任意一條攻擊序列均可以達(dá)成最終的根節(jié)點(diǎn)攻擊目的。因此系統(tǒng)的整體脆弱性指數(shù)為所有攻擊途徑脆弱性指數(shù)中的最大值。假設(shè)系統(tǒng)的整體脆弱性指數(shù)為Vs,各攻擊路徑的脆弱性指數(shù)分別為V(i1),V(i2),…,V(ik),則可以得到系統(tǒng)的整體脆弱性指數(shù)為
Vs=max(V(i1),V(i2),…,V(ik))
(10)
其中k為整個(gè)系統(tǒng)中存在的攻擊路徑的總數(shù)。
通過增加和改善每一個(gè)葉節(jié)點(diǎn)處的防御措施可以降低葉結(jié)點(diǎn)的脆弱性指數(shù),從而降低系統(tǒng)的脆弱性指數(shù)。但往往由于預(yù)算的限制,需要更加合理的利用資金來增加和改善防御措施。因此本文對(duì)葉節(jié)點(diǎn)脆弱性的靈敏度進(jìn)行評(píng)估,從而找出通過盡量少的改動(dòng)就可以最大程度提高安全系數(shù)的關(guān)鍵節(jié)點(diǎn)。定義如式(11)所示的葉節(jié)點(diǎn)靈敏度計(jì)算公式。
(11)
通過計(jì)算各葉節(jié)點(diǎn)的靈敏度取值并進(jìn)行比較,找到靈敏度較高的幾個(gè)葉節(jié)點(diǎn),針對(duì)關(guān)鍵節(jié)點(diǎn)進(jìn)行相應(yīng)的防御措施改善可以更加高效的提高系統(tǒng)的信息安全水平。
本文以某機(jī)場(chǎng)供油自控系統(tǒng)為例,對(duì)其進(jìn)行風(fēng)險(xiǎn)評(píng)估與分析。供油自控系統(tǒng)是保證機(jī)場(chǎng)正常運(yùn)行的關(guān)鍵配套設(shè)施,主要控制油料運(yùn)入與輸出,檢測(cè)環(huán)境溫度與油罐液位。
SCADA系統(tǒng)位于整個(gè)機(jī)場(chǎng)供油自控系統(tǒng)網(wǎng)絡(luò)中的集中控制層。向上連接著MES(執(zhí)行制造層)層和管理調(diào)度層,向下連接著現(xiàn)場(chǎng)控制層和采集執(zhí)行層。攻擊者一旦侵入了SCADA系統(tǒng)即可通過工控系統(tǒng)的內(nèi)部網(wǎng)絡(luò)對(duì)上層的決策環(huán)節(jié)進(jìn)行干預(yù),并可能改變現(xiàn)場(chǎng)控制層的參數(shù)設(shè)置,從而造成嚴(yán)重的生產(chǎn)事故。圖4為某機(jī)場(chǎng)供油自控系統(tǒng)的拓?fù)鋱D。
圖4 某機(jī)場(chǎng)供油自控系統(tǒng)拓?fù)鋱D
通過實(shí)地調(diào)研,可以通過物理攻擊或者網(wǎng)絡(luò)攻擊兩種手段達(dá)到最終攻擊SCADA系統(tǒng)主站的目的。在網(wǎng)絡(luò)攻擊的方式中,既可以通過外部網(wǎng)絡(luò)直接入侵SCADA系統(tǒng)主站,也可以通過攻擊從站并接入SCADA系統(tǒng)內(nèi)部通信網(wǎng)絡(luò)鏈路達(dá)到攻擊系統(tǒng)主站的目的。根據(jù)第二節(jié)介紹的內(nèi)容進(jìn)行反向推理,先確定了機(jī)場(chǎng)供油自控系統(tǒng)SCADA主站為根節(jié)點(diǎn),再逐層獲得中間節(jié)點(diǎn)和葉節(jié)點(diǎn)。最終獲得了以機(jī)場(chǎng)供油自控系統(tǒng)SCADA主站為根節(jié)點(diǎn)的攻擊樹。在攻擊樹的基礎(chǔ)上針對(duì)各葉節(jié)點(diǎn)考慮相應(yīng)的防御手段,從而在葉節(jié)點(diǎn)上附加防御節(jié)點(diǎn),最終得到機(jī)場(chǎng)供油自控系統(tǒng)的攻擊防御樹模型,如圖5所示。
圖5 攻擊防御樹
該攻擊防御樹中根節(jié)點(diǎn),葉節(jié)點(diǎn),中間節(jié)點(diǎn)及防御節(jié)點(diǎn)的具體含義如表3所示。
表3 節(jié)點(diǎn)含義
根據(jù)前面章節(jié)的介紹,需要利用表2所示的評(píng)分標(biāo)準(zhǔn)對(duì)各葉節(jié)點(diǎn)的影響因素進(jìn)行專家打分,評(píng)分結(jié)果如表4所示。
表4 各節(jié)點(diǎn)評(píng)分結(jié)果表
根據(jù)表4可以分別獲得Ek節(jié)點(diǎn)costk,diffk,detk的值。然后根據(jù)各影響因素效用值與各影響因素的倒數(shù)關(guān)系計(jì)算得到影響因素的效用值U(costk),U(diffk),U(detk)。
1)根據(jù)0.1-0.9 比較尺度表(表1),利用專家打分法得到權(quán)重判斷矩陣D:
2)利用式(1)將矩陣D轉(zhuǎn)化為符合一致性的判斷矩陣,然后利用式(2)計(jì)算得到三個(gè)影響因素的權(quán)重向量P=[0.1,0.333,0.567]T。
3)使用3.2節(jié)中介紹的熵權(quán)法對(duì)三個(gè)影響因素的熵值進(jìn)行計(jì)算,從而得到客觀賦權(quán)法下三個(gè)影響因素的權(quán)重向量
4)利用3.3節(jié)中的式(7)以及主觀賦權(quán)法和客觀賦權(quán)法的權(quán)值分配的結(jié)果進(jìn)行組合權(quán)重的計(jì)算,計(jì)算得出最終影響因素的權(quán)值向量,即M=[0.15,0.04,0.81]T。
5)將4)中的權(quán)值向量M用于式(8)和式(9)中,計(jì)算得出考慮防御手段和不考慮防御手段兩種情況下各葉節(jié)點(diǎn)的脆弱性指數(shù)如表5所示。
表5 葉節(jié)點(diǎn)脆弱性指數(shù)
6)根據(jù)本文構(gòu)建的攻擊防御樹模型可知,總共有六條攻擊路徑可以達(dá)到最終的根節(jié)點(diǎn),分別為:i1={E1,E2};i2={E3};i3={E4};i4={E5};i5={E6};i6={E7}。根據(jù)(5)中葉節(jié)點(diǎn)脆弱性指數(shù)計(jì)算得到添加防御手段前后的攻擊路徑脆弱性指數(shù)結(jié)果如表6所示。
表6 各攻擊路徑脆弱性指數(shù)
7)由系統(tǒng)脆弱性指數(shù)計(jì)算結(jié)果分析可知,系統(tǒng)脆弱性指數(shù)為各攻擊路徑脆弱性指數(shù)中的最大值。即添加防御措施前為0.49,添加防御措施后為0.37。
8)應(yīng)用葉節(jié)點(diǎn)敏感度式(11)對(duì)各葉節(jié)點(diǎn)敏感度進(jìn)行計(jì)算,結(jié)果如表7所示
表7 各葉節(jié)點(diǎn)敏感性指數(shù)
由表3可知各葉結(jié)點(diǎn)的脆弱性E2,E3,E4為本文構(gòu)建的攻擊防御樹模型中三個(gè)最敏感的葉節(jié)點(diǎn)。
從該案例得到的評(píng)估結(jié)果來看,三個(gè)影響因素的權(quán)重分別為0.15,0.84,0.81。其中權(quán)值最高的影響因素為攻擊被發(fā)現(xiàn)的可能性大小。因此,對(duì)于攻擊者而言攻擊被發(fā)現(xiàn)的可能性是選擇攻擊路徑和方法時(shí)最優(yōu)先考慮的事項(xiàng),這可以決定它們的攻擊是否可以足夠長(zhǎng)時(shí)間的潛伏,以最大程度的破壞它們的目標(biāo)系統(tǒng);采用適當(dāng)?shù)姆烙侄蝿t可以有效的減小系統(tǒng)的脆弱性指數(shù)。
通過各攻擊路徑脆弱性指數(shù)可以看出,通過從站對(duì)主站進(jìn)行攻擊的方式最容易達(dá)成攻擊主站的目的。其中i4,i5攻擊路徑在添加防御措施前的脆弱性指數(shù)更是高達(dá)0.47和0.49。這是由于從站相對(duì)于主站而言防御措施更少,防御強(qiáng)度更低,但從站作為主站選擇用以接收數(shù)據(jù)的數(shù)據(jù)站存放著大量關(guān)鍵數(shù)據(jù)。攻擊者攻擊從站可以用相對(duì)小的代價(jià)獲取相對(duì)大的攻擊利益。對(duì)于機(jī)場(chǎng)供油自控系統(tǒng)而言,一旦篡改了從站的數(shù)據(jù)或者通過從站侵入主站對(duì)主站下達(dá)錯(cuò)誤指令,可能會(huì)導(dǎo)致油存儲(chǔ)量超過閾值等一系列直接危害供油系統(tǒng)安全的重大事故。這就提醒相關(guān)工業(yè)控制系統(tǒng)在進(jìn)行防御措施構(gòu)建和日常檢測(cè)時(shí)應(yīng)當(dāng)加大對(duì)從站的防護(hù)力度,從而減少通過從站攻擊主站的風(fēng)險(xiǎn)。
通過葉節(jié)點(diǎn)敏感度的評(píng)估可知E2,E3,E4葉節(jié)點(diǎn)敏感指數(shù)都達(dá)到了3,是最為敏感的三個(gè)關(guān)鍵節(jié)點(diǎn)。因此在制定相應(yīng)的防御措施時(shí),應(yīng)采用更多的手段來加強(qiáng)針對(duì)E2,E3,E4這三個(gè)關(guān)鍵節(jié)點(diǎn)的防御措施,以增加系統(tǒng)的信息安全程度。比如防火墻的配置,異常檢測(cè),流量監(jiān)控,生物密碼識(shí)別等一系列方法。
本文主要結(jié)合層次分析法與熵權(quán)法,提出了一種基于攻擊防御樹的工業(yè)控制系統(tǒng)安全評(píng)估模型。該模型可以有效的對(duì)工業(yè)控制系統(tǒng)的安全進(jìn)行評(píng)估,計(jì)算得出系統(tǒng)的脆弱性指數(shù)以及各關(guān)鍵節(jié)點(diǎn)的脆弱性指數(shù)。該方法主要用于輔助技術(shù)人員制定防御手段,優(yōu)化防御措施方案。