蘇 振 宇
(浪潮集團高效能服務(wù)器和存儲技術(shù)國家重點實驗室 山東 濟南 250101)
服務(wù)器是在網(wǎng)絡(luò)環(huán)境下提供文件、數(shù)據(jù)庫、應(yīng)用程序、Web等計算服務(wù)的設(shè)備。由于在網(wǎng)絡(luò)空間中存在著諸多的脆弱性和威脅,因此作為網(wǎng)絡(luò)空間的計算節(jié)點,服務(wù)器需要具備安全措施以滿足機密性、完整性、可用性等信息安全目標(biāo),否則將會成為網(wǎng)絡(luò)空間的安全隱患,甚至危及到國家安全。當(dāng)前黑客的入侵手段在傳統(tǒng)的竊取信息為主的應(yīng)用軟件攻擊、操作系統(tǒng)攻擊基礎(chǔ)上擴大為入侵固件和毀壞硬件設(shè)備的硬件攻擊,給我國的信息安全產(chǎn)業(yè)敲響了警鐘。因此,服務(wù)器的固件安全問題應(yīng)當(dāng)引起重視。
攻擊樹是一種圖形化的威脅建模方法,針對攻擊類型的變化多樣,提供了正式的方法描述系統(tǒng)安全[1]。該模型把對系統(tǒng)的攻擊放置到樹型結(jié)構(gòu)中進行展現(xiàn),要達成的目標(biāo)表示成根節(jié)點,要達成目標(biāo)采用的各種方法表示成葉節(jié)點。由于攻擊樹模型易于呈現(xiàn),具有形式化分析的特點,已有學(xué)者將攻擊樹應(yīng)用于不同的目標(biāo)系統(tǒng)中進行威脅分析、風(fēng)險評估等工作。
文獻[2]提出了一種基于攻擊樹的工業(yè)控制系統(tǒng)信息安全風(fēng)險評估方法,定量分析了各攻擊序列遭受攻擊風(fēng)險概率的大小,有助于找到最有可能被攻擊者利用的攻擊路徑和方式,不足之處在于量化葉節(jié)點指標(biāo)時引入了主觀因素的干預(yù)。文獻[3]提出了一種改進的基于擴展攻擊樹模型的木馬檢測方法,在木馬檢測效率、準(zhǔn)確度方面有較好的表現(xiàn),但不能全面地發(fā)現(xiàn)各種威脅。文獻[4-5]設(shè)計了基于層次分析法的攻擊樹模型,彌補了傳統(tǒng)攻擊樹模型在計算攻擊事件發(fā)生概率時未考慮各安全屬性權(quán)值的缺點,但未充分考慮葉節(jié)點在安全屬性賦值時人的模糊性。文獻[6]提出了一種基于層次分析法的攻防樹模型,在考慮葉節(jié)點時給出了攻擊和防御葉節(jié)點的安全屬性,但也未能克服層次分析法的缺陷。
因此,基于目前的研究進展,本文采用基于模糊層次分析法(FAHP)的攻擊樹模型對服務(wù)器的固件進行威脅建模和安全風(fēng)險分析,為了最大化消除人的主觀性因素,建立了模糊一致判斷矩陣計算葉節(jié)點安全屬性權(quán)值,從而客觀定量地計算出權(quán)值向量。
固件是程序編譯后形成的二進制文件,并固化封裝在芯片中,其功能是完成將機器的控制權(quán)由處理器硬件轉(zhuǎn)交給操作系統(tǒng)的任務(wù)[7]。與操作系統(tǒng)和軟件攻擊不同,固件攻擊的主要特點包括可直接攻擊硬件、可直接攻擊操作系統(tǒng)、攻擊行為不容易檢測、難以清除固件木馬等。
美國國家標(biāo)準(zhǔn)技術(shù)研究院(NIST)發(fā)布的SP800-193標(biāo)準(zhǔn)中列舉了服務(wù)器平臺的固件種類[8],圖1為服務(wù)器主板的硬件架構(gòu)圖,以下對其中包含固件的模塊及面臨的安全風(fēng)險進行分析。
圖1 服務(wù)器硬件平臺構(gòu)成
(1) 基板管理控制器(Baseboard Management Controller,BMC)。BMC是服務(wù)器的管理控制單元,基于嵌入式處理器并運行經(jīng)過內(nèi)核裁剪的Linux操作系統(tǒng),通過Web頁面方式進行遠程控制和管理。BMC通常面臨Linux系統(tǒng)、網(wǎng)絡(luò)協(xié)議、Web應(yīng)用被侵入的安全風(fēng)險,還面臨Http、IPMI[9]、SNMP、SSH等協(xié)議的固有安全缺陷問題。
(2) 基本輸入輸出系統(tǒng)(Basic Input and Output System,BIOS)。BIOS是主處理器啟動固件,基于統(tǒng)一可擴展固件接口(Unified Extensible Firmware Interface,UEFI)標(biāo)準(zhǔn)[10],作用是對服務(wù)器硬件進行初始化和配置。BIOS面臨的威脅包括植入病毒、木馬,利用配置漏洞和UEFI協(xié)議漏洞進行攻擊等。例如通過系統(tǒng)管理模式(SMM)隱藏Rootkit惡意代碼,可以執(zhí)行特權(quán)指令和IO操作,該模式只能被固件調(diào)用,并且對操作系統(tǒng)完全透明。
(3) 硬盤。包括機械硬盤(Hard Disk Drive,HDD)和固態(tài)硬盤(Solid State Drive,SSD),其內(nèi)部都具有控制器芯片,針對硬盤控制器的固件進行攻擊能夠繞過操作系統(tǒng)的監(jiān)控,直接對硬盤數(shù)據(jù)進行修改[11]。
(4) 網(wǎng)絡(luò)接口控制器(Network Interface Controller,NIC)。即網(wǎng)卡,面臨的安全風(fēng)險為存儲在網(wǎng)卡可變存儲區(qū)中的MAC地址等關(guān)鍵數(shù)據(jù)被篡改會導(dǎo)致拒絕服務(wù)(Denial of Service,DoS)攻擊。
(5) 圖形處理單元(Graphics Processing Unit,GPU)。面臨的安全威脅主要是在GPU卡固件中植入惡意代碼,進行Rootkit攻擊。例如,利用木馬能夠?qū)τ脩舻逆I盤敲擊進行記錄,并將信息存儲在板卡中,達到跨平臺隱藏Rootkit的目的[12]。
(6) 可編程邏輯器件。包括FPGA、CPLD等,作為系統(tǒng)操作的基礎(chǔ)邏輯器件,其二進制編程文件一旦被破壞會導(dǎo)致硬件平臺基礎(chǔ)功能受損[13]。
(7) 電源。服務(wù)器主板的供電電源中也有控制芯片,電源固件也存在被攻擊的安全風(fēng)險。
除了固件攻擊手段之外,對服務(wù)的攻擊方式還包括對軟件、系統(tǒng)層面的攻擊,這些攻擊手段共同構(gòu)成了對服務(wù)器的攻擊森林,而固件攻擊是森林中的一棵樹。根據(jù)以上固件的威脅分析,建立服務(wù)器固件的攻擊樹模型,如圖2所示。
圖2 威脅樹模型
圖2中,根節(jié)點G代表攻擊者最終的攻擊目標(biāo),即服務(wù)器的固件;葉節(jié)點表示采取的各種攻擊手段,即具體攻擊事件;中間節(jié)點表示攻擊的中間步驟。
設(shè)Pm為父節(jié)點實現(xiàn)的概率,Pm1、Pm2、…、Pmn為其下各個子節(jié)點的實現(xiàn)概率。對于具有AND(邏輯與)關(guān)系的節(jié)點,父節(jié)點的實現(xiàn)概率為其下各個子節(jié)點的實現(xiàn)概率之積[2],即:
Pm=Pm1×Pm2×…×Pmn
(1)
對于具有OR(邏輯或)關(guān)系的節(jié)點,其父節(jié)點實現(xiàn)概率為其下各個子節(jié)點實現(xiàn)概率中的最大值[2],即:
Pm=max{Pm1,Pm2,…,Pmn}
(2)
攻擊樹各節(jié)點的含義如表1所示。
表1 攻擊樹各節(jié)點含義
層次分析法(AHP)是威脅建模中采用較多的一種方法,AHP建立層次結(jié)構(gòu)模型之后需要構(gòu)造判斷矩陣并進行層次排序,之后計算模型中各層的構(gòu)成要素相對于目標(biāo)的組合權(quán)重,其缺點是如果建立的判斷矩陣不合理,AHP的效果較差[4]。而FAHP相對于AHP的優(yōu)點在于:在AHP構(gòu)造的判斷矩陣的基礎(chǔ)上,通過元素之間的逐一比較進而構(gòu)成模糊一致矩陣,由模糊一致矩陣求解各元素相對重要性權(quán)重的方法比AHP合理。FAHP的合理性分析具體如下:
基于模糊數(shù)學(xué)的理論,元素之間的模糊關(guān)系用模糊矩陣表示,設(shè)e1,e2,…,en為待比較的元素,構(gòu)成集合U={e1,e2,…,en};存在矩陣R=(rij)n×n,矩陣元素rij表示ei與ej之間的模糊關(guān)系,具體意義是:
(1)rij表示元素ei與ej的重要程度之比,即rij越大,ei相對ej就越重要,rij>0.5表示ei比ej重要,rij<0.5則表示ej比ei重要。
(2) 由(1)中rij的性質(zhì)可知,1-rij則表示元素ei相對ej不重要的程度,根據(jù)互補性質(zhì),有rji=1-rij,即R=(rij)n×n是模糊互補矩陣。
(3) 在確定元素ei比元素ej重要程度(即rij>0.5)的過程中如果具有思維一致性,對于R中的任意2行,有rik>rjk,(k= 1,2,…,n);另外,rik-rjk是ei比ej相對重要的程度,再加上ej自身與自身比較的重要程度rjj,可得ei比ej絕對重要的度量值rij,即rij=rik-rjk+0.5,可知R=(rij)n×n是模糊一致矩陣。
因此,由模糊一致矩陣的性質(zhì)可知,用模糊一致矩陣R=(rij)n×n表示集合U={e1,e2,…,en}中元素ei比ej(i,j=1,2,…,n)重要的模糊關(guān)系是合理的。
由此可知,F(xiàn)AHP的優(yōu)點是基于尺度表對元素之間兩兩逐一比較后構(gòu)造出模糊判斷矩陣,把不符合一致性的模糊判斷矩陣轉(zhuǎn)換成模糊一致判斷矩陣,最后利用模糊一致判斷矩陣求出各元素相對重要性的權(quán)值。
定義攻擊樹每個葉節(jié)點的安全屬性包括:攻擊成本(Ecost)、攻擊難度(Ediff)和攻擊被發(fā)現(xiàn)的可能性(Edet)[2]。每個葉節(jié)點實現(xiàn)的概率為:
Pi=Wcost×Ucost(i)+Wdiff×Udiff(i)+Wdet×Udet(i)
(3)
式中:Pi表示葉節(jié)點發(fā)生的概率;Wcost、Wdiff和Wdet分別表示攻擊成本、攻擊難度和攻擊被發(fā)現(xiàn)的可能性的權(quán)值,且Wcost+Wdiff+Wdet=1。Ucost、Udiff、Udet表示葉節(jié)點的攻擊成本、攻擊難度和攻擊被發(fā)現(xiàn)的可能性的效用值[6]。在工程實踐中,采用專家打分的等級評分方式對葉節(jié)點的3個安全屬性進行評估,如表2所示。
表2 安全屬性評分標(biāo)準(zhǔn)
由前面分析可知,為了盡可能減少由專家打分帶來的主觀因素的影響,采用FAHP計算安全屬性的權(quán)值。由FAHP構(gòu)造的模糊一致矩陣的主要定理有:
定理1模糊互補矩陣R=(rij)n×n是模糊一致矩陣的充要條件是任意指定的兩行rik與rjk對應(yīng)元素之差為常數(shù)[14],即rik-rjk=rij-0.5。
定理2模糊互補矩陣R=(rij)n×n是模糊一致矩陣的充要條件是任意指定行rik和其余各行rjk對應(yīng)元素之差為常數(shù)[14],即rik-rjk=aj-ai,aj-ai為常數(shù)。
根據(jù)前面建立的攻擊樹模型可知,由于葉節(jié)點具有3個安全屬性,因此首先構(gòu)造判斷矩陣:
表3給出了使用0.1~0.9比較尺度對元素進行兩兩比較的說明,其中e1-e3為安全屬性的3個元素,e1=Ecost,e2=Ediff,e3=Edet。
根據(jù)模糊一致矩陣的性質(zhì),即式(4)-式(6)檢查矩陣C的一致性:
rii=0.5i=1,2,…,n
(4)
rij=1-rjii,j=1,2,…,n
(5)
rij=rik-rjk+0.5i,j,k=1,2,…,n
(6)
(7)
本例中C=C′,為模糊一致矩陣,之后根據(jù)式(8)求解各安全屬性權(quán)值,公式推導(dǎo)見文獻[14]。
(8)
式中:a與權(quán)重的差異度成反比,當(dāng)a=(n-1)/2時,權(quán)重的差異度越大。本文取a=(n-1)/2,n為模糊一致矩陣的階數(shù),本例中n=3,因此a=1,經(jīng)過計算得到矩陣的權(quán)值向量wc=(0.333 3 0.433 3 0.233 4)T。因此葉節(jié)點的權(quán)值為Wcost=0.333 3,Wdiff=0.433 3和Wdet=0.233 4。
在威脅量化階段,由專家評分的方式按照表2對攻擊樹每個葉節(jié)點的安全屬性進行判斷和打分,得到表4。
表4 安全屬性評估值
每個葉節(jié)點的安全屬性效用值Ucost、Udiff、Udet與表中的攻擊成本、攻擊難度和攻擊被發(fā)現(xiàn)的可能性成反比關(guān)系[2],為方便計算,不妨令Ucost=1/Ecost,Udiff=1/Ediff,Udet=1/Edet。由表4可計算出每個葉節(jié)點的3個安全屬性效用值。
結(jié)合上述已計算得出的安全屬性權(quán)值,根據(jù)式(3)可以計算出每個葉節(jié)點的概率,例如E1的攻擊概率為:P1=0.333/1+0.433 3/2+0.233 4/4=0.608。由此可以計算出全部葉節(jié)點的攻擊概率,見表4中最后一列。
攻擊路徑R是攻擊樹葉節(jié)點{E1,E2,…,En}的一個最小割集,即實現(xiàn)攻擊樹根節(jié)點所需的相關(guān)葉節(jié)點構(gòu)成的集合。由圖2可知,一共有12條路徑,分別為R1={E1},R2={E2},R3={E6,E7},R4={E3},R5={E8,E9},R6={E4},R7={E10},R8={E11},R9={E12},R10={E13},R11={E14},R12={E5}。根據(jù)式(1)和式(2),可以計算出每個攻擊路徑的概率,如表5所示。
表5 攻擊路徑實現(xiàn)的概率
可以看出,攻擊路徑R1、R2的概率最高,實現(xiàn)較容易。R1、R2分別為利用Linux系統(tǒng)漏洞和Web漏洞進行攻擊,都與BMC有關(guān),因此在實際應(yīng)用中需要重點保證BMC的安全性,防止黑客通過BMC入侵服務(wù)器。根據(jù)式(1)、式(2)可知,根節(jié)點的攻擊概率為所有攻擊路徑中的概率最大值,本例中R2的攻擊概率最大,因此根節(jié)點的攻擊概率為0.628。
為了進一步分析FAHP在攻擊樹威脅模型中的作用,將FAHP與文獻[4]采用的AHP作對比分析。AHP運用標(biāo)度1~9確定每一屬性的重要程度,構(gòu)造判斷矩陣C之后計算其最大特征根和特征向量,最后通過歸一化計算任意屬性相對于某一準(zhǔn)則的權(quán)值[4]。文獻[4]中構(gòu)造的判斷矩陣為:
經(jīng)計算得出最大特征根λmax=3.038 5,另外定義了參數(shù)CR作為一致性比率,將CR<0.1作為驗證判斷矩陣C具備一致性的標(biāo)準(zhǔn),最后經(jīng)過歸一化處理得出了葉節(jié)點的權(quán)值,見表6。
表6 本文方法與文獻[4]中各屬性權(quán)值對比
作為與本文方法的對比,利用文獻[4]的方法,將安全屬性權(quán)值代入式(3),重新計算了本文中攻擊樹模型的每個葉節(jié)點的指標(biāo)。圖3是本文方法與文獻[4]方法計算得出的每個葉節(jié)點的概率對比;圖4是本文方法與通過文獻[4]得出的攻擊路徑概率的對比。
圖3 葉節(jié)點實現(xiàn)概率對比圖
圖4 攻擊路徑概率對比圖
可以看出,本文方法與利用文獻[4]方法計算出的各葉節(jié)點發(fā)生概率和攻擊概率的差異較大,例如對于E1節(jié)點,本文方法得出的概率為0.608,利用文獻[4]計算出的概率僅為0.49;對于攻擊路徑R2,本文的概率為0.628,文獻[4]計算后僅為0.51。產(chǎn)生以上情況主要是由于各安全屬性的權(quán)值不同,具體原因是由AHP構(gòu)造判斷矩陣的方法帶有較強的主觀性,缺乏思維一致性,從而導(dǎo)致計算葉節(jié)點發(fā)生概率和攻擊概率的準(zhǔn)確性較差。此外AHP分析方法存在的問題還有:
(1) 驗證判斷矩陣具備一致性的結(jié)論是通過計算矩陣的最大特征根λmax并與矩陣階數(shù)n進行比較后得出的,即λmax=n說明判斷矩陣具有一致性。由于n為整數(shù),而計算出的λmax不一定為整數(shù),所以驗證判斷矩陣一致性的準(zhǔn)確性較差,并且當(dāng)n較大時,計算λmax比較耗時。
(2) 通過計算得出判斷標(biāo)準(zhǔn)CR<0.1說明判斷矩陣具有一致性,其結(jié)論缺乏理論依據(jù)和相關(guān)說明。
而本文采用FAHP構(gòu)造模糊一致矩陣的方法相比AHP由最大特征根和特征向量驗證判斷矩陣一致性的方法更加準(zhǔn)確。此外,F(xiàn)AHP調(diào)整矩陣元素的方法比AHP方法便捷,省略了后者必須經(jīng)過多次調(diào)整、驗證的繁瑣步驟,從而使得判斷矩陣轉(zhuǎn)換為模糊一致矩陣的方法更加容易。
總之,F(xiàn)AHP能夠有效降低人的主觀因素的影響,客觀計算出葉節(jié)點的發(fā)生概率和攻擊路徑概率,通過以上的對比分析可以看出本文方法的有效性。
最后,根據(jù)以上分析,為了緩解服務(wù)器的安全風(fēng)險,需要制定威脅應(yīng)對方案。為此,表7針對攻擊樹的每個葉節(jié)點制定了威脅應(yīng)對措施,以便降低識別出的威脅對服務(wù)器固件的影響,從而降低安全風(fēng)險,提升服務(wù)器應(yīng)對固件攻擊的能力。
表7 防御列表
本文針對服務(wù)器固件面臨的攻擊趨勢和安全威脅,提出基于攻擊樹的威脅模型,并且采用FAHP建立模糊一致判斷矩陣計算各葉節(jié)點的安全屬性值,從而最大化消除了人的主觀因素的影響,進而計算了葉節(jié)點實現(xiàn)概率和攻擊路徑概率。最后根據(jù)該模型對每個葉節(jié)點制定了威脅應(yīng)對措施,從而達到威脅消減的目的。
在工程實踐中,該模型應(yīng)用于需求分析階段,以便盡可能多地識別安全風(fēng)險,提供安全設(shè)計指導(dǎo),提升服務(wù)器固件應(yīng)對安全威脅的能力。由于通過一次威脅建模不可能全面識別系統(tǒng)的全部威脅,需要結(jié)合研發(fā)過程、測試、需求變更等因素對模型不斷的完善和改進,因此建模過程是一個不斷迭代和優(yōu)化的過程。
后續(xù)工作是在固件設(shè)計、開發(fā)階段中根據(jù)制定的威脅應(yīng)對措施開展固件安全設(shè)計工作,并且在測試階段進行安全性測試,根據(jù)實際測試出的安全漏洞進一步調(diào)整和優(yōu)化威脅模型。