摘 要:引入了特權(quán)集、機(jī)密性、完整性和可用性等量化屬性,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)量化的多屬性弱點(diǎn)數(shù)據(jù)庫(kù),同時(shí)對(duì)弱點(diǎn)數(shù)據(jù)進(jìn)行了進(jìn)一步的分析。實(shí)踐表明,該弱點(diǎn)數(shù)據(jù)庫(kù)能夠?yàn)榘踩u(píng)估提供更細(xì)致、更有力的弱點(diǎn)信息支持。
關(guān)鍵詞:弱點(diǎn)數(shù)據(jù)庫(kù); 弱點(diǎn)分類法; 安全評(píng)估; 特權(quán)提升
中圖分類號(hào):TP309文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001—3695(2007)03—0213—02
在Internet高速發(fā)展的今天,黑客攻擊越來(lái)越受到全社會(huì)的廣泛關(guān)注,黑客利用計(jì)算機(jī)軟件或配置上的弱點(diǎn),從而達(dá)到無(wú)授權(quán)訪問(wèn)、特權(quán)提升、DoS攻擊等目的,嚴(yán)重地危害了信息系統(tǒng)的安全。計(jì)算機(jī)弱點(diǎn)(Vulnerability)或漏洞是指計(jì)算機(jī)硬件、軟件或策略上的缺陷,此缺陷若被發(fā)掘利用則會(huì)違犯安全策略[1],并對(duì)系統(tǒng)的機(jī)密性、完整性和可用性造成不良影響。
弱點(diǎn)數(shù)據(jù)庫(kù)是弱點(diǎn)研究領(lǐng)域的重要組成部分,其研究目的與意義主要表現(xiàn)在:①人們通過(guò)設(shè)計(jì)和開(kāi)發(fā)弱點(diǎn)數(shù)據(jù)庫(kù)來(lái)收集、存儲(chǔ)和組織弱點(diǎn)信息;②弱點(diǎn)數(shù)據(jù)庫(kù)為網(wǎng)絡(luò)蠕蟲(chóng)病毒的傳播與防治、網(wǎng)絡(luò)入侵檢測(cè)和風(fēng)險(xiǎn)評(píng)估等安全領(lǐng)域提供了必要的信息支持。目前,很多研究人員和機(jī)構(gòu)開(kāi)展了弱點(diǎn)數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn)工作[2—4],他們工作的重點(diǎn)是通過(guò)整合弱點(diǎn)屬性建構(gòu)完善的弱點(diǎn)數(shù)據(jù)庫(kù),從而更好地組織已有的弱點(diǎn)信息。然而這些建構(gòu)弱點(diǎn)庫(kù)的工作缺少量化支持,也無(wú)法體現(xiàn)各種弱點(diǎn)之間的訪問(wèn)權(quán)限提升關(guān)系,因此不能在更細(xì)的層次上區(qū)分弱點(diǎn)的輕重緩急,無(wú)法表達(dá)弱點(diǎn)被成功利用的難易程度。
為此,本文引入特權(quán)集、機(jī)密性、完整性、可用性和攻擊復(fù)雜性等弱點(diǎn)屬性,并施以量化,為安全評(píng)估提供一個(gè)更細(xì)致、有力的弱點(diǎn)信息支持;同時(shí)在建構(gòu)弱點(diǎn)庫(kù)的基礎(chǔ)上對(duì)弱點(diǎn)及弱點(diǎn)分類法進(jìn)行一定的研究,這對(duì)深入理解已知弱點(diǎn)的產(chǎn)生緣由、進(jìn)一步的預(yù)防以及新弱點(diǎn)的發(fā)現(xiàn)具有一定的指導(dǎo)意義。
1 弱點(diǎn)數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)
弱點(diǎn)數(shù)據(jù)庫(kù)中每條弱點(diǎn)的所有屬性的詳細(xì)設(shè)計(jì)如表1所示。
其中前13個(gè)弱點(diǎn)屬性是弱點(diǎn)的基本屬性,在國(guó)際公開(kāi)可用的弱點(diǎn)庫(kù)中均有介紹,本系統(tǒng)也是以這些弱點(diǎn)庫(kù)為基庫(kù)來(lái)得到這13個(gè)屬性的屬性值。但是這些屬性不能滿足安全評(píng)估系統(tǒng)的需求,為了支持安全評(píng)估系統(tǒng),需要對(duì)弱點(diǎn)的特權(quán)集,弱點(diǎn)的機(jī)密性、完整性和可用性三個(gè)安全屬性施以量化,從而能夠有效地表達(dá)出弱點(diǎn)在不同層次上的輕重緩急;引入攻擊復(fù)雜性的屬性,更能準(zhǔn)確地反映出弱點(diǎn)在實(shí)際情況中被成功利用的難易程度。同時(shí),弱點(diǎn)的量化信息為評(píng)估不同操作系統(tǒng)的安全性提供了一定的衡量標(biāo)準(zhǔn)。因此為弱點(diǎn)數(shù)據(jù)庫(kù)增加如下一些屬性,即premise(前提特權(quán)集)、consequence(結(jié)果特權(quán)集)、C(對(duì)機(jī)密性的影響)、I(對(duì)完整性的影響)、A(對(duì)可用性的影響)和ac(攻擊復(fù)雜性)。
最后一項(xiàng)屬性attack_id是弱點(diǎn)對(duì)應(yīng)的攻擊插件標(biāo)志號(hào)。攻擊插件是針對(duì)某個(gè)弱點(diǎn)所設(shè)計(jì)的攻擊目標(biāo)系統(tǒng)的方法,也就是說(shuō)一個(gè)攻擊插件對(duì)應(yīng)著一個(gè)弱點(diǎn),但是一個(gè)弱點(diǎn)可能具有多個(gè)攻擊插件。為了支持安全評(píng)估系統(tǒng),需要在弱點(diǎn)數(shù)據(jù)庫(kù)中建立起弱點(diǎn)與攻擊插件的對(duì)應(yīng)關(guān)系,因此設(shè)置了attack_id屬性。
2 弱點(diǎn)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
弱點(diǎn)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)主要可分為三大模塊,即數(shù)據(jù)獲取模塊、數(shù)據(jù)處理模塊和信息發(fā)布模塊。其中信息發(fā)布模塊是將弱點(diǎn)數(shù)據(jù)庫(kù)中的部分弱點(diǎn)信息對(duì)外發(fā)布,主要是在Linux服務(wù)器上利用MySQL+Apache+PHP來(lái)建立基于Web的弱點(diǎn)數(shù)據(jù)庫(kù)信息查詢服務(wù)系統(tǒng)。
2.1 數(shù)據(jù)獲取模塊
Internet上現(xiàn)有許多免費(fèi)的弱點(diǎn)庫(kù),它們各有不同的側(cè)重點(diǎn)。目前公開(kāi)可用的弱點(diǎn)庫(kù)中,最有名的應(yīng)屬ISS的X—Force庫(kù)和Securityfocus的Bugtraq庫(kù)[5],國(guó)內(nèi)在開(kāi)發(fā)IDS及弱點(diǎn)掃描系統(tǒng)時(shí),也多是基于這兩個(gè)庫(kù)。文中的弱點(diǎn)數(shù)據(jù)庫(kù)選擇Bugtraq弱點(diǎn)庫(kù)作為基庫(kù),其主要原因是:①Bugtraq弱點(diǎn)庫(kù)的覆蓋面比較廣,更新比較快;②CVE庫(kù)中的內(nèi)容很少,對(duì)弱點(diǎn)的跟蹤也比較慢,目前還只是一個(gè)參考標(biāo)準(zhǔn),其目的是標(biāo)準(zhǔn)化所有公開(kāi)已知的弱點(diǎn)和安全攻擊,它是一個(gè)字典而非一個(gè)數(shù)據(jù)庫(kù),同時(shí)其初始目的僅僅是為了各安全廠商間的弱點(diǎn)信息能夠兼容,提供了弱點(diǎn)的一種枚舉方法,但真正作為安全評(píng)估是不適合的;③Bugtraq庫(kù)包含有更多的內(nèi)容,特別是對(duì)弱點(diǎn)的可行發(fā)掘和利用,可以進(jìn)行到何種程度,以及公開(kāi)的攻擊程序和腳本等相關(guān)信息均有較詳細(xì)的描述,這更利于對(duì)弱點(diǎn)進(jìn)行特權(quán)提升分析。
由于這個(gè)國(guó)際性的弱點(diǎn)發(fā)布網(wǎng)站總能最快地錄入新的弱點(diǎn),所以為了支持安全評(píng)估系統(tǒng),文中的弱點(diǎn)數(shù)據(jù)庫(kù)也需要隨時(shí)更新。因此數(shù)據(jù)獲取模塊主要是用來(lái)更新弱點(diǎn)數(shù)據(jù)庫(kù),獲取大量的新的弱點(diǎn)信息。由于計(jì)算機(jī)弱點(diǎn)數(shù)以千計(jì),現(xiàn)在的數(shù)量已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)一萬(wàn)條了,完全手動(dòng)收集將需要大量的時(shí)間和人力,所以本文利用弱點(diǎn)信息具有的共同特點(diǎn),使用計(jì)算機(jī)程序來(lái)快速收集入庫(kù)。
2.2 數(shù)據(jù)處理模塊
該模塊的主要功能是處理數(shù)據(jù)庫(kù)中的所有弱點(diǎn)信息,如弱點(diǎn)屬性的量化工作。其中對(duì)C、I、A和ac弱點(diǎn)屬性量化的具體分級(jí)標(biāo)準(zhǔn)參考了文獻(xiàn)[6]中對(duì)機(jī)密性、完整性、可用性以及攻擊復(fù)雜性的分級(jí)量化標(biāo)準(zhǔn)。對(duì)于premise(前提特權(quán)集)和consequence(結(jié)果特權(quán)集)屬性的值則根據(jù)弱點(diǎn)的描述,進(jìn)行分析、賦值,賦值的準(zhǔn)則如表2所示。
3 弱點(diǎn)數(shù)據(jù)分析
3.1 主要內(nèi)容
弱點(diǎn)分類法是弱點(diǎn)研究中的一個(gè)重要課題,很多研究機(jī)構(gòu)和研究人員都開(kāi)展了這方面的工作。系統(tǒng)地研究弱點(diǎn)分類法對(duì)發(fā)掘弱點(diǎn)之間的關(guān)聯(lián)關(guān)系有著重大的指導(dǎo)意義,從而可深入理解已知弱點(diǎn)的產(chǎn)生緣由,更好地預(yù)防弱點(diǎn)所產(chǎn)生的危害以及有助于發(fā)現(xiàn)新的弱點(diǎn)。弱點(diǎn)多個(gè)方面的屬性都可以作為弱點(diǎn)分類的依據(jù),如可能造成的直接威脅、成因、嚴(yán)重性、被利用的方式和存在的組件等。為了支持安全評(píng)估系統(tǒng),文中采用兩種分類法對(duì)弱點(diǎn)進(jìn)行了分類。
3.2 按操作系統(tǒng)分類
操作系統(tǒng)是弱點(diǎn)的一個(gè)重要基本屬性,按弱點(diǎn)所屬的操作系統(tǒng)來(lái)進(jìn)行分類,為弱點(diǎn)庫(kù)查詢服務(wù)系統(tǒng)中按操作系統(tǒng)查詢提供了便利條件,同時(shí)也能很好地支持安全評(píng)估系統(tǒng)。該分類方法主要把弱點(diǎn)按照10種比較常用的操作系統(tǒng)類型來(lái)進(jìn)行分類,其分類結(jié)果如圖1所示。
圖1 按操作系統(tǒng)分類的結(jié)果統(tǒng)計(jì)
由分類結(jié)果可知,Linux和Windows操作系統(tǒng)的弱點(diǎn)數(shù)目最多,從某種程度上講,這兩大操作系統(tǒng)的安全性最不容樂(lè)觀,但是弱點(diǎn)的發(fā)現(xiàn)與解決將促使這兩大操作系統(tǒng)進(jìn)一步提高自身的安全性。
3.3 按特權(quán)提升級(jí)別分類
按特權(quán)提升級(jí)別分類,首先要確定每條弱點(diǎn)的前提特權(quán)集和結(jié)果特權(quán)集(賦值標(biāo)準(zhǔn)如表2所示)。前提特權(quán)集和結(jié)果特權(quán)集屬性提供了形式化描述特權(quán)提升過(guò)程的基礎(chǔ),有利于挖掘弱點(diǎn)之間潛在的依賴關(guān)系,能夠反映出攻擊者利用不同類別的弱點(diǎn)達(dá)到一系列特權(quán)提升的情況,從而解決“某些弱點(diǎn)表面上較輕,但實(shí)際上可能由于一系列特權(quán)提升而帶來(lái)嚴(yán)重后果”的問(wèn)題,這一點(diǎn)對(duì)用戶具有很大的警示作用。將弱點(diǎn)的前提特權(quán)集和結(jié)果特權(quán)集結(jié)合起來(lái),按弱點(diǎn)特權(quán)提升級(jí)別分類的統(tǒng)計(jì)結(jié)果如圖2所示。
圖2 弱點(diǎn)特權(quán)提升級(jí)別分類的統(tǒng)計(jì)結(jié)果
由分類統(tǒng)計(jì)結(jié)果可知,以Paccess(遠(yuǎn)程訪問(wèn)者
權(quán)限)為起點(diǎn)進(jìn)行特權(quán)提升的弱點(diǎn)最多,并且提升級(jí)別為Paccess—>Psupuser(超級(jí)用戶權(quán)限)的弱點(diǎn)最多。其原因如下:
remote/local屬性(即遠(yuǎn)程/本地利用)是弱點(diǎn)的兩個(gè)基本屬性,都分別具有三個(gè)屬性值,即Yes、No和Unknown。將弱點(diǎn)的這兩個(gè)屬性結(jié)合起來(lái)進(jìn)行統(tǒng)計(jì),其結(jié)果如圖3所示。
圖3 弱點(diǎn)“遠(yuǎn)程/本地利用”屬性的統(tǒng)計(jì)結(jié)果
由圖3可知,只可遠(yuǎn)程利用的弱點(diǎn)占了絕大多數(shù),約占弱點(diǎn)總數(shù)的63%。即前提特權(quán)集為Paccess的弱點(diǎn)占了絕大多數(shù),因此能夠以Paccess為起點(diǎn)進(jìn)行特權(quán)提升的弱點(diǎn)最多。同時(shí),提升級(jí)別為Paccess—>Psupuser的弱點(diǎn)最多,說(shuō)明大多數(shù)的弱點(diǎn)危害程度很高,后果嚴(yán)重,用戶應(yīng)提高警惕。
4 結(jié)束語(yǔ)
構(gòu)建和維護(hù)弱點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)是開(kāi)發(fā)和衡量各種安全工具或安全系統(tǒng)的重要基礎(chǔ)。文中較為全面地收集了國(guó)際上發(fā)布的安全弱點(diǎn),并在通用弱點(diǎn)屬性的基礎(chǔ)上為弱點(diǎn)庫(kù)新增了特權(quán)集提升效果、機(jī)密性、完整性、可用性和攻擊復(fù)雜性等弱點(diǎn)屬性,為安全評(píng)估提供了量化弱點(diǎn)信息的有力支持。同時(shí)按操作系統(tǒng)和特權(quán)提升級(jí)別對(duì)弱點(diǎn)進(jìn)行了分類和研究,由此獲得一定量的相關(guān)統(tǒng)計(jì)數(shù)據(jù),為軟件開(kāi)發(fā)者及使用者發(fā)現(xiàn)弱點(diǎn)以及預(yù)防其產(chǎn)生的危害提供了幫助。
本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。