一種基于開源庫與文本挖掘的并行漏洞挖掘方法
【專利摘要】本發(fā)明涉及一種基于開源庫與文本挖掘的并行漏洞挖掘方法,屬于計算機(jī)信息安全【技術(shù)領(lǐng)域】。其步驟包括:從開源庫獲取漏洞數(shù)據(jù)以及數(shù)據(jù)預(yù)處理,提取漏洞集合,文本向量化,計算閾值,發(fā)現(xiàn)并行漏洞。本發(fā)明的優(yōu)點(diǎn)有:基于開源信息庫,提取同一攻擊模式下相關(guān)漏洞信息,從而便于分析漏洞間潛在的并行關(guān)系;將漏洞的文字描述信息向量化,便于計算機(jī)系統(tǒng)對漏洞記錄數(shù)據(jù)進(jìn)行智能化處理;區(qū)別于基于關(guān)鍵字匹配的查詢,本發(fā)明根據(jù)訓(xùn)練集得出的閾值考察漏洞間的相似度;可以計算漏洞間的并行關(guān)系,從而在發(fā)現(xiàn)一個漏洞被利用時迅速彌補(bǔ)其它并行漏洞,進(jìn)而彌補(bǔ)整個網(wǎng)絡(luò)的脆弱性,增強(qiáng)防御能力,對信息安全有很大的意義。
【專利說明】
一種基于開源庫與文本挖掘的并行漏洞挖掘方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機(jī)信息安全【技術(shù)領(lǐng)域】。具體而言,本發(fā)明涉及一種基于開源庫與文本挖掘的并行漏洞挖掘方法。
【背景技術(shù)】
[0002]隨著互連網(wǎng)的不斷普及和飛速發(fā)展,人們越來越多地使用到并依賴于互聯(lián)網(wǎng)。同時,因互聯(lián)網(wǎng)信息安全問題產(chǎn)生的經(jīng)濟(jì)損失大幅提高,造成的危害也明顯增大。存在于各種軟件和操作系統(tǒng)中的漏洞,為黑客們發(fā)動網(wǎng)絡(luò)攻擊、盜取用戶信息、甚至破壞工業(yè)基礎(chǔ)設(shè)施提供了條件。為此世界各國不予余力地研究防范網(wǎng)絡(luò)中安全隱患的有效方法。
[0003]從1996年開始,信息安全專家就開始對互聯(lián)網(wǎng)攻擊模式進(jìn)行歸納和總結(jié),試圖從更高的層次理解網(wǎng)絡(luò)攻擊。而在這其中,被廣泛認(rèn)可的則是由美國國土安全部(UnitedStates Department of Homeland Security, DHS)支持的 CAPEC (Common AttackPatternEnumerat1n and Classificat1n)項(xiàng)目。在CAPEC中,每個攻擊模式被指定了唯一的ID,并提供了以下的信息:攻擊模式描述、攻擊步驟、前置條件(如依托的平臺及軟件版本等攻擊前需要滿足的技術(shù)條件)、后置條件(如攻擊后獲取的管理員權(quán)限等)、攻擊實(shí)例、相關(guān)的 CWE(Common Weakness Enumerat1n)脆弱性和 CVE(Common Vulnerabilities andExposures)漏洞等。CAPEC不但闡述了網(wǎng)絡(luò)攻擊模式的具體細(xì)節(jié),還指明了它與CWE、CVE之間的聯(lián)系。CWE是一個描述軟件中的脆弱性集合。對于每一個脆弱性,它提供了以下信息:脆弱性描述、適用的平臺、造成的結(jié)果、實(shí)例以及相關(guān)的CVE漏洞。一個CWE脆弱性對應(yīng)著許多個相關(guān)CVE漏洞。
[0004]本發(fā)明涉及的并行漏洞(Parallel Vulnerabilities),指的是具有相同攻擊基礎(chǔ)條件、能達(dá)到相同攻擊目的和效果、但利用不同攻擊路徑的漏洞組合。簡而言之,并行漏洞使用多路徑的方法來分析攻擊可能利用的途徑,從而提高成功防御網(wǎng)絡(luò)攻擊的概率和覆蓋率。
[0005]與并行漏洞有著密切聯(lián)系的則是攻擊圖:攻擊圖從攻擊者或防御者的視角描述了如何利用系統(tǒng)中存在的漏洞達(dá)到攻擊或防范的目的;系統(tǒng)管理可以通過攻擊圖評估他們系統(tǒng)的安全性,以及決定采取怎樣的補(bǔ)救措施進(jìn)行防范。并行漏洞就是源于攻擊圖中的同一起始點(diǎn)和結(jié)束點(diǎn)間的分支并行關(guān)系,用于發(fā)現(xiàn)這些有并行關(guān)系的漏洞組合,可在發(fā)現(xiàn)一個漏洞被利用時迅速彌補(bǔ)其它并行漏洞,便于及時對相應(yīng)漏洞打補(bǔ)丁,進(jìn)而彌補(bǔ)整個網(wǎng)絡(luò)的脆弱性,具有較高的網(wǎng)絡(luò)防御應(yīng)用價值。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于,基于開源信息庫,提取同一攻擊模式下關(guān)聯(lián)脆弱性CWE,再從脆弱性CWE關(guān)聯(lián)到漏洞CVE,然后通過文本挖掘和自然語言處理技術(shù),挖掘出并行漏洞,因而具有較高的網(wǎng)絡(luò)防御應(yīng)用價值。
[0007]本發(fā)明的技術(shù)方案是:
[0008]一種基于開源庫與文本挖掘的并行漏洞挖掘方法,步驟包括:
[0009]1.數(shù)據(jù)獲取與預(yù)處理:
[0010]a)從開源庫中獲取原始攻擊模式信息、脆弱性信息和漏洞信息
[0011]b)對獲取的開源庫信息數(shù)據(jù)進(jìn)行數(shù)據(jù)清理,包括統(tǒng)一數(shù)據(jù)格式、數(shù)據(jù)凈化、填充缺失屬性和去除噪聲數(shù)據(jù)
[0012]c)對清理后的數(shù)據(jù)建立數(shù)據(jù)集合,并形成標(biāo)識到非結(jié)構(gòu)化文本信息的映射,形成三個集合 Pattern {p1; p2,...,pn},Weak (W1, w2,...,wj , Vulnerability (V1, v2,…,vj。其中Pi代表一個攻擊模式,Wi代表一個脆弱性,Vi代表一個漏洞。
[0013]2.提取映射關(guān)系和漏洞集合
[0014]解析出攻擊模式Pi到脆弱性Wi的映射關(guān)系(一對多)、脆弱性Wi到漏洞Vi的映射關(guān)系(一對多),然后形成攻擊模式Pi到漏洞Vi的映射關(guān)系,從而將龐大的漏洞庫依據(jù)某一個攻擊模式歸納到不同的漏洞集合。
[0015]3.對漏洞的文本描述信息進(jìn)行數(shù)學(xué)建模
[0016]a)提取漏洞的文本描述信息,進(jìn)行分詞,提取詞干,依據(jù)特征詞庫對描述進(jìn)行文本向量化,可表示為Di = (w1;i, w2;i, w3;i,…,Wiu),其中wn,i表示詞條η在文檔Di中的數(shù)量指標(biāo)表不O
[0017]b)依據(jù)文本向量化的描述信息計算文檔單詞的TF/IDF(詞頻/倒文檔頻)值,進(jìn)而文檔可表示為di = (w1;i, w2;i, w3;i,…,Wn i),其中Wn, i表示詞條η在文檔(Ii中的TF/IDF加權(quán)值。
[0018]4.對步驟2中提取到的漏洞集合的漏洞,根據(jù)攻擊模式的前置條件、后置條件及閾值進(jìn)行篩選,得到并行漏洞組合的集合
[0019]Parrallel {(Vi, V」)i ^ j, Vi e vulnerability}
[0020]a)依據(jù)人工標(biāo)注的并行漏洞訓(xùn)練集,計算并行漏洞的余弦相似值的閾值(方法見步驟4-a)和CVSS評估分?jǐn)?shù)的歐幾里得距離的閾值
[0021 ] b)對在步驟2中獲取的漏洞集合中,根據(jù)步驟3中獲取到的漏洞向量信息,對應(yīng)于攻擊模式的前置條件以及后置條件分別計算兩個漏洞的余弦相似值(方法見步驟4-a)
[0022]c)根據(jù)兩個漏洞的余弦相似值和CVSS的評估分?jǐn)?shù)的歐幾里得距離,將兩項(xiàng)均在各自閾值范圍內(nèi)的漏洞判別為并行漏洞。
[0023]步驟3_a)中所述分詞方法,其步驟為將文本流按空格進(jìn)行分隔,得到單詞序列。去除特殊含義的字符,替換//,\\,/,\為/,去除單詞尾號。
[0024]步驟3_b)中所述提取詞干的方法,采用Krovetz Stemmer對文本進(jìn)行處理。
[0025]步驟3-b)中所述計算文本TF/IDF值的方法,
[0026]TF (t, d) = 0.5+ (0.5*f (t, d)) / (max {f (w, d):w e d})
[0027]IDF(t,D) = log(|D|)/(| {d e D:t e d})
[0028]其中f (t, d)為單詞t在文檔d中的詞頻,f (w, d)為單詞w在文檔d中的詞頻,w屬于文檔d,它可以代表其中的任何一個單詞;|D|為語料庫D中包含的所有文檔數(shù),
{d e D:t e d} I為語料庫D中包含單詞t的文檔數(shù)。
[0029]步驟4-a)中所述計算余弦相似性的方法,
【權(quán)利要求】
1.一種基于開源庫與文本挖掘的并行漏洞挖掘方法,其特征在于,步驟包括: 1)數(shù)據(jù)獲取與預(yù)處理: a)從開源庫中獲取原始攻擊模式信息、脆弱性信息和漏洞信息; b)對獲取的開源庫信息數(shù)據(jù)進(jìn)行數(shù)據(jù)清理,包括統(tǒng)一數(shù)據(jù)格式、數(shù)據(jù)凈化、填充缺失屬性和去除噪聲數(shù)據(jù); c)對清理后的數(shù)據(jù)建立數(shù)據(jù)集合,并形成標(biāo)識到非結(jié)構(gòu)化文本信息的映射,形成三個集合 Pattern (PijP2...pj,Weak(WijW2...wm}, Vulnerability {vl, v2...v3};其中 Pi 代表一個攻擊模式,Wi代表一個脆弱性,Vi代表一個漏洞; 2)提取映射關(guān)系和漏洞集合 解析出攻擊模式Pi到脆弱性 ' 的映射關(guān)系、脆弱性 ' 到漏洞Vk的映射關(guān)系,然后形成攻擊模Spi到漏洞Vk的映射關(guān)系,從而將龐大的漏洞庫依據(jù)某一個攻擊模式歸納到不同的漏洞集合; 3)對漏洞的文本描述信息進(jìn)行數(shù)學(xué)建模: d)提取漏洞的文本描述信息,進(jìn)行分詞,提取詞干,依據(jù)特征詞庫對描述進(jìn)行文本向量化; e)依據(jù)文本向量化的描述信息計算文檔單詞的tf/idf即詞頻/倒文檔頻值; 4)對步驟2)中提取到的漏洞集合的漏洞,根據(jù)攻擊模式的前置條件、后置條件及閾值進(jìn)行篩選,得到并行漏洞組合的集合; a)依據(jù)人工標(biāo)注的并行漏洞訓(xùn)練集,計算并行漏洞的余弦相似值的閾值和CVSS評估分?jǐn)?shù)的歐幾里得距離的閾值; b)對在步驟2)中獲取的漏洞集合中,根據(jù)步驟3)中獲取到的漏洞向量信息,對應(yīng)于攻擊模式的前置條件以及后置條件分別計算兩個漏洞的余弦相似值; c)根據(jù)兩個漏洞的余弦相似值和CVSS的評估分?jǐn)?shù)的歐幾里得距離,將兩項(xiàng)均在各自閾值范圍內(nèi)的漏洞判別為并行漏洞。
【文檔編號】G06F17/30GK104166680SQ201410332588
【公開日】2014年11月26日 申請日期:2014年7月12日 優(yōu)先權(quán)日:2014年7月12日
【發(fā)明者】趙向輝, 劉林, 劉暉, 易錦, 陳海強(qiáng), 張磊, 姚原崗, 李維杰, 偰賡, 劉彥釗 申請人:中國信息安全測評中心