高 妮,賀毅岳,申 元,高 嶺
1.西安財經(jīng)學(xué)院 信息學(xué)院,西安 710100
2.西北大學(xué) 經(jīng)濟(jì)管理學(xué)院,西安 710127
3.西北大學(xué) 信息科學(xué)與技術(shù)學(xué)院,西安 710127
基于主機(jī)發(fā)現(xiàn)漏洞的最終目的是采用補(bǔ)丁修復(fù)方式對各類漏洞進(jìn)行修復(fù),以消除網(wǎng)絡(luò)系統(tǒng)中的潛在威脅。只有修復(fù)真正威脅到系統(tǒng)的漏洞,合理地安裝補(bǔ)丁才可以消除潛在威脅。如果發(fā)現(xiàn)系統(tǒng)漏洞而不及時給漏洞打補(bǔ)丁或者只是簡單地選擇修復(fù)高危漏洞,將導(dǎo)致漏洞的安全問題長期存在,因此選擇合適的漏洞修復(fù)策略非常關(guān)鍵。
傳統(tǒng)的漏洞優(yōu)先修復(fù)方案主要是使用基于通用漏洞評分系統(tǒng)(common vulnerability scoring system,CVSS)[1]評分推薦的優(yōu)先修復(fù)策略。根據(jù)漏洞的CVSS評分值,將漏洞CVSS評分范圍所對應(yīng)的漏洞優(yōu)先級別劃分為1~3級,如表1,每種漏洞優(yōu)先級別對應(yīng)不同的修復(fù)策略。一般認(rèn)為CVSS評分值為7分以上的漏洞都應(yīng)優(yōu)先立即修復(fù)。從表1可以看出,基于CVSS評分推薦的修復(fù)策略過于簡單。美國國家信息安全漏洞庫(national vulnerability database,NVD)[2]公布的2002年到2015年73 526個安全漏洞信息中,高危漏洞數(shù)量占41.26%,而低危漏洞數(shù)量占8.46%。如果上百個高危漏洞需要打補(bǔ)丁,哪些高危漏洞優(yōu)先修復(fù)呢,因此需要更為精確、細(xì)粒度的漏洞修復(fù)策略。
Table 1 Repair strategy based on CVSS score表1 基于CVSS評分的修復(fù)策略
對漏洞風(fēng)險進(jìn)行評估是漏洞修復(fù)策略選擇的前提,故許多學(xué)者通過改進(jìn)CVSS評分方法來影響修復(fù)策略。Frei等人[3]提出了漏洞概率分布模型用于評估漏洞利用性和補(bǔ)丁利用性的概率大小,為進(jìn)一步漏洞修復(fù)奠定基礎(chǔ)。Fruhwirth等人[4]利用漏洞潛在的上下文信息來影響漏洞修復(fù)優(yōu)先次序。何林等人[5]提出了一種基于SVM(support vector machine)的漏洞修復(fù)模型,改進(jìn)了傳統(tǒng)漏洞修復(fù)方案。Subramanian等人[6]設(shè)計漏洞檢測和修復(fù)模型。汪志亮等人[7]提出收益與代價相結(jié)合的漏洞修復(fù)模型。Huang等人[8]利用馬爾科夫隨機(jī)模型進(jìn)行軟件漏洞補(bǔ)丁管理。
以往漏洞修復(fù)模型存在難以確定同一危害等級漏洞修復(fù)優(yōu)先次序的問題,故需要更為精確、細(xì)粒度的漏洞修復(fù)策略。漏洞類型已經(jīng)成為區(qū)分漏洞危害性的一個新指標(biāo),并對漏洞修復(fù)優(yōu)先次序有重要影響,故本文利用該指標(biāo)構(gòu)建漏洞修復(fù)模型。針對傳統(tǒng)漏洞修復(fù)方案過于簡單的問題,將目標(biāo)主機(jī)漏洞劃分為主機(jī)、漏洞類型威脅等級、漏洞類型、漏洞4個層次,采用“自下而上、先局部后整體”的漏洞修復(fù)策略,提出一種基于漏洞類型的層次化漏洞修復(fù)方法,最終給出細(xì)粒度的漏洞修復(fù)優(yōu)先次序。
漏洞類型聚類的層次化漏洞修復(fù)(vulnerability remediation based on vulnerability type clustering,VR-VTC)模型設(shè)計如圖1所示,包含3個步驟。
Fig.1 Architecture of VR-VTC model圖1 VR-VTC模型架構(gòu)
步驟1漏洞聚類分析。
(1)PSO-K-means聚類算法[9]:利用PSO(particle swarm optimization)算法尋找聚類中心,對預(yù)處理后的漏洞數(shù)據(jù)運(yùn)用K-means算法實現(xiàn)漏洞聚類。
(2)漏洞類型威脅性量化分析:利用每種漏洞類型高危、中危、低危各個危害等級的百分比,計算每種漏洞類型的威脅因子。
步驟2漏洞嚴(yán)重性評估。
(1)根據(jù)基于OVAL(open vulnerability assessment language)[10]的漏洞掃描器獲得的主機(jī)漏洞報告,查找最新發(fā)布的相關(guān)安全補(bǔ)丁。
(2)利用文獻(xiàn)[11]提出的基于粗糙集的漏洞嚴(yán)重性評估方法對主機(jī)中每個漏洞進(jìn)行定量和定性評估。
步驟3漏洞修復(fù)策略選擇。
(1)構(gòu)建面向漏洞類型的層次化目標(biāo)主機(jī)模型,目標(biāo)主機(jī)模型從上到下分解為主機(jī)、漏洞類型威脅等級、漏洞類型、漏洞4個層次,采用“自下而上、先局部后整體”的漏洞修復(fù)策略。
(2)提出一種基于漏洞類型的層次化漏洞修復(fù)方法,最終給出細(xì)粒度的漏洞修復(fù)策略。
(3)根據(jù)漏洞優(yōu)先級別執(zhí)行相應(yīng)的修復(fù)策略。
漏洞類型(vulnerability type,VT)中高危、中危、低危各自的百分比分別表示為:
在漏洞類型中高危、中危、低危各自百分比的基礎(chǔ)上,可獲得該漏洞類型威脅因子(vulnerability type threat factor,VTTF),其計算公式為:
其中,ω1、ω2、ω3分別表示高危、中危、低危的漏洞百分比的權(quán)重大小,且滿足ω1+ω2+ω3=1。權(quán)重大小的取值依據(jù)安全管理人員的專家經(jīng)驗知識,并根據(jù)式(4)計算每種漏洞類型的威脅因子,進(jìn)而確定所有漏洞類型威脅因子的取值范圍,最終將漏洞類型威脅因子評分進(jìn)行等級劃分。
本文提出了面向漏洞類型的層次化目標(biāo)主機(jī)模型構(gòu)建方法,如圖2所示。目標(biāo)主機(jī)模型的層次關(guān)系分解為主機(jī)、漏洞類型威脅等級、漏洞類型、漏洞4個層次,采用“自下而上、先局部后整體”的策略,其具體步驟為:
(1)利用基于OVAL的漏洞掃描器[12]獲得的主機(jī)Host共N個漏洞Vi,其中i的取值范圍是1≤i≤N。
(2)利用文獻(xiàn)[11]提出的基于粗糙集的漏洞嚴(yán)重性評估方法計算每個漏洞危害性評分QS,并獲得對應(yīng)的漏洞危害等級。
(3)對于M個漏洞類型,將具有相同類型的漏洞Vi分到一個漏洞類型VTk組里,其中k的取值范圍為1≤k≤M。
(4)將漏洞類型威脅等級是“弱危害”的所有漏洞放到Ggreen組中。同樣地,將“中危害”、“強(qiáng)危害”等級的漏洞分別放到對應(yīng)的組中。
Fig.2 Hierarchical target host model oriented to vulnerability type圖2 面向漏洞類型的層次化目標(biāo)主機(jī)模型
本文提出基于漏洞類型的層次化漏洞修復(fù)方法,其步驟為:
(1)在Ggreen組中,對每個漏洞按照Ggreen威脅等級規(guī)則執(zhí)行相應(yīng)的修復(fù)策略。若QS為高危,則優(yōu)先級別為P1,補(bǔ)丁安裝時間最多1周;若為中危,則優(yōu)先級別為P2,補(bǔ)丁安裝時間最多5周;若為低危,則優(yōu)先級別為P3,補(bǔ)丁安裝時間最多9周。
(2)在Gyellow組中,對每個漏洞按照Gyellow威脅等級規(guī)則執(zhí)行相應(yīng)的修復(fù)策略。若QS為高危,則優(yōu)先級別為P1,補(bǔ)丁安裝時間最多2周;若為中危,則優(yōu)先級別為P2,補(bǔ)丁安裝時間最多6周;若為低危,則優(yōu)先級別為P3,補(bǔ)丁安裝時間最多10周。
(3)在Gred組中,對每個漏洞Gred威脅等級規(guī)則執(zhí)行相應(yīng)的修復(fù)策略。若QS為高危,則優(yōu)先級別為P1,補(bǔ)丁安裝時間最多3周;若為中危,則優(yōu)先級別為P2,補(bǔ)丁安裝時間最多7周;若為低危,則優(yōu)先級別為P3,補(bǔ)丁安裝時間最多11周。
本文采用NVD數(shù)據(jù)庫[2]在2004—2015年期間公布的65 295個安全漏洞樣本進(jìn)行實驗,利用文獻(xiàn)[9]中PSO-K-means算法對所有漏洞樣本進(jìn)行聚類分析。CNNVD(China National Vulnerability Database of Information Security)[13-14]對所有漏洞進(jìn)行漏洞類型的人工標(biāo)記,其結(jié)果有26種漏洞類型[15],通過爬蟲程序獲取每個漏洞對應(yīng)的漏洞類型,將其與利用PSOK-means算法獲得的聚類結(jié)果進(jìn)行性能對比。
PSO-K-means算法的各個參數(shù)取值為:粒子群的種群規(guī)模大小m=65 295,聚類數(shù)目k=26,最大迭代次數(shù)maxTime=200,粒子群的適應(yīng)度方差閾值threδ=0.1,利用文獻(xiàn)[9]中算法1得到的頻繁字典keylib有50個。因此,KSset的規(guī)模大小為50×65 295的二維向量。
圖3顯示了PSO-K-means算法獲得的聚類結(jié)果與CNNVD人工標(biāo)記的漏洞類型對比結(jié)果。其中,橫軸表示漏洞類型,縱軸表示漏洞數(shù)量。從實驗結(jié)果可以看出,PSO-K-means算法達(dá)到了良好的聚類效果,可對漏洞進(jìn)行自動、有效的分類管理。
表2給出了26種漏洞類型各自高危、中危、低危漏洞的百分比。由于每種漏洞類型的漏洞危害等級百分比分布是一個動態(tài)變量,根據(jù)安全管理人員的專家經(jīng)驗知識,漏洞危害等級的分值越高,其對應(yīng)的漏洞危害等級百分比權(quán)重也越高。依據(jù)3種漏洞危害等級的分值范圍,設(shè)置高危、中危、低危的漏洞百分比權(quán)重分別為ω1=0.6,ω2=0.3,ω3=0.1,并根據(jù)式(4)計算各種漏洞類型的威脅因子。
Fig.3 Vulnerability clustering analysis圖3 漏洞聚類結(jié)果分析
Table 2 Various kinds of vulnerability types threat factor表2 各種漏洞類型威脅因子
Table 3 Vulnerability types threat rank表3 漏洞類型威脅等級
采用OVAL的漏洞掃描器對局域網(wǎng)中主機(jī)A進(jìn)行漏洞檢測,獲得11個漏洞信息見表4所示,對該漏洞集合利用文獻(xiàn)[11]提出的基于粗糙集的漏洞嚴(yán)重性評估方法RAR計算每個漏洞危害性評分,并獲得對應(yīng)的漏洞危害等級;3.1節(jié)已經(jīng)完成對NVD數(shù)據(jù)庫在2004—2015年期間公布的所有漏洞數(shù)據(jù)進(jìn)行自動標(biāo)注漏洞類型,查詢主機(jī)A檢測到的11個漏洞各自對應(yīng)的漏洞類型,并根據(jù)表3查找對應(yīng)的威脅等級,其結(jié)果如表4所示。
從定量角度可以看出,v5>v11>v7>v3>v1>v2>v4>v6>v8>v9>v10。根據(jù)面向漏洞類型的層次化目標(biāo)主機(jī)模型構(gòu)建方法,將威脅等級為強(qiáng)危害的漏洞放入組Gred中,包括漏洞序號v1、v3、v4、v5、v9、v11;將威脅等級為中危害的漏洞放入組Gyellow中,包括漏洞序號v7;將威脅等級為弱危害的漏洞放入組Ggreen中,包括漏洞序號v2、v6、v8、v10。
Gred、Gyellow、Ggreen中,按照其修復(fù)規(guī)則制定補(bǔ)丁修復(fù)策略,輸出補(bǔ)丁優(yōu)先修復(fù)過程見圖4,制定相關(guān)策略如下:P1優(yōu)先級的漏洞序號為v1、v3、v5、v11,其補(bǔ)丁修復(fù)時間最多為1周;P2優(yōu)先級的漏洞序號為v7、v9,其補(bǔ)丁修復(fù)時間最多為2周;P3優(yōu)先級的漏洞序號為“無”;P4優(yōu)先級的漏洞序號為v4,其補(bǔ)丁修復(fù)時間最多為5周;P5優(yōu)先級的漏洞序號為“無”;P6優(yōu)先級的漏洞序號為v2、v6、v8,其補(bǔ)丁修復(fù)時間最多為7周;P7優(yōu)先級的漏洞序號為“無”;P8優(yōu)先級的漏洞序號為“無”;P9優(yōu)先級的漏洞序號為v10,其補(bǔ)丁修復(fù)時間最多為11周。
Table 4 Vulnerability information of hostA表4 主機(jī)A的漏洞信息
Fig.4 Vulnerability remediation strategy圖4 漏洞修復(fù)策略
深入分析現(xiàn)有漏洞評估與修復(fù)策略存在的問題,以及漏洞類型對漏洞修復(fù)優(yōu)先次序的重要影響,提出了一種基于漏洞類型聚類的層次化漏洞修復(fù)模型,有效解決了難以確定同一危害等級漏洞修復(fù)優(yōu)先次序的問題。實驗驗證了本文模型改進(jìn)了傳統(tǒng)的“一旦掃描出漏洞就要進(jìn)行修復(fù)”的理念,從漏洞危害評分、漏洞危害等級、漏洞類型、漏洞類型威脅等級等多個角度出發(fā),實現(xiàn)了對漏洞修復(fù)優(yōu)先次序的細(xì)粒度管理,有效解決了難以確定同一危害等級漏洞修復(fù)優(yōu)先次序的問題。
[1]Mell P,Scarfone K,Romanosky S.Common vulnerability scoring system[J].IEEE Security&Privacy Magazine,2006,4(6):85-89.
[2]NIST.The national vulnerability database(NVD)[EB/OL].[2015-10-28].https://nvd.nist.gov/.
[3]Frei S,May M,Fiedler U,et al.Large-scale vulnerability analysis[C]//Proceedings of the 2006 SIGCOMM Workshop on Large-Scale Attack Defense,Pisa,Sep 11-15,2006.New York:ACM,2006:131-138.
[4]Frühwirth C,M?nnist? T.Improving CVSS-based vulnerability prioritization and response with context information[C]//Proceedings of the 3rd International Symposium on Empirical Software Engineering and Measurement,Lake Buena Vista,Oct 15-16,2009.Washington:IEEE Computer Society,2009:535-544.
[5]He Lin,Gao Ling,Chen Dongqi,et al.Research of vulnerability-patch associated repair model based on SVM[C]//Proceedings of the 3rd International Conference on Multimedia Information Networking&Security,Shanghai,Nov 4-6,2011.Washington:IEEE Computer Society,2011:356-360.
[6]Subramanian D,Le H T,Loh P K K,et al.An empirical vulnerability remediation model[C]//Proceedings of the 2010 International Conference on Wireless Communications,Networking and Information Security,Beijing,Jun 25-27,2010.Piscataway:IEEE,2010:376-380.
[7]Wang Zhiliang,Gu Naijie,Li Kai.Benefit and cost combined vulnerabilities repair model[J].Journal of Chinese Computer Systems,2009,30(11):2163-2168.
[8]Huang C C,Farn K J,Lin Fengyu,et al.Software vulnerability patch management with semi-Markov decision process[J].Applied Mathematics&Information Sciences,2013,7(6):2467-2476.
[9]Gao Ling,Shen Yuan,Gao Ni,et al.Clustering analysis vulnerability information based on text mining[J].Journal of Southeast University:Natural Science Edition,2015,45(5):845-850.
[10]Open vulnerability assessment language[EB/OL].[2015-07-09].http://oval.mitre.org.
[11]Fu Zhiyao,Gao Ling,Sun Qian,et al.Evaluation of vulnerability severity based on rough sets and attributes reduction[J].Journal of Computer Research and Development,2016,53(5):1009-1017.
[12]He Lin.Research of vulnerability detection and repair technology supporting the compatible repository[D].Xi'an:Northwest University,2013.
[13]China national vulnerability database of information security(CNNVD)[EB/OL].(2010-11-16).http://www.cnnvd.org.cn/.
[14]Zhang Yuqing,Wu Shuping,Liu Qixu,et al.Design and implementation of national security vulnerability database[J].Journal on Communications,2011,32(6):93-100.
[15]Liao Xiaofeng,Wang Yongji,Fan Xiubin,et al.National security vulnerability database classification based on an LDA topic model[J].Journal of Tsinghua University:Science and Technology,2012,52(10):1351-1355.
附中文參考文獻(xiàn):
[7]汪志亮,顧乃杰,李凱.收益與代價相結(jié)合的漏洞修復(fù)模型[J].小型微型計算機(jī)系統(tǒng),2009,30(11):2163-2168.
[9]高嶺,申元,高妮,等.基于文本挖掘的漏洞信息聚類分析[J].東南大學(xué)學(xué)報:自然科學(xué)版,2015,45(5):845-850.
[11]付志耀,高嶺,孫騫,等.基于粗糙集的漏洞屬性約簡及嚴(yán)重性評估[J].計算機(jī)研究與發(fā)展,2016,53(5):1009-1017.
[12]何林.支持兼容知識庫的漏洞檢測與修復(fù)技術(shù)研究[D].西安:西北大學(xué),2013.
[14]張玉清,吳舒平,劉奇旭,等.國家安全漏洞庫的設(shè)計與實現(xiàn)[J].通信學(xué)報,2011,32(6):93-100.
[15]廖曉鋒,王永吉,范修斌,等.基于LDA主題模型的安全漏洞分類[J].清華大學(xué)學(xué)報:自然科學(xué)版,2012,52(10):1351-1355.