顧兆軍 彭輝
關(guān)鍵詞: 工業(yè)控制系統(tǒng); 漏洞風(fēng)險(xiǎn)評(píng)估; 攻擊圖; 層次分析法; 風(fēng)險(xiǎn)值計(jì)算; 綜合損失計(jì)算
中圖分類號(hào): TN082?34; TP393.08 ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2019)14?0112?05
Method of vulnerability risk assessment for industrial control systems
GU Zhaojun1,2, PENG Hui1,2
(1. College of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China;
2. Information Security Assessment Center, Civil Aviation University of China, Tianjin 300300, China)
Abstract: In allusion to the current situation that the current vulnerability risk analysis of the ICS ignores the correlations between vulnerabilities, a method of new vulnerability risk assessment for the ICSs is proposed. In the method, the ICS attack graph model is established. Two indexes of vulnerability value and vulnerability utilization probability are put forward. The calculation formulas of the indexes are given combining the security attributes and defensive characteristics of the ICSs. The index quantification is completed by adopting the analytic hierarchy process and considering the component features and attacker′s purposes. The actual utilization probability and comprehensive loss of the vulnerabilities are calculated according to the correlations between vulnerabilities in the attack graph, so as to complete the calculation of vulnerability risk values. An experimental analysis was conducted taking a certain ICS of the civil aviation as an example. The results show that the method can comprehensively assess the vulnerability risk of the ICS.
Keywords: industrial control system; vulnerability risk assessment; attack graph; analytic hierarchy process; ?value?at?risk calculation; comprehensive loss calculation
0 ?引 ?言
隨著工業(yè)技術(shù)和信息技術(shù)的深度融合,網(wǎng)絡(luò)攻擊不再局限于信息域,攻擊范圍從虛擬空間擴(kuò)展到工業(yè)控制系統(tǒng)(Industrial Control System,ICS)。2010—2015年爆發(fā)的Stuxnet[1?2],HaveX等病毒事件對(duì)社會(huì)造成了極大的危害。由這些事件可看出ICS安全的嚴(yán)峻性和重要性。風(fēng)險(xiǎn)評(píng)估是保障控制系統(tǒng)安全、穩(wěn)定運(yùn)行的一個(gè)有效手段。
武文博等人對(duì)信息物理系統(tǒng)中的跨域攻擊進(jìn)行分析,提出攻擊成功概率和攻擊后果兩個(gè)度量指標(biāo),較為準(zhǔn)確地完成系統(tǒng)的風(fēng)險(xiǎn)評(píng)估[3]。黃家輝等人在系統(tǒng)地研究工控系統(tǒng)中存在的各類脆弱性后,提出漏洞利用難度和漏洞危害性兩個(gè)度量指標(biāo),較為科學(xué)地對(duì)系統(tǒng)進(jìn)行了脆弱性評(píng)估[4]。王作廣等人提出一種基于攻擊樹和CVSS(Common Vulnerability Scoring System)的ICS風(fēng)險(xiǎn)量化評(píng)估方法,結(jié)合CVSS 3.0描述組件脆弱性可利用概率等,較為客觀地完成了系統(tǒng)的風(fēng)險(xiǎn)評(píng)估[5]。但上述文章提出的ICS漏洞指標(biāo)的量化方法均未考慮漏洞間的關(guān)聯(lián)性,沒有對(duì)漏洞危害的傳播性進(jìn)行分析。
針對(duì)上述問題,本文提出一種ICS漏洞風(fēng)險(xiǎn)評(píng)估方法。該方法以ICS攻擊圖為基礎(chǔ),綜合漏洞價(jià)值和漏洞利用概率兩種指標(biāo),根據(jù)漏洞間的關(guān)聯(lián)性完成漏洞的風(fēng)險(xiǎn)評(píng)估,評(píng)估結(jié)果能較為準(zhǔn)確地反映出漏洞對(duì)整個(gè)ICS的影響程度。
1 ?攻擊圖模型
由于ICS采取縱深防御的策略進(jìn)行防御,攻擊者往往不能直接對(duì)目的主機(jī)發(fā)起攻擊,因此需要在ICS的網(wǎng)絡(luò)邊界尋找漏洞作為攻擊起點(diǎn),并利用漏洞間的關(guān)聯(lián)關(guān)系對(duì)目的主機(jī)發(fā)起攻擊。若只是關(guān)注單個(gè)漏洞的風(fēng)險(xiǎn),就不能分析出漏洞在整個(gè)網(wǎng)絡(luò)中的嚴(yán)重程度。因此,在對(duì)ICS中的漏洞進(jìn)行評(píng)估時(shí),需要識(shí)別漏洞間的利用關(guān)系。攻擊圖[6]能從攻擊者視角出發(fā),在全面分析系統(tǒng)脆弱性信息的基礎(chǔ)上,列舉所有可能的攻擊路徑,進(jìn)而向防御者展示脆弱點(diǎn)之間的利用關(guān)系。因此,攻擊圖是解決此問題的良好模型之一。
為了便于分析,本文對(duì)屬性攻擊圖進(jìn)行簡(jiǎn)化,得到ICS漏洞攻擊圖。該圖以漏洞作為圖的節(jié)點(diǎn),攻擊路徑作為邊,可被描述為[AG=N,L],其中,[N]代表系統(tǒng)的漏洞集合,[L]代表漏洞間的滲透關(guān)系。[AG]滿足以下約束關(guān)系:[?n∈N],令[pren]是[n]的父節(jié)點(diǎn)集合,則父節(jié)點(diǎn)之間存在兩種基本邏輯關(guān)系和一種混合關(guān)系,分別是“與”關(guān)系、“或”關(guān)系和“MIX”關(guān)系,如圖1所示。
2 ?基于攻擊圖的ICS漏洞風(fēng)險(xiǎn)評(píng)估
參考IEC61508標(biāo)準(zhǔn)中ICS風(fēng)險(xiǎn)的計(jì)算方法,ICS漏洞風(fēng)險(xiǎn)[Ri]等于漏洞的實(shí)際利用概率[Pi]與漏洞造成的綜合損失[CLi]的乘積,即
[Ri=Pi·CLi] ?(1)
式中:[Pi]表示漏洞[i]在整個(gè)網(wǎng)絡(luò)中被攻擊成功的概率,與漏洞在網(wǎng)絡(luò)中的邏輯位置和漏洞利用概率有關(guān);[CLi]代表漏洞[i]對(duì)整個(gè)系統(tǒng)造成的總損失,等于自身損失和傳播損失之和,與漏洞價(jià)值有關(guān)。自身損失代表漏洞自身對(duì)系統(tǒng)造成的損失,傳播損失代表攻擊者通過此漏洞攻擊與之直接關(guān)聯(lián)的漏洞而導(dǎo)致的損失。
本文所提出的基于攻擊圖的ICS漏洞風(fēng)險(xiǎn)評(píng)估的具體步驟如下:
1) 提取ICS漏洞信息,并參考文獻(xiàn)[7]建立系統(tǒng)的攻擊圖模型;
2) 提出漏洞價(jià)值[vi]和漏洞利用概率[pi]兩個(gè)指標(biāo),并結(jié)合ICS中的功能損失和防御強(qiáng)度等方面來給出這兩個(gè)指標(biāo)的計(jì)算公式;
3) 采用層次分析法并結(jié)合組件特征和攻擊者目的,完成指標(biāo)的量化;
4) 以攻擊圖作為分析工具,并結(jié)合[vi]和 [pi]計(jì)算漏洞的實(shí)際利用概率[Pi]和綜合損失[CLi],最后利用式(1)完成漏洞風(fēng)險(xiǎn)的計(jì)算。
2.1 ?漏洞價(jià)值
漏洞價(jià)值是指漏洞被攻擊成功后對(duì)系統(tǒng)造成的損害程度,結(jié)合ICS的安全屬性[8],它可用漏洞對(duì)ICS的功能性、信息性和物理性三個(gè)方面造成的損失來衡量。
功能損失([FLi]):功能的完整性能夠確保ICS組件功能的正確執(zhí)行,功能性被損害后,會(huì)對(duì)健康、安全、環(huán)境(HSE)造成影響,因此可通過HSE事件的影響程度來衡量功能損失。
信息損失([ILi]):信息的正確性對(duì)ICS的穩(wěn)定運(yùn)行起著重要的作用,因此利用漏洞獲取系統(tǒng)的關(guān)鍵信息是攻擊者的重要目標(biāo)。信息損失可參考CVSS標(biāo)準(zhǔn),從機(jī)密性、完整性和可用性(CIA)三個(gè)方面來衡量。
物理損失([PLi]):物理損失與組件的軟硬件成本相關(guān),成本越高,漏洞造成的物理損失可能就越大。
根據(jù)上述分析,漏洞價(jià)值的公式為:
[vi=δFLi+εILi+θPLi] (2)
式中:[vi]表示漏洞[i]的價(jià)值;[FLi],[ILi]和[PLi]分別為漏洞[i]造成的功能損失、信息損失和物理損失的等級(jí)評(píng)分,均由專家評(píng)估給出;[δ],[ε],[θ]表示不同因素對(duì)漏洞價(jià)值的影響權(quán)重,這3個(gè)權(quán)重之和為1。結(jié)合ICS的特征,本文采用的等級(jí)評(píng)分標(biāo)準(zhǔn)如表1、表2所示。
2.2 ?漏洞利用概率
漏洞利用概率指漏洞被單步攻擊成功的可能性,該指標(biāo)受多種因素的影響,包括防御強(qiáng)度、攻擊被發(fā)現(xiàn)可能性和攻擊成本。
防御強(qiáng)度([DSi]):ICS采用縱深防御的體系架構(gòu)進(jìn)行防御,因此防御強(qiáng)度與縱深防御策略下安全機(jī)制的設(shè)計(jì)有關(guān)。安全機(jī)制的設(shè)計(jì)主要有入侵檢測(cè)、工業(yè)防火墻[9]部署、認(rèn)證等。入侵檢測(cè)和工業(yè)防火墻是ICS邊界防御的關(guān)鍵技術(shù),認(rèn)證是組件鑒別數(shù)據(jù)安全性的關(guān)鍵措施。防御強(qiáng)度越高,則攻擊難度越大,漏洞被攻擊成功的概率就越小。
攻擊被發(fā)現(xiàn)可能性([DPi]):可參考行業(yè)或測(cè)評(píng)單位的等級(jí)劃分標(biāo)準(zhǔn)給出。攻擊被發(fā)現(xiàn)的可能性越高,攻擊成功的概率就越低。
攻擊成本([ACi]):表示攻擊者在攻擊漏洞的過程中所花費(fèi)的成本。攻擊成本越高,攻擊成功概率也就越低。
計(jì)算漏洞利用概率的公式為:
[pi=α1DSi+β1DPi+γ1ACi] ?(3)
式中:[pi]表示漏洞[i]的利用概率;[DSi],[DPi]和[ACi]分別表示漏洞[i]所處網(wǎng)絡(luò)環(huán)境的防御強(qiáng)度、攻擊漏洞[i]被發(fā)現(xiàn)可能性和攻擊成本的等級(jí)評(píng)分,由專家評(píng)估給出;[α],[β]和[γ]為影響權(quán)重,權(quán)重之和為1。結(jié)合ICS的防御特征和安全屬性,本文采用的等級(jí)評(píng)分標(biāo)準(zhǔn)如表3、表4所示。
2.3 ?基于AHP的權(quán)值量化
漏洞風(fēng)險(xiǎn)值的確定是以漏洞價(jià)值和利用概率作為基礎(chǔ)數(shù)據(jù)進(jìn)行衡量,因此式(2)、式(3)中權(quán)值的確定會(huì)對(duì)風(fēng)險(xiǎn)結(jié)果產(chǎn)生很大影響。
由于式(2)中漏洞所處組件的特征不同,權(quán)值分配會(huì)不同。若漏洞位于數(shù)據(jù)庫,則攻擊者更傾向于獲取更多的機(jī)密數(shù)據(jù),而不會(huì)損害組件的功能性。如果漏洞位于PLC等控制組件,那么攻擊者更愿意對(duì)PLC進(jìn)行功能性破壞,以達(dá)到攻擊目的。如果漏洞位于軟硬件成本較高的組件,那么攻擊者可能更傾向于破壞組件的物理特性。
由于式(3)中攻擊者利用漏洞的目的不同,權(quán)值分配就會(huì)有所不同。若攻擊者目的是對(duì)組件造成破壞,則攻擊者著重考慮防御強(qiáng)度;若攻擊者是為了在組件中留下后門,以便長期進(jìn)行信息的收集,那么考慮更多的是被發(fā)現(xiàn)可能性;若攻擊者是為了獲取組件中的商業(yè)數(shù)據(jù),則可能優(yōu)先考慮攻擊成本。
針對(duì)上述分析,本文采用層次分析法(Analytic Hierarchy Process,AHP),并兼顧組件特性和攻擊者目的對(duì)屬性權(quán)值進(jìn)行定量分析。本文以ICS中工業(yè)數(shù)據(jù)庫的某漏洞為例進(jìn)行漏洞價(jià)值分析,那么信息損失、功能損失和物理損失的重要性依次降低?;诖私?jīng)驗(yàn)判斷,引入9級(jí)分制標(biāo)度法來構(gòu)造漏洞價(jià)值的比較等級(jí)表,如表5所示。
根據(jù)比較等級(jí)表以及功能損失、信息損失和物理損失3個(gè)因素對(duì)漏洞價(jià)值的影響程度,構(gòu)造判斷矩陣[C]:
[C=113331513151]
定義一致性比率[CR]為[CI]和[RI]之比。當(dāng)滿足式(4)時(shí),矩陣[C]可通過一致性檢驗(yàn)。
[CR=CIRI<0.1] (4)
一致性指標(biāo)[CI=γmax-n(n-1)],其中,[n]是矩陣維數(shù),[γmax]是矩陣的最大特征值。[RI]為隨機(jī)一致性指標(biāo),值取自AHP中的隨機(jī)性指標(biāo)取值表。經(jīng)計(jì)算得:[γmax=3.034,][CI=0.019 ?5,][RI=0.58,][CR=0.033 ?6]。[CR<0.1],矩陣[C]通過一致性檢驗(yàn)。
采用和積法求解出[γmax]對(duì)應(yīng)的特征向量,即為各屬性對(duì)應(yīng)的權(quán)值。由此,可以得出[δ=0.260],[ε=0.634],[θ=0.106]。將上述參數(shù)代入式(2),可得出漏洞價(jià)值。同理計(jì)算漏洞利用概率。
2.4 ?計(jì)算實(shí)際利用概率[Pi]和綜合損失[CLi]
基于攻擊圖,以漏洞利用概率[pi]和漏洞價(jià)值[vi]作為基礎(chǔ)數(shù)據(jù),采用廣度優(yōu)先搜索[10]的策略計(jì)算[pi]和[CLi],算法步驟為:
1) 將攻擊圖中的初始漏洞加入隊(duì)列Q;
2) 當(dāng)Q不為空時(shí),則從Q中取出一個(gè)節(jié)點(diǎn)作為當(dāng)前節(jié)點(diǎn),遍歷找出它的所有子節(jié)點(diǎn),若子節(jié)點(diǎn)不在Q中,則將其子節(jié)點(diǎn)加入Q中。
當(dāng)前節(jié)點(diǎn)[scur]的綜合損失為:
① 若[scur]的無子節(jié)點(diǎn),則[CLscur=vscur]
② 若[scur]有子節(jié)點(diǎn)[si(1≤i≤k,k≥1)],則[CLscur=vscur+i=1kpsivsi]。
當(dāng)前節(jié)點(diǎn)[scur]的實(shí)際利用概率[Pscur]為:
① 若[scur]的無父節(jié)點(diǎn),則[Pscur=pscur]。
②若[scur]的父節(jié)點(diǎn)[tj(1≤j≤l,l≥1)]均為“與”關(guān)系,則[Pscur=pscurj=1lPtj]。
③ 若父節(jié)點(diǎn)[tj(1≤j≤l,l≥1)]均為“或”關(guān)系,則[Pscur=pscurj=1lPtj-j=1lPtj]。
④ 若父節(jié)點(diǎn)[tj(1≤j≤l,l≥1)]為“MIX”關(guān)系,參考圖2的分解及計(jì)算方法計(jì)算[Pscur]。
3) 重復(fù)執(zhí)行步驟2),直至Q為空。
此算法輸入為ICS攻擊圖、漏洞利用概率和漏洞價(jià)值,輸出則為所有漏洞的[Pi]和[CLi]。根據(jù)式(1)可得出每個(gè)漏洞的風(fēng)險(xiǎn)值。
3 ?實(shí)驗(yàn)結(jié)果與分析
以民航某工業(yè)控制系統(tǒng)為例進(jìn)行實(shí)驗(yàn)分析,實(shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)如圖3所示。系統(tǒng)共包含6個(gè)組件,漏洞信息如表6所示。
3.1 ?攻擊圖生成及指標(biāo)量化
由文獻(xiàn)[7]的算法生成攻擊圖。通過對(duì)漏洞的邏輯關(guān)系分析得到ICS漏洞攻擊圖,如圖4所示。利用表1~表4所示的等級(jí)評(píng)分方法,由專家對(duì)漏洞價(jià)值和漏洞利用概率的影響因素打分,評(píng)分結(jié)果如表7所示。
將上述各值代入式(2)、式(3),并利用AHP確定權(quán)重,得到各漏洞的漏洞價(jià)值和漏洞利用概率,結(jié)果為:
[Vvi=1,2,1.63,2.74,2.53,2.79]
[Vpi=0.52,0.5,0.34,0.35,0.48,0.60]
3.2 ?漏洞風(fēng)險(xiǎn)計(jì)算及分析
根據(jù)第2.4節(jié)的算法,并結(jié)合第3.1節(jié)計(jì)算出的漏洞價(jià)值和漏洞利用概率,計(jì)算出漏洞的實(shí)際利用概率[Pi]和綜合損失[CLi],結(jié)果向量分別為:
[VPi=0.52,0.26,0.18,0.14,0.14,0.08]
[VCLi=2.55,2.96,3.80,5.63,2.53,2.79]
由式(1)得:
[VRi=1.326,0.769,0.684,0.788,0.354,0.223]
由漏洞風(fēng)險(xiǎn)值[VRi]可知,漏洞1和漏洞4的風(fēng)險(xiǎn)較大。漏洞1位于與互聯(lián)網(wǎng)相連的客戶機(jī),往往呈現(xiàn)較大的攻擊面,因此實(shí)際利用概率較高,風(fēng)險(xiǎn)值也就越大。漏洞4位于SCADA服務(wù)器,雖然實(shí)際利用概率較低,但由于和底層控制組件中的漏洞存在關(guān)聯(lián)關(guān)系,所以綜合損失較大,風(fēng)險(xiǎn)值也就較大。一旦被滲透成功,再加上ICS的集中管理、分布控制的特點(diǎn),則可以向多個(gè)底層的控制組件發(fā)送錯(cuò)誤的數(shù)據(jù)或指令以引起組件的爆炸,進(jìn)而造成更大的損失。
對(duì)于漏洞5和漏洞6,雖然漏洞利用概率較大,但由于攻擊者需要以多個(gè)漏洞為跳板才能將其滲透成功,所以實(shí)際利用概率較小;而且兩者位于控制組件PLC中,一旦被滲透成功,只會(huì)對(duì)自身所在控件造成影響,整體風(fēng)險(xiǎn)值也就較小。
4 ?結(jié) ?語
本文研究一種基于攻擊圖的ICS漏洞風(fēng)險(xiǎn)評(píng)估方法。該方法的主要?jiǎng)?chuàng)新點(diǎn)有:
1) 提出漏洞價(jià)值[vi]和漏洞利用概率[pi]兩個(gè)評(píng)價(jià)指標(biāo),并結(jié)合ICS的工業(yè)特征完成指標(biāo)的量化,結(jié)果更貼近ICS的工業(yè)環(huán)境。
2) 利用攻擊圖中漏洞間的關(guān)聯(lián)關(guān)系,并結(jié)合漏洞價(jià)值和漏洞利用概率,計(jì)算漏洞的實(shí)際利用概率和綜合損失,進(jìn)而完成漏洞的風(fēng)險(xiǎn)評(píng)估,結(jié)果能夠反映漏洞在整個(gè)系統(tǒng)中具有的風(fēng)險(xiǎn)。
實(shí)驗(yàn)結(jié)果表明,該方法能夠有效地評(píng)估漏洞風(fēng)險(xiǎn),結(jié)果與實(shí)際情況相符。
注:本文通訊作者為彭輝。
參考文獻(xiàn)
[1] CHEMINOD M, DURANTE L, VALENZANO A. Review of security issues in industrial networks [J]. IEEE transactions on industrial informatics, 2013, 9(1): 277?293.
[2] LANGNER R. Stuxnet: dissecting a cyberwarfare weapon [J]. IEEE security & privacy, 2011, 9(3): 49?51.
[3] 武文博,康銳,李梓.基于攻擊圖的信息物理系統(tǒng)信息安全風(fēng)險(xiǎn)評(píng)估方法[J].計(jì)算機(jī)應(yīng)用,2016,36(1):203?206.
WU Wenbo, KANG Rui, LI Zi. Attack graph based risk assessment method for cyber security of cyber?physical system [J]. Journal of computer applications, 2016, 36 (1): 203?206.
[4] 黃家輝,馮冬芹,王虹鑒.基于攻擊圖的工控系統(tǒng)脆弱性量化方法[J].自動(dòng)化學(xué)報(bào),2016,42(5):792?798.
HUANG Jiahui, FENG Dongqin, WANG Hongjian. A method for quantifying vulnerability of industrial control system based on attack graph [J]. Acta automatica sinica, 2016, 42(5): 792?798.
[5] 王作廣,魏強(qiáng),劉雯雯.基于攻擊樹與CVSS的工業(yè)控制系統(tǒng)風(fēng)險(xiǎn)量化評(píng)估[J].計(jì)算機(jī)應(yīng)用研究,2016,33(12):3785?3790.
WANG Zuoguang, WEI Qiang, LIU Wenwen. Quantitative risk assessment of industrial control systems based on attack?tree and CVSS [J]. Application research of computers, 2016, 33(12): 3785?3790.
[6] HOMER J, ZHANG S, OU X, et al. Aggregating vulnerability metrics in enterprise networks using attack graphs [J]. Journal of computer security, 2013, 21(4): 561?597.
[7] NOEL S, JAJODIA S. Understanding complex network attack graphs through clustered adjacency matrices [C]// Proceedings of the 21th Annual Computer Security Applications Conference. Tucson: IEEE, 2005: 160?169.
[8] 蔣寧,林滸,尹震宇,等.工業(yè)控制網(wǎng)絡(luò)的信息安全及縱深防御體系結(jié)構(gòu)研究[J].小型微型計(jì)算機(jī)系統(tǒng),2017,38(4):830?833.
JIANG Ning, LIN Hu, YIN Zhenyu, et al. Research of security and defense?in?depth architecture of industrial control network [J]. Journal of Chinese computer systems, 2017, 38(4): 830?833.
[9] SHAKSHUKI E M, KANG N, SHELTAMI T R. EAACK: a secure intrusion?detection system for MANETs [J]. IEEE transactions on industrial electronics, 2013, 60(3): 1089?1098.
[10] BEAMER S, ASANOVI? K, PATTERSON D. Direction?optimizing breadth?first search [J]. Scientific programming, 2013, 21(3): 137?148.