陶文卿,張俊彥,陳清明
(上海市信息安全測(cè)評(píng)認(rèn)證中心,上海 200011)
信息技術(shù)(Information Technology,IT)產(chǎn)品作為信息系統(tǒng)的核心部件之一,其安全性直接影響到整個(gè)信息系統(tǒng)的可靠性。信息安全產(chǎn)品認(rèn)證認(rèn)可是根據(jù)國(guó)家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)或技術(shù)規(guī)范,由具有檢測(cè)能力和政府授權(quán)檢測(cè)認(rèn)證資格的權(quán)威機(jī)構(gòu),按照嚴(yán)格的程序,對(duì)其進(jìn)行測(cè)試試驗(yàn)及監(jiān)督檢查的一種客觀公正的評(píng)價(jià)活動(dòng),是應(yīng)對(duì)信息技術(shù)快速更新、技術(shù)表現(xiàn)日趨融合、安全保障需求迫切等態(tài)勢(shì)的有效途徑。
我國(guó)的信息安全產(chǎn)品認(rèn)證認(rèn)可體系自2004年開(kāi)始建設(shè)[1],至今已形成相對(duì)完善的認(rèn)證體系,但隨著技術(shù)的發(fā)展,在認(rèn)證過(guò)程中,產(chǎn)品更新?lián)Q代的周期逐漸縮短與用戶的安全保障需求增加之間的矛盾日益突出,因此,在認(rèn)證過(guò)程中識(shí)別安全關(guān)鍵件,判斷產(chǎn)品更新對(duì)認(rèn)證結(jié)果的影響,以便更科學(xué)地實(shí)施變更控制,成為一個(gè)需要研究的重點(diǎn)方向。
目前,研究人員在不同的領(lǐng)域提出了關(guān)鍵件識(shí)別方法,如袁林[2]提出了對(duì)網(wǎng)絡(luò)應(yīng)用中的關(guān)鍵事件進(jìn)行識(shí)別和跟蹤的方法,盛潔谞[3]等人提出了對(duì)軟件關(guān)鍵件識(shí)別的方法,李偉剛等人[4]提出了在項(xiàng)目工程的質(zhì)量管理中關(guān)鍵件控制的方法;而在信息安全領(lǐng)域,關(guān)鍵件識(shí)別的研究相對(duì)較少。在現(xiàn)有研究中,關(guān)鍵件識(shí)別一般用故障樹(shù)方法進(jìn)行分析,但此方法在確定頂層故障時(shí)即區(qū)分出關(guān)鍵故障和一般故障,將關(guān)鍵故障對(duì)應(yīng)的元件識(shí)別為關(guān)鍵件,缺乏導(dǎo)出關(guān)鍵故障的過(guò)程。
威脅樹(shù)一般應(yīng)用在風(fēng)險(xiǎn)評(píng)估領(lǐng)域,本文針對(duì)IT產(chǎn)品認(rèn)證領(lǐng)域的安全關(guān)鍵件識(shí)別問(wèn)題,首次將威脅樹(shù)引入到了關(guān)鍵件識(shí)別領(lǐng)域,并定義了安全重要度概念,用來(lái)對(duì)IT產(chǎn)品資產(chǎn)的安全重要程度進(jìn)行定量分析,提出了基于威脅樹(shù)分析的產(chǎn)品安全關(guān)鍵件識(shí)別方法,并以智能卡芯片為例進(jìn)行了應(yīng)用示范。
傳統(tǒng)的關(guān)鍵件定義多從可靠性分析的角度進(jìn)行,從生產(chǎn)的角度來(lái)說(shuō),關(guān)鍵件被定義為生產(chǎn)周期長(zhǎng)、加工復(fù)雜、占用資源多、需要單獨(dú)安排生產(chǎn)的部件,從功能和性能的角度來(lái)說(shuō),關(guān)鍵件指的是產(chǎn)品的主要功能部件[5],在信息安全領(lǐng)域,定義IT產(chǎn)品的安全關(guān)鍵件為:在安全方面對(duì)產(chǎn)品產(chǎn)生重要影響、可能會(huì)造成安全問(wèn)題的核心部件。
威脅樹(shù)是指針對(duì)威脅分析的攻擊樹(shù)。攻擊樹(shù)模型是SCHNEIER B在1999年提出的一種圖形化風(fēng)險(xiǎn)建模方法[6]。它采用樹(shù)狀結(jié)構(gòu),描述系統(tǒng)可能受到的各種攻擊行為。攻擊樹(shù)的根節(jié)點(diǎn)表示攻擊者要達(dá)到的目標(biāo),中間節(jié)點(diǎn)表示需要完成的中間步驟或者子目標(biāo),葉子節(jié)點(diǎn)表示具體的攻擊手段。子節(jié)點(diǎn)之間具有AND、OR、SAND三種關(guān)系。
對(duì)IT產(chǎn)品來(lái)說(shuō),首先將其劃分為不同的模塊,也即資產(chǎn);識(shí)別哪些資產(chǎn)為安全關(guān)鍵件,出發(fā)點(diǎn)即為識(shí)別不同資產(chǎn)面臨的安全問(wèn)題,也即安全威脅。
威脅樹(shù)技術(shù)從對(duì)一個(gè)給定產(chǎn)品的所有威脅的通用抽象的描述開(kāi)始,KOHNFELDER L和GARG P提出的STRIDE模型[7]定義了六類通用威脅,可以用來(lái)識(shí)別每個(gè)資產(chǎn)的根節(jié)點(diǎn),其中,STRIDE分別代表六種威脅的首字母組合,即身份欺騙威脅(Spoofing identify)、數(shù)據(jù)篡改威脅(Tampering with data)、否認(rèn)威脅(Repudiation)、數(shù)據(jù)泄露威脅(Data disclosure)、拒絕服務(wù)威脅(Denial of service,Dos)和特權(quán)提升威脅(Elevation of privilege)。
安全威脅實(shí)現(xiàn)的風(fēng)險(xiǎn)越大,易受此安全威脅影響的部件就越關(guān)鍵。風(fēng)險(xiǎn)評(píng)估中提出風(fēng)險(xiǎn)由事件造成的損失和事件發(fā)生的概率來(lái)評(píng)價(jià)[8],借鑒這一概念,將其引入關(guān)鍵件識(shí)別的過(guò)程中。因此本文做如下定義。
定義1:安全重要度。安全重要度是衡量IT產(chǎn)品的資產(chǎn)在安全方面的重要程度的指標(biāo)。安全重要度通過(guò)如下方式計(jì)算:安全重要度=威脅發(fā)生概率×威脅造成損失嚴(yán)重程度。
對(duì)資產(chǎn)的安全威脅進(jìn)行分析,根據(jù)威脅被利用成功的脆弱性計(jì)算攻擊成功的概率,再結(jié)合威脅的嚴(yán)重程度進(jìn)行打分,計(jì)算資產(chǎn)的安全重要度,從而識(shí)別出安全關(guān)鍵件。
安全關(guān)鍵件識(shí)別的流程圖如圖1所示。
其具體步驟如下:
(1)將產(chǎn)品按照不同的實(shí)現(xiàn)模塊進(jìn)行劃分,即識(shí)別出產(chǎn)品的所有資產(chǎn)Ai(i=1,2,…,m);
圖1 安全關(guān)鍵件識(shí)別流程圖
(2)對(duì)每個(gè)資產(chǎn)分析其威脅樹(shù):采用STRIDE模型識(shí)別出其面臨的根威脅RT,將根威脅RT進(jìn)行第二層的分析,識(shí)別其面臨的攻擊威脅,記為STij,(i=1,2,…,m;j=1,2,…,n),對(duì)攻擊方式STij進(jìn)行第三層分析,識(shí)別實(shí)現(xiàn)STij的具體攻擊手段,記為基本事件Eijk,(i=1,2,…,m;j=1,2,…,n;k=1,2,…,s);在威脅樹(shù)識(shí)別過(guò)程中,為了簡(jiǎn)化計(jì)算,識(shí)別至第三層時(shí)即定義為基本事件,并且識(shí)別出的基本事件均為完整的攻擊事件,不存在先驗(yàn)步驟,同時(shí),基本事件均為獨(dú)立事件,即子節(jié)點(diǎn)之間均為邏輯OR的關(guān)系;
(3)對(duì)基本事件Eijk進(jìn)行攻擊代價(jià)分析,計(jì)算其發(fā)生的概率P(Eijk);
(4)根據(jù)基本事件發(fā)生概率,計(jì)算步驟(2)中STij發(fā)生的概率P(STij),由于基本事件之間為邏輯OR的關(guān)系,因此計(jì)算STij威脅發(fā)生的概率:
P(STij)=max {P(Eij1),P(Eij2),…,P(Eijk)}
(1)
(5)分析STij威脅發(fā)生造成的損失嚴(yán)重程度Dij,并對(duì)其進(jìn)行權(quán)重賦值;
(6)對(duì)每個(gè)資產(chǎn),根據(jù)其面臨的威脅STij發(fā)生的概率大小和損失嚴(yán)重程度,計(jì)算安全重要度:
(2)
(7)對(duì)安全重要度Vi進(jìn)行排序,從而識(shí)別出安全關(guān)鍵件。
由安全關(guān)鍵件識(shí)別的流程可知,當(dāng)識(shí)別出威脅樹(shù)和具有自證性的基本事件,對(duì)基本事件賦予一定的指標(biāo)元素后,就可以對(duì)其進(jìn)行相應(yīng)的風(fēng)險(xiǎn)分析。信息技術(shù)安全性評(píng)估方法CEM[9]中提出了對(duì)于通用產(chǎn)品的攻擊潛力計(jì)算方法,列出了計(jì)算攻擊潛力的五個(gè)要素,從時(shí)間、技術(shù)專長(zhǎng)、設(shè)計(jì)和操作知識(shí)、評(píng)估對(duì)象(Target of Evaluation,TOE)訪問(wèn)、分析設(shè)備五個(gè)方面進(jìn)行了評(píng)價(jià)。參考這一思路,本文將基本事件從消耗時(shí)間、設(shè)備、專業(yè)技能水平、資料及訪問(wèn)四方面對(duì)基本時(shí)間進(jìn)行衡量,引入如下定義:
定義2:基本事件Eijk的安全威脅攻擊代價(jià)為一個(gè)四元組,Costijk=
對(duì)基本事件的攻擊發(fā)生概率評(píng)價(jià)需要對(duì)四元組進(jìn)行打分。在評(píng)分過(guò)程中,可以采用專家經(jīng)驗(yàn)法,也可采用層次分析法[10](Analytic Hierarchy Process,AHP)進(jìn)行評(píng)分。為方便計(jì)算,本文采用專家經(jīng)驗(yàn)法進(jìn)行打分。打分評(píng)價(jià)依據(jù)表1進(jìn)行。
表1 等級(jí)評(píng)分標(biāo)準(zhǔn)
根據(jù)多屬性效用理論[11-12],基本事件發(fā)生的攻擊代價(jià)為:
Cost=WTi×UTi+WDe×UDe+WSk×USk+WKn×UKn
(3)
其中,WTi、WDe、WSk、WKn分別代表基本事件Eijk在消耗時(shí)間、設(shè)備、專業(yè)水平、資料及訪問(wèn)上的權(quán)重,而UTi、UDe、USk、UKn分別代表基本事件在四元素上的效用值。
針對(duì)不同的攻擊事件,其在四元素上的權(quán)重值均有不同,因此做出如下規(guī)定:
(1)WTi+WDe+WSk+WKn=1;
(4)
(2)UTi、UDe、USk、UKn與Ti、De、Sk、Kn成正比關(guān)系,取Ux=x,即效用值即為基本事件在對(duì)應(yīng)項(xiàng)上的賦值。
(3)根據(jù)公式(3)計(jì)算出基本事件的攻擊代價(jià),由于攻擊概率與攻擊代價(jià)之間成反比關(guān)系,因此取基本事件發(fā)生的概率:
P(Eijk)=1/Costijk
(5)
根據(jù)基本事件的指標(biāo)量化,計(jì)算出其發(fā)生概率,由公式(1)就可以推算出攻擊威脅ST發(fā)生的概率。評(píng)價(jià)威脅發(fā)生后,對(duì)產(chǎn)品造成的損失嚴(yán)重程度時(shí),由于根威脅采用的STRIDE模型為通用威脅,其損失嚴(yán)重程度不易衡量,因此,本文對(duì)威脅樹(shù)第二層即攻擊威脅STij造成的損失嚴(yán)重程度進(jìn)行量化,記為Dij。對(duì)安全重要度的計(jì)算也在此層面進(jìn)行。攻擊威脅造成的損失嚴(yán)重程度也需根據(jù)專家經(jīng)驗(yàn)法進(jìn)行評(píng)價(jià)和賦值,賦值范圍為1~5。
依據(jù)2.2節(jié)中描述的安全關(guān)鍵件識(shí)別的步驟,對(duì)每個(gè)資產(chǎn),將攻擊威脅發(fā)生概率及威脅造成的損失嚴(yán)重程度進(jìn)行相乘并求和,即可計(jì)算出此資產(chǎn)的安全重要度。將安全重要度進(jìn)行排序,便可識(shí)別出產(chǎn)品的安全關(guān)鍵件。
為驗(yàn)證安全關(guān)鍵件識(shí)別方法的有效性,本節(jié)以智能卡芯片為例,按照2.2節(jié)提出的識(shí)別方法進(jìn)行分析。智能卡芯片是具有中央處理器的集成電路卡芯片,廣泛應(yīng)用于金融、社保、公交、身份鑒別等領(lǐng)域。針對(duì)智能卡芯片的安全關(guān)鍵件識(shí)別分析步驟如下:
(1)識(shí)別智能卡芯片的資產(chǎn),形成資產(chǎn)列表;智能卡芯片資產(chǎn)識(shí)別的粒度,由分析者來(lái)決定。本文識(shí)別出的智能卡芯片資產(chǎn)共14個(gè),分別為中央處理器(Central Processing Unit,CPU)、復(fù)位/中斷模塊、時(shí)鐘控制模塊、看門狗計(jì)時(shí)器、總線、環(huán)境檢測(cè)(電壓/頻率/光照/溫度等)傳感器、主動(dòng)/被動(dòng)防護(hù)層、存儲(chǔ)器、存儲(chǔ)器管理單元(Memory Management Unit,MMU)、算法模塊、隨機(jī)數(shù)模塊、模式控制模塊、自檢模塊、校驗(yàn)?zāi)K。
(2)針對(duì)每個(gè)資產(chǎn)進(jìn)行威脅樹(shù)分析,根威脅使用STRIDE模型進(jìn)行識(shí)別,進(jìn)一步識(shí)別出六類針對(duì)智能卡芯片的具體ST攻擊威脅,分別為:ST1非侵入式攻擊、ST2半侵入式攻擊、ST3侵入式攻擊、ST4環(huán)境攻擊、ST5測(cè)試模式重激活、ST6訪問(wèn)控制破壞。
(3)針對(duì)ST攻擊威脅進(jìn)一步識(shí)別實(shí)現(xiàn)攻擊的17類基本事件,并針對(duì)每個(gè)資產(chǎn)繪制威脅樹(shù)攻擊圖,如圖2~圖5所示。其中,針對(duì)每個(gè)資產(chǎn)的威脅均用一個(gè)虛線框表示,從根威脅的角度,算法模塊和存儲(chǔ)器模塊均面臨信息泄露和篡改兩種威脅,而其他模塊均面臨一種根威脅;在圖5中,構(gòu)造出的威脅樹(shù)相同的多個(gè)模塊用同一威脅樹(shù)來(lái)表示,這些模塊分別為CPU、復(fù)位/中斷模塊、時(shí)鐘控制模塊、看門狗計(jì)時(shí)器、自檢模塊、校驗(yàn)?zāi)K、主/被動(dòng)防護(hù)層。
圖2 算法模塊威脅樹(shù)分析
圖3 存儲(chǔ)器威脅樹(shù)分析
圖4 環(huán)境檢測(cè)傳感器及存儲(chǔ)器管理單元威脅樹(shù)分析
圖5 其他模塊威脅樹(shù)分析
(4)將基本事件的攻擊代價(jià)在時(shí)間、設(shè)備、專業(yè)水平、資料及訪問(wèn)四元素上進(jìn)行打分及權(quán)重賦值,根據(jù)公式(3)及公式(5)計(jì)算出基本事件的發(fā)生概率,識(shí)別出的基本事件及其發(fā)生概率值如表2所示。由于對(duì)智能卡芯片的攻擊對(duì)設(shè)備和人員水平的依賴性較強(qiáng),對(duì)于E1~E16,將權(quán)重賦值WTi=WKn=0.2,WDe=WSk=0.3。對(duì)于E17訪問(wèn)控制破壞,其攻擊成功更依賴于人員水平和對(duì)TOE的資料及訪問(wèn),將權(quán)重賦值WTi=WDe=0.2,WSk=WKn=0.3。
表2 基本事件列表及概率值計(jì)算
(5)根據(jù)公式(1)計(jì)算出STij威脅發(fā)生的概率,并對(duì)其損失嚴(yán)重程度Dij進(jìn)行賦值,然后根據(jù)公式(2)對(duì)每個(gè)資產(chǎn)分別計(jì)算安全重要度并排序,計(jì)算結(jié)果如表3所示。
表3 智能卡芯片模塊安全重要度
根據(jù)表3結(jié)果,可以看出,安全重要度數(shù)值的大小對(duì)于資產(chǎn)的安全重要程度提供了區(qū)分參考,分析者可根據(jù)實(shí)際應(yīng)用情況來(lái)決定安全關(guān)鍵件篩選的閾值。本例中取安全重要度為1以上的模塊作為安全關(guān)鍵件,則針對(duì)智能卡芯片的安全關(guān)鍵件即為:算法模塊、存儲(chǔ)器、環(huán)境檢測(cè)傳感器、存儲(chǔ)器管理單元、總線、模式控制、隨機(jī)數(shù),分析表明,此類模塊面臨的安全威脅更嚴(yán)峻,因此智能卡芯片的設(shè)計(jì)者需要多加關(guān)注此類模塊,對(duì)其設(shè)計(jì)更多的防護(hù)機(jī)制。同時(shí),在產(chǎn)品認(rèn)證過(guò)程中,若上述模塊發(fā)生變化,則被認(rèn)為是安全關(guān)鍵件發(fā)生了變化,在產(chǎn)品認(rèn)證的變更控制環(huán)節(jié)中需要多加關(guān)注。值得注意的是,從傳統(tǒng)意義上來(lái)說(shuō),CPU被認(rèn)為是智能卡芯片的核心部件,而根據(jù)本文提出的安全關(guān)鍵件識(shí)別方法,CPU并沒(méi)有被識(shí)別為安全關(guān)鍵件,這是因?yàn)镃PU在智能卡芯片中,主要完成計(jì)算和處理功能,但其面臨的安全威脅卻有限,因此也證實(shí)了安全關(guān)鍵件的識(shí)別和功能關(guān)鍵件之間是存在差異的。
針對(duì)信息安全認(rèn)證中的關(guān)鍵件識(shí)別問(wèn)題,本文提出一種基于威脅樹(shù)分析,對(duì)IT產(chǎn)品進(jìn)行安全關(guān)鍵件識(shí)別的方法,并以智能卡芯片為例進(jìn)行了示范應(yīng)用,證明了此方法的有效性,為信息安全認(rèn)證中產(chǎn)品的變更控制提供了依據(jù)。下一步研究的重點(diǎn)在于:計(jì)算基本事件發(fā)生概率及威脅造成損失嚴(yán)重程度時(shí),減少主觀因素的影響,如采用模糊層次分析法或神經(jīng)網(wǎng)絡(luò)等技術(shù)手段來(lái)量化計(jì)算,更精確地評(píng)估IT產(chǎn)品的安全關(guān)鍵件。