郭錫泉 陳香錫
1(清遠職業(yè)技術(shù)學(xué)院網(wǎng)絡(luò)中心 廣東 清遠 511510) 2(清遠市網(wǎng)絡(luò)空間安全工程技術(shù)研究開發(fā)中心 廣東 清遠 511510)
國家互聯(lián)網(wǎng)應(yīng)急中心官網(wǎng)發(fā)布了《我國2019年互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢綜述》的報告[1],該報告披露國家信息安全漏洞共享平臺(CNVD)2019年收錄的安全漏洞數(shù)量再創(chuàng)新高,共計16 193個。排名前三的依次為應(yīng)用程序漏洞、Web應(yīng)用漏洞和操作系統(tǒng)漏洞。Web服務(wù)長期以來是最為普遍的互聯(lián)網(wǎng)應(yīng)用,同時又是風(fēng)險極高的網(wǎng)絡(luò)應(yīng)用。網(wǎng)絡(luò)安全法明確規(guī)定:國家實行網(wǎng)絡(luò)安全等級保護制度。實施網(wǎng)絡(luò)安全等級保護是各組織和單位保障信息系統(tǒng)安全的有效舉措。等級保護一般要經(jīng)歷定級、備案、安全建設(shè)、等級測評、監(jiān)督檢查等環(huán)節(jié),實施周期較長。目前對Web應(yīng)用系統(tǒng)的等保測評,是在統(tǒng)一的測評框架下進行的。Web應(yīng)用系統(tǒng)即使通過了等保測評,仍然需要進行周期性的風(fēng)險評估和安全改進。對Web應(yīng)用進行安全風(fēng)險評估,在應(yīng)用實踐中愈發(fā)變得重要。而缺乏針對性強、操作性強的評估方法,是當前Web應(yīng)用安全風(fēng)險評估亟須解決的問題。
目前已有一些研究是針對Web應(yīng)用安全的。國內(nèi)文獻方面,涂玲等[2]提出基于協(xié)議混合變形的Web安全模糊測試與效用評估方法,馬成等[3]提出基于用戶安全屬性偏好的Web服務(wù)評估,劉瑞軍等[4]研究了密鑰交換環(huán)境下Web安全漏洞的智能檢測,李棟等[5]提出基于擴展有限狀態(tài)機FSM的Web應(yīng)用安全測試方法,張玉鳳等[6]提出面向軟件攻擊面的Web應(yīng)用安全評估模型。國外文獻方面,Nunes等[7]研究了靜態(tài)分析工具在開發(fā)場景下如何挖掘Web安全漏洞,Hsu等[8]研究了Windows系統(tǒng)在隱私模式下作為隱私保護的Web安全機制。以上研究大多是從某個側(cè)面對Web應(yīng)用安全進行技術(shù)上的評估,不能完全解決Web安全風(fēng)險評估的問題。
Wei等[9]、顧兆軍等[10]提出比較系統(tǒng)的信息安全風(fēng)險評估模型,但沒有針對Web應(yīng)用安全。齊富民等[11]提出基于模糊理論的Web安全評估模型,李榮等[12]還針對圖書館Web應(yīng)用提出安全風(fēng)險評估方法。以上是對Web應(yīng)用安全風(fēng)險評估較為全面和深入的研究,提出了Web應(yīng)用安全風(fēng)險評估所涉及的指標體系、評價方法等關(guān)鍵問題。指標體系方面,目前的研究還不是很統(tǒng)一,也未能把網(wǎng)絡(luò)安全等級保護的要求很好地融入Web應(yīng)用安全風(fēng)險評估中。評價方法方面,因涉及技術(shù)專家的主觀評判,多個專家意見不一致時如何處理,以及如何把主觀評價轉(zhuǎn)化為量化的、客觀的評價結(jié)果,仍然是Web應(yīng)用安全風(fēng)險評估的難點所在。本文提出一種Web應(yīng)用安全的集成風(fēng)險評估方法,以期在指標體系、評價方法上較上述研究有所改進。
集成風(fēng)險評估方法由技術(shù)維度和管理維度兩部分的評估構(gòu)成。組織若干安全技術(shù)專家對Web應(yīng)用系統(tǒng)進行風(fēng)險評估,技術(shù)維度和管理維度分別建立相應(yīng)的指標體系。技術(shù)維度可采用代碼審計、滲透測試等技術(shù)手段進行分析,獲得測量結(jié)果后采用層次分析法與改進的多級模糊評價相結(jié)合的方法,得出技術(shù)維度的評價值。管理維度由技術(shù)專家采用檢查、訪談等手段進行分析,獲得測量結(jié)果后采用信息熵的方法得出評價值。最后把技術(shù)和管理兩個維度的評價值以一定的比例進行合成,得出該Web應(yīng)用系統(tǒng)的安全風(fēng)險數(shù)值。
在傳統(tǒng)基于層次分析法的多級模糊綜合評價[13]的基礎(chǔ)上,根據(jù)網(wǎng)絡(luò)安全眾測的特點引入峰值評判的準則,使技術(shù)維度的風(fēng)險數(shù)值更能反映Web應(yīng)用安全漏洞帶來的潛在風(fēng)險。
2.1.1 利用層次分析法確定指標權(quán)重
構(gòu)建Web應(yīng)用安全技術(shù)維度的兩級指標體系,Vi表示一級指標,Vij表示二級指標。下面通過結(jié)構(gòu)化的方法確定各級指標的權(quán)重。
步驟1建立判斷矩陣。
同一層次中,各個指標進行兩兩比較,比較結(jié)果可用判斷矩陣進行表示。假設(shè)該層次中有n個指標,可得判斷矩陣D=(Dij)n×n,其中Dij表示指標i相對于指標j的重要性,具有如下性質(zhì)。
Dij>0
Dij=1/Dji
Dii=1
Dij的賦值可使用多種方法,例如常用的1~9標度法。若認為指標i與指標j同等重要,則Dij=1;若認為指標i比指標j極端重要,則Dij=9;Dij還可取1~9中的數(shù)值來表示指標i相對于指標j的重要程度。
步驟2對判斷矩陣進行一致性檢驗。
應(yīng)用層次分析法的優(yōu)點是能夠保持專家判斷的一致性。例如,構(gòu)建判斷矩陣的過程中出現(xiàn)A比B極端重要、B比C極端重要,而C又比A極端重要的矛盾情況時,層次分析法能夠識別并要求更正。這是通過對判斷矩陣進行一致性檢驗實現(xiàn)的。根據(jù)矩陣的理論,判斷的一致性程度可通過判斷矩陣特征根的變化來進行檢驗。設(shè)λ1,λ2,…,λn滿足Ax=λx,即矩陣A的特征根,且對所有aii=1有:
(1)
若矩陣A具有完全一致性,則λ1=λmax=n,且其余特征根均為零。矩陣A不具有完全一致性,則λ1=λmax>n,同時有:
(2)
為表征判斷矩陣偏離一致性的程度,層次分析法引入判斷矩陣最大特征根以外的其余特征根的負平均值CI作為度量,即:
(3)
式中:CI的值越小越好,CI=0表示判斷矩陣具有完全一致性。在實際的應(yīng)用中,λmax稍大于n且其余特征根均接近于零,這樣的情況也可以接受,稱之為“滿意一致性”。為表征“滿意一致性”,層次分析法用CI與平均隨機一致性指標RI(其數(shù)值可查表獲得)的比率CR作為度量,當滿足式(4)時,可認為判斷矩陣具有滿意一致性。
(4)
步驟3層次單排序。
同一層次中,各個指標權(quán)重的確定稱為層次單排序。下面給出方根法計算矩陣特征根及其對應(yīng)特征向量的步驟。
設(shè)判斷矩陣每一行元素的乘積為Mi,則:
(5)
(6)
(7)
則W=[W1,W2,…,Wn]T即為所求的特征向量。
計算判斷矩陣的最大特征根λmax:
(8)
式中:(AW)i表示向量AW的第i個元素。
2.1.2 改進的多級模糊綜合評價
根據(jù)模糊評價的理論,可把Vij對Vi評判視為一級評判,把Vi對V的評判視為二級評判,從而建立一個三層兩級的模糊綜合評價模型。
步驟1構(gòu)建模糊評語集,用C={C1,C2,C3}表示。本模型采用{高風(fēng)險,中風(fēng)險,低風(fēng)險}的評語集,專家根據(jù)自己的經(jīng)驗,綜合訪問難度、利用復(fù)雜度、影響程度等因素給出評語。技術(shù)專家對二級指標Vij使用模糊評語集C進行評判,得到模糊評估矩陣R。
R={rijk}
(9)
rijk=dijk/d
(10)
式中:rijk表示對Vij作出第k種評價的專家人數(shù),d為專家總?cè)藬?shù)。
步驟2確定指標的權(quán)重。在同一個一級指標Ai下,二級指標的權(quán)重系數(shù)可表示為:
Ai=(ai1,ai2,…,aij)
(11)
一級指標對總目標的權(quán)重系數(shù),可表示為:
A=(a1,a2,…,an)
(12)
式中:A和Ai均使用2.1.1節(jié)中的層次分析法推導(dǎo)。
步驟3進行Vij對Vi評判的一級評判??紤]到代碼安全缺陷、Web安全漏洞的潛在風(fēng)險,結(jié)合當前業(yè)界網(wǎng)絡(luò)安全眾測的做法,本文引入峰值評判的準則來取代對專家意見的直接統(tǒng)計。設(shè)Rij為專家對Vij的評估向量,峰值評判的準則為:若存在高風(fēng)險的專家意見,則Rij=(1,0,0);如不存在高風(fēng)險但存在中風(fēng)險的專家意見,則Rij=(0,1,0);僅當所有專家意見都為低風(fēng)險時,Rij=(0,0,1)。引入峰值評判的準則后,認為風(fēng)險越高的專家意見越能得到強化,有利于反映安全漏洞的潛在風(fēng)險。對專家意見進行峰值評判的調(diào)整后,再運用模糊矩陣的合成運算,得到Vi的綜合評判向量Bi:
要讓單張照片具有故事性,可以選擇對你有特殊意義的事物,或是能與你產(chǎn)生共鳴的對象和場景來拍攝。畫面中的每個元素都要考慮到。它能告訴觀眾什么?這個元素與畫面中其他元素之間的關(guān)系意味著什么?
Bi=Ai·Ri
(13)
式中:Ri為專家對Vi的評估子陣。
步驟4進行Vi對V的二級評判。再次運用模糊矩陣的合成運算,得到V的綜合評判向量B:
(14)
根據(jù)最大隸屬度原則,有Bk=max(b1,b2,b3),從而得出模糊綜合評判結(jié)果為Ck。記T為百分制下的風(fēng)險數(shù)值,則:
(15)
技術(shù)維度的評估是基于代碼設(shè)計、滲透測試等技術(shù)手段進行的,獲得的測量結(jié)果是比較客觀的。而管理維度的風(fēng)險評估一般通過訪談、檢查等手段實施,專家憑借自己的經(jīng)驗進行評價,獲得的結(jié)果主觀性較強。管理維度選用的評價方法與技術(shù)維度不同,應(yīng)該側(cè)重于挖掘?qū)<乙庖姷囊恢滦浴1疚牟捎眯畔㈧氐姆椒?從專家的評價數(shù)據(jù)中挖掘可信度高的評判意見。
2.2.1 確定指標的熵權(quán)
設(shè)管理維度有n個指標,由p個專家評分,評分結(jié)果分為五個等級(低風(fēng)險、中低風(fēng)險、中風(fēng)險、中高風(fēng)險、高風(fēng)險)。設(shè)xij為專家j關(guān)于指標i的評分,rij表示有多少專家認為指標i屬于等級j。對于指標i,如果專家的意見比較集中(如同一等級或相鄰等級),則指標i的權(quán)重可高一些;反之,如果專家的意見比較分散(各個等級均有或等級差距較大),則指標i的權(quán)重可調(diào)低一些。根據(jù)專家意見的聚散程度調(diào)整指標權(quán)重,可通過熵權(quán)系數(shù)法[14]進行。
熵被用來表征系統(tǒng)的不確定性,在信息技術(shù)領(lǐng)域中稱為信息熵。設(shè)S1,S2,…,Sn為系統(tǒng)的n種狀態(tài),pi為系統(tǒng)處于Si的概率,則其信息熵H為:
(16)
對指標i,其熵值之和為:
(17)
歸一化后得:
(18)
可信程度與熵值是反比關(guān)系,指標i的熵權(quán)為:
(19)
(20)
2.2.2 確定專家的熵權(quán)
類似地,對專家也可確定熵權(quán)。專家i與群體意見一致性最高,可賦予專家i較大的權(quán)重;反之,背離群體意見的專家,其可信度低,應(yīng)賦予較小的權(quán)重。通過基于傳遞熵的熵權(quán)系數(shù)法,可確定專家的熵權(quán)。設(shè)xm為全部專家關(guān)于指標i評分的平均值,則eij反映了xij趨向于專家群體一致性意見的程度。
eij=1-|xij-xm|/maxxij
(21)
xij的信息熵為:
(22)
專家i的信息熵值之和為:
(23)
專家i的熵權(quán)為:
(24)
2.2.3 合成管理維度的風(fēng)險數(shù)值
運用模糊矩陣的合成運算,得到管理維度的綜合評判向量R為:
(25)
記M為百分制下的風(fēng)險數(shù)值,則:
(26)
設(shè)Sum為風(fēng)險評估的綜合分值,由技術(shù)維度和管理維度的分值按7∶3的比例合成。Sum的數(shù)值范圍為0~100,數(shù)值越大,風(fēng)險越高。
(27)
管理維度的風(fēng)險數(shù)值以一定比例與技術(shù)維度的風(fēng)險數(shù)值進行合成,有利于評估組織是否實施了網(wǎng)絡(luò)安全等級保護或是否建立了完善的信息安全管理體系。
對某大型Web應(yīng)用系統(tǒng)使用本文方法進行風(fēng)險評估,組織了五位網(wǎng)絡(luò)安全專家從技術(shù)和管理兩個維度進行評估。技術(shù)維度方面,專家使用代碼審計、滲透測試等技術(shù)手段,獨立進行測試和驗證,并給出評分結(jié)果。管理維度方面,專家通過與組織的管理者、系統(tǒng)的IT人員進行深度訪談和現(xiàn)場檢查,根據(jù)自己的經(jīng)驗給出評分結(jié)果。
首先,在網(wǎng)絡(luò)安全等級保護通用技術(shù)要求的基礎(chǔ)上,結(jié)合Web應(yīng)用安全的特點和國際Web安全組織OWASP的Web漏洞排名,構(gòu)建了表1的Web應(yīng)用安全技術(shù)維度的指標體系。技術(shù)維度的指標體系包括10個一級指標、30個二級指標。
表1 Web應(yīng)用安全技術(shù)維度指標體系
續(xù)表1
對一級指標構(gòu)建判斷矩陣,根據(jù)式(1)-式(8),λmax=10.16,CI=0.02,查表RI=1.49,計算得CR=0.012,符合滿意一致性的判斷條件。判斷矩陣、層次單排序和權(quán)重的計算結(jié)果見表2。
表2 一級指標的判斷矩陣及權(quán)重計算結(jié)果
用類似的方法,可計算出二級指標的權(quán)重,結(jié)果見表3。在該表中,按高風(fēng)險、中風(fēng)險、低風(fēng)險三個級別統(tǒng)計了持相應(yīng)意見的專家的比例。在進行多級模糊評判之前,對專家意見的直接統(tǒng)計結(jié)果進行峰值評判。根據(jù)式(9)-式(13),得出一級評判的計算結(jié)果,見表4,并采用一般層次分析法與多級模糊綜合評價方法進行計算作為對比。
表3 二級指標權(quán)重、專家意見統(tǒng)計與轉(zhuǎn)換
表4 一級評判的計算結(jié)果
根據(jù)式(14),使用峰值評判后,通過二級評判的計算,V的綜合評判向量B=(0.517,0.345,0.138)。根據(jù)最大隸屬度原則,技術(shù)維度的評判結(jié)果為高風(fēng)險。根據(jù)式(15),技術(shù)維度的風(fēng)險數(shù)值為79.37分。
不使用峰值評判、僅使用一般層次分析法與多級模糊綜合評價方法的話,V的綜合評判向量B=(0.146,0.372,0.482)。根據(jù)最大隸屬度原則,技術(shù)維度的評判結(jié)果為低風(fēng)險。根據(jù)式(15),技術(shù)維度的風(fēng)險數(shù)值為55.43分。
從以上對比可看出,峰值評判的準則對技術(shù)維度的風(fēng)險評估結(jié)果影響非常大。在實際應(yīng)用中,專家獨立評分后,可一起商議一下大家的尺度是否統(tǒng)一,視情況也可以調(diào)整各自的評分結(jié)果。但峰值評判的準則應(yīng)該要堅持,因為一個高危漏洞的存在(如Struts 2框架漏洞、高危SQL注入漏洞等)的確會給Web應(yīng)用系統(tǒng)帶來極高的風(fēng)險。
管理維度下設(shè)六個指標,依次為:安全管理體系(M1)、安全管理制度(M2)、安全管理機構(gòu)(M3)、安全管理人員(M4)、安全建設(shè)管理(M5)、安全運維管理(M6)。專家對每個指標按照低風(fēng)險(1)、中低風(fēng)險(2)、中風(fēng)險(3)、中高風(fēng)險(4)、高風(fēng)險(5)五個等級進行評價。五位專家(E1-E5)的評價結(jié)果如表5所示。
表5 管理維度的指標體系和專家的評價結(jié)果
對專家關(guān)于指標Mi各個等級的評價意見進行統(tǒng)計,得出持各種意見的比例,如表6所示。若根據(jù)最大隸屬度原則,專家關(guān)于六個指標的群體意見依次為(2,2,1,2,2,2)。
表6 專家意見的直接統(tǒng)計
根據(jù)式(16)-式(20),六個指標的熵值向量ei為(0.590,0.590,0.418,0.418,0.418,0.418),熵權(quán)向量qi為(0.130,0.130,0.185,0.185,0.185,0.185)。
根據(jù)式(21)-式(22),eij為:
hij為:
根據(jù)式(23)-式(24),五個專家的熵值向量Hi為(0.735,1.237,1.050,1.112,0.671),熵權(quán)向量ci為(0.247,0.147,0.173,0.163,0.270)。根據(jù)最大隸屬度原則,第五位專家的意見最可信。根據(jù)專家的熵權(quán),專家意見的統(tǒng)計結(jié)果需要進行調(diào)整,見表7。專家關(guān)于六個指標的群體意見變?yōu)?2,2,1,1,2,2)。
表7 賦權(quán)后專家意見占比的調(diào)整
根據(jù)式(25),管理維度的綜合評判向量為(0.257,0.562,0.181,0,0)。按最大隸屬度,綜合評判的等級意見為中低風(fēng)險。根據(jù)式(26),百分制風(fēng)險數(shù)值為38.48分。
從3.1節(jié)和3.2節(jié)的評價過程得出,技術(shù)維度的風(fēng)險數(shù)值為79.37分,管理維度的風(fēng)險數(shù)值為38.48分。根據(jù)式(27),該Web應(yīng)用系統(tǒng)的風(fēng)險評估分值為67.10。雖然技術(shù)維度的風(fēng)險值偏高,但得益于該組織已通過網(wǎng)絡(luò)安全等級測評,該組織的管理風(fēng)險較低,因此綜合風(fēng)險分值得到一定程度的下降。如果該組織的信息安全管理體系發(fā)揮作用,快速采取相應(yīng)的處置措施,該Web應(yīng)用系統(tǒng)的技術(shù)風(fēng)險可較快恢復(fù)到低風(fēng)險的水平。
體系化、標準化、定量化是國內(nèi)外信息安全管理的發(fā)展趨勢。ISO2700標準和國內(nèi)的網(wǎng)絡(luò)安全等級保護都提出建立信息安全管理體系(ISMS),并按照“規(guī)劃-實施-檢查-改進”的戴明環(huán)(圖1)進行持續(xù)改進。本文的工作正對應(yīng)檢查(Check)這一重要環(huán)節(jié)。ISMS正常運轉(zhuǎn)后,應(yīng)能通過檢查發(fā)現(xiàn)問題,并通過針對性的整改得以改進。本文方法適用于建立了信息安全管理體系或?qū)嵤┝司W(wǎng)絡(luò)安全等級保護的組織。
圖1 信息安全管理體系的戴明環(huán)螺旋發(fā)展
技術(shù)維度進行二級評判時,在吸收安全眾測優(yōu)點的基礎(chǔ)上,本文引入峰值評準則對傳統(tǒng)AHP與多級模糊綜合評價相結(jié)合的方法進行改進,使技術(shù)維度評分更好地反映風(fēng)險水平。直接使用AHP與多級模糊綜合評價相結(jié)合的方法,只能提供技術(shù)維度的評分;而使用本文方法,除了技術(shù)維度的評分外,還能提供管理維度評分和綜合風(fēng)險分值,蘊含的管理決策信息更為豐富。如圖2所示,技術(shù)維度評分主要供安全技術(shù)人員參考;而管理維度評分主要供安全管理人員參考,它是對技術(shù)維度評分的補充;綜合風(fēng)險分值主要供組織決策層參考,它反映了技術(shù)風(fēng)險的變化趨勢(安全管理做得好、管理維度風(fēng)險低,則技術(shù)風(fēng)險可相應(yīng)下降)。本文應(yīng)用實例得出相關(guān)數(shù)值后,技術(shù)人員根據(jù)技術(shù)維度評分(79.37分,高風(fēng)險)要盡快采取有效的技術(shù)措施來消除安全漏洞,并做好驗證性測試;管理人員要保持ISMS有效運作,特別是檢查與改進環(huán)節(jié)工作的落實;組織決策層須把控整體和全局,如技術(shù)風(fēng)險突然飆升,可考慮適時增加資源(如采購Web應(yīng)用防火墻或Web安全服務(wù))應(yīng)對。
圖2 相關(guān)方法比較
管理維度的評分,本文通過使用信息熵的方法獲取專家群體的一致性意見,盡量降低專家人為主觀因素的偏離。在實際評估中,要找在信息安全管理體系、網(wǎng)絡(luò)安全等級保護專業(yè)領(lǐng)域有較豐富實踐經(jīng)驗的專業(yè)人士作為專家,才能較好保證管理維度評分的準確性和有效性。
本文提出Web應(yīng)用安全的集成風(fēng)險評估方法,能根據(jù)Web應(yīng)用安全風(fēng)險評估過程中采用的測量方法和測量結(jié)果的特點,選擇合適的評價指標、評價方法來進行綜合處理。技術(shù)維度的風(fēng)險評估指標體系清晰,代碼設(shè)計、滲透測試的測量方法及其結(jié)果是客觀的,但量化程度不高。本文先通過峰值評判強化風(fēng)險等級高的專家意見,再用層次分析法確定指標權(quán)重,用多級模糊綜合評價獲得技術(shù)維度的風(fēng)險評估數(shù)值。管理維度的指標體系較為簡單,專家的評價結(jié)果主觀性強,本文通過信息熵的方法從專家的評價數(shù)據(jù)中挖掘指標和專家的權(quán)重信息,獲得專家群體的一致性評判意見。本文提出的方法已應(yīng)用到多個大型Web應(yīng)用系統(tǒng)的風(fēng)險評估中,為通過了網(wǎng)絡(luò)安全等級測評的Web系統(tǒng)提供一種針對性強、操作性強、量化程度高的風(fēng)險評估方法。技術(shù)維度和管理維度的指標體系還需要在應(yīng)用實踐中進一步完善。