專利名稱:一種基于文本挖掘的相似漏洞查詢方法
技術領域:
本發(fā)明涉及一種基于文本挖掘的相似漏洞查詢方法,屬于計算機信息安全技術領域。
背景技術:
信息技術和互聯(lián)網(wǎng)迅速發(fā)展,互聯(lián)網(wǎng)上病毒木馬程序泛濫,竊泄密事件頻發(fā),網(wǎng)絡安全事件層出不窮,信息安全問題形勢嚴峻。眾多信息安全威脅的產(chǎn)生都與信息系統(tǒng)存在安全漏洞有關,世界各國已將漏洞信息等數(shù)據(jù)作為重要戰(zhàn)略資源實施掌控。2003年9月,美國國土安全部與Carnegie Mellon大學計算機應急響應中心CERT 共同組建美國政府計算機應急響應中心US-CERT。US-CERT對外以US-CERT Vulnerability Notes的形式發(fā)布漏洞信息。2005年,在美國國土安全部網(wǎng)絡安全司NCSD的贊助和US-CERT 的技術支持下,美國國家標準與技術委員會NIST下屬計算機安全資源中心CSRS建立了美國國家漏洞數(shù)據(jù)庫 NVD (National Vulnerability Database
)。2008年,歐盟推出了“歐洲盾牌計劃”,擬建立一個包括漏洞發(fā)現(xiàn)、消除、防御所需的所有信息、模型和工具在內(nèi)的漏洞數(shù)據(jù)庫。中國信息安全測評中心負責建設運維中國國 itffCNNVD (China National Vulnerability Database of Information
Security),已經(jīng)搜集了包括漏洞、補丁等信息在內(nèi)的多種數(shù)據(jù)。一些信息安全廠商和組織也建立了漏洞庫。如微軟的安全公告、Dragonsoft漏洞庫、開源漏洞庫等。目前,現(xiàn)有技術所建立的漏洞庫都只是提供了漏洞公告、統(tǒng)計、查詢等一些簡單服務,如重要的漏洞實例描述、漏洞增長數(shù)量情況、漏洞分布情況、漏洞危害等級與修復情況以及基于關鍵字漏洞和補丁查詢服務。
發(fā)明內(nèi)容
本發(fā)明的目的在于,克服現(xiàn)有技術缺點,區(qū)別于普通的基于關鍵字匹配的查詢,提供一種基于文本挖掘的相似漏洞查詢方法,根據(jù)輸入的漏洞記錄標識,計算該漏洞記錄與其他記錄之間的相似度,根據(jù)相似度的大小輸出查詢結果,是一種模糊查詢;依據(jù)特征詞匯庫對文本描述字段取值進行數(shù)值向量化處理,將不明確的文字描述明確化,便于計算機系統(tǒng)對漏洞記錄數(shù)據(jù)的智能化處理;挖掘出漏洞數(shù)據(jù)之間暗含的模式和規(guī)律,為漏洞數(shù)據(jù)的進一步應用提供基礎。本發(fā)明的技術方案是
一種基于文本挖掘的相似漏洞查詢方法,包括下述步驟
A、對漏洞數(shù)據(jù)進行預處理選取漏洞記錄屬性字段數(shù)據(jù);對原始漏洞數(shù)據(jù)進行數(shù)據(jù)清理,包括填充缺失的數(shù)據(jù)和糾正錯誤的數(shù)據(jù);對清理之后的字段數(shù)據(jù)進行規(guī)范化處理;
B、相似漏洞查詢輸入處理根據(jù)用戶輸入的相似漏洞查詢條件,選定目標漏洞記錄數(shù)據(jù)和篩選出查詢漏洞數(shù)據(jù)記錄集合;
C、漏洞記錄數(shù)據(jù)的處理計算漏洞記錄數(shù)據(jù)之間的相似度,對漏洞記錄數(shù)據(jù)進行重新排列;
D、輸出相似漏洞查詢結果將C步驟重新排列的漏洞記錄數(shù)據(jù)中的若干條輸出。在上述技術方案的基礎上更進一步技述方案是
所述的基于文本挖掘的相似漏洞查詢方法,其目標漏洞記錄數(shù)據(jù)為 ,篩選出的查詢漏洞數(shù)據(jù)記錄集合為二 .....rQfi};所述計算漏洞記錄數(shù)據(jù)之間的相似度是計算漏洞記錄數(shù)據(jù) 與〃力二 I.2..... Qrt)之間的相似度,計算結果為 ShiAi —〖.2..…(I;、;所述對漏洞記錄數(shù)據(jù)進行重新排列是依據(jù)九,.l· Sillj.....Shi*從大到小的順序對集合Pq中的漏洞記錄數(shù)據(jù)進行重新排列,前to條記錄即為相似漏洞查詢結果,其中m的大小根據(jù)實際應用設定具體的值。所述的基于文本挖掘的相似漏洞查詢方法,所述對清理之后的字段數(shù)據(jù)規(guī)范化處理,包括1)將數(shù)值型字段取值映射到特定的值域空間,包括連續(xù)數(shù)值型字段處理和離散序數(shù)值型字段處理;2)將文本描述字段取值進行向量化處理。所述的基于文本挖掘的相似漏洞查詢方法,其連續(xù)數(shù)值型字段處理是將連續(xù)數(shù)值型字段取值映射到特定的值域空間,步驟是先取出漏洞信息中該字段數(shù)據(jù)的最大值a和最小值b,某條漏洞記錄該字段的原始取值為n,然后依照公式V = 1> - - ,將原始字段取值映射到10. U之間。所述的基于文本挖掘的相似漏洞查詢方法,其離散序數(shù)值型字段處理是將離散序數(shù)值字段取值映射到特定的值域空間,是依照公式ν = U — Ι|/(/~ ι),將原始字段取值〃 映射到
所述的基于文本挖掘的相似漏洞查詢方法,所述計算漏洞記錄數(shù)據(jù) 與 rM = 1..... Qh)之間的相似度步驟是
1)計算相似度之前的漏洞記錄數(shù)據(jù)經(jīng)過預處理,只包括單值變量和數(shù)值向量兩類,取單值變量的字段為Fsl ■ F-.Fs,,,取值為向量的字段有FY1, Fv,,.... Fv,,;
2)計算 與=“2…,.Q+〃的單值變量字段之間的相似度,結果為
3)計算 與d = “2.... Λ如的向量字段之間的相似度,結果為
4)按照如下公式計算 .與C ^ = H ■.. <Q.〃之間的相似度
所述的基于文本挖掘的相似漏洞查詢方法,所述步驟2)的相似度
4.,· = .1. ++++++ I·"丨/++++++ <,、.#.■分別為漏洞記錄 與c廣i‘2,,,,, 中該字段經(jīng)預處理之后的值。所述的基于文本挖掘的相似漏洞查詢方法,所述步驟3)的相似度
.^1;, = (+(Vt.:;!' ·vf')/(iv[ IVp),其中ι:ν7為字段Fi的向量取值的轉置,卜‘I 為向量的維度。本發(fā)明的顯著優(yōu)點和效果主要有1.現(xiàn)有信息漏洞記錄數(shù)據(jù)的文本描述字段取值為非結構化數(shù)據(jù),不同的數(shù)據(jù)來源其描述格式和用詞不同,計算機無法自動完成對文本描述字段的自動理解。本發(fā)明依據(jù)特征詞匯庫對文本描述字段取值進行數(shù)值向量化處理,將不明確的文字描述明確化,便于計算機系統(tǒng)對漏洞記錄數(shù)據(jù)的智能化處理。2.現(xiàn)有漏洞數(shù)據(jù)庫所提供的查詢服務只能對用戶輸入的關鍵字進行匹配或者對用戶輸入的數(shù)值進行大于或小于范圍內(nèi)的查找,本發(fā)明根據(jù)輸入的漏洞記錄標識,計算該漏洞記錄與其他記錄之間的相似度,根據(jù)相似度的大小輸出查詢結果,是一種模糊查詢。3.現(xiàn)有漏洞數(shù)據(jù)庫的漏洞記錄之間只有明確的類別一致、危險程序高低、發(fā)現(xiàn)時間先后的關系,漏洞記錄之間的安全攻擊依賴關系無法體現(xiàn),本發(fā)明能挖掘出漏洞數(shù)據(jù)之間暗含的模式和規(guī)律,為漏洞數(shù)據(jù)的進一步應用提供基礎。
圖1為本發(fā)明的流程圖2為圖1中方框1001漏洞數(shù)據(jù)預處理的流程圖3為圖2中方框2001選取漏洞記錄屬性字段數(shù)據(jù)處理的流程圖,為所選中的漏洞記錄屬性字段的一個實施例示意圖4為圖2中方框2009對清理之后的字段數(shù)據(jù)進行規(guī)范化處理的一個實施例示意圖; 圖5為圖4中方框4013離散序數(shù)值型字段處理的一個實施例示意圖;圖6為圖4中方框4005將文本描述字段取值進行向量化處理的流程圖; 圖7為圖6中方框6001建立特征詞匯庫的一個實施例示意圖。
具體實施例方式結合附圖和實施例對本發(fā)明作進一步說明如下。實施例1
如圖1所示,為本發(fā)明基本實施例。一種基于文本挖掘的相似漏洞查詢方法,包括下述步驟A、1001步驟,對漏洞數(shù)據(jù)進行預處理如圖2所示首先按2001步驟選取漏洞記錄屬性字段數(shù)據(jù);再按2005步驟對原始漏洞數(shù)據(jù)進行數(shù)據(jù)清理,該清理步驟包括填充缺失的數(shù)據(jù)和糾正錯誤的數(shù)據(jù);最后為2009步驟,對清理之后的字段數(shù)據(jù)進行規(guī)范化處理;B、1005 步驟,相似漏洞查詢輸入處理根據(jù)用戶輸入的相似漏洞查詢條件,選定目標漏洞記錄數(shù)據(jù)和篩選出查詢漏洞數(shù)據(jù)記錄集合;C、1009步驟,漏洞記錄數(shù)據(jù)的處理計算漏洞記錄數(shù)據(jù)之間的相似度,對漏洞記錄數(shù)據(jù)進行重新排列;D、1009步驟,輸出相似漏洞查詢結果將C、 即1009步驟重新排列的漏洞記錄數(shù)據(jù)中的若干條輸出。實施例2
如附圖1-7所示,是在上述本發(fā)明基本實施例基礎上進一步的較優(yōu)的實施例。所述的目標漏洞記錄數(shù)據(jù)為O1,,篩選出的查詢漏洞數(shù)據(jù)記錄集合為/ = { 0..... ,,}; 所述計算漏洞記錄數(shù)據(jù)之間的相似度是計算漏洞記錄數(shù)據(jù)α,與〃力二 U.....(知)之間的相似度,計算結果為力= -2…QJ ;所述對漏洞記錄數(shù)據(jù)進行重新排列是依據(jù) - ,!. ShiJ….-從大到小的順序對集合. 中的漏洞記錄數(shù)據(jù)進行重新排列,前m條記錄即為相似漏洞查詢結果,其中m的大小根據(jù)實際應用設定具體的值。如圖4所示, 所述對清理之后的字段數(shù)據(jù)規(guī)范化處理,包括1)將數(shù)值型字段取值映射到特定的值域空間,包括連續(xù)數(shù)值型字段處理和離散序數(shù)值型字段處理;2)將文本描述字段取值進行向量化處理。所述連續(xù)數(shù)值型字段處理是將連續(xù)數(shù)值型字段取值映射到特定的值域空間,步驟是先取出漏洞信息中該字段數(shù)據(jù)的最大值a和最小值b,某條漏洞記錄該字段的原始取值為ts然后依照公式V =(〃-〖)/(〃-ft),將原始字段取值映射到_ 1]之間。所述的離散序數(shù)值型字段處理是將離散序數(shù)值字段取值映射到特定的值域空間,是依照公式「‘ — ΓΙ/Ι了 - 1),將原始字段取值 ι映射到Ij之間;其中離散序數(shù)值有 IM1. M2.....叫丨種狀態(tài),且.紙4 Mj為.-.4 M/,某條漏洞記錄該字段的原始取值為 r = M1,式中f表示該取值在狀態(tài)集中的排序序號。如圖6所示,所述將文本描述字段取值進行向量化處理,其步驟是1)建立特征詞匯庫;2)將文本描述字段取值表示成對應特征詞列的文本向量即將漏洞記錄的文本描述字段取值表示成對應所有特征詞列的高緯空間文本向量;3)將文本向量映射為數(shù)值向量若漏洞記錄的文本描述字段取值含有某個特征詞匯,則在該詞匯對應的文本向量位置上置TF-IDF權值,否則置0。所述建立特征詞匯庫的步驟是1)依據(jù)文字描述的信息分類選取詞匯,存入特征詞匯庫;2)將特征詞匯庫進行更新,包括增加新發(fā)現(xiàn)的領域特征詞匯和剔除描述能力不強的詞匯;增加新發(fā)現(xiàn)的領域特征詞匯在漏洞數(shù)據(jù)庫存入新的數(shù)據(jù)時進行,剔除描述能力不強的詞匯根據(jù)實際應用的效果來進行;3)在對特征詞匯庫進行更新之后,再對漏洞記錄數(shù)據(jù)的文本描述字段取值重新進行向量化處理。所述篩選出查詢漏洞數(shù)據(jù)記錄集合/ η·^….,rQll.}是按用戶輸入的相似漏洞查詢條件,包括漏洞類型相同和產(chǎn)品生產(chǎn)商名稱相同兩個選項進行選擇,對該兩個選項或同時都未選擇,或選擇一個,或都選,其中若用戶對兩個選項都未選擇,則篩選出數(shù)據(jù)記錄集合— {^·ι·' 2.....包括除Π,,外的其他所有漏洞記錄數(shù)據(jù);若用戶選擇了一個選項,則慫;中每條記錄的漏洞類型或產(chǎn)品生產(chǎn)商名稱與 相同;若用戶選擇了兩個選項,則/ 中的每條記錄的漏洞類型與產(chǎn)品生產(chǎn)商名稱與α,都相同。所述計算漏洞記錄數(shù)據(jù) rh,與…=1.2... ...Q,,)之間的相似度步驟是
1)計算相似度之前的漏洞記錄數(shù)據(jù)經(jīng)過預處理,只包括單值變量和數(shù)值向量兩類,取單值變量的字段為1 - Fs2..... Fftll,取值為向量的字段有Fvi. Fvi..... Fvjl ;
2)計算+ 與^= “2….,Qn的單值變量字段之間的相似度,結果為
權利要求
1.一種基于文本挖掘的相似漏洞查詢方法,其特征在于包括下述步驟A、對漏洞數(shù)據(jù)進行預處理選取漏洞記錄屬性字段數(shù)據(jù);對原始漏洞數(shù)據(jù)進行數(shù)據(jù)清理,包括填充缺失的數(shù)據(jù)和糾正錯誤的數(shù)據(jù);對清理之后的字段數(shù)據(jù)進行規(guī)范化處理;B、相似漏洞查詢輸入處理根據(jù)用戶輸入的相似漏洞查詢條件,選定目標漏洞記錄數(shù)據(jù)和篩選出查詢漏洞數(shù)據(jù)記錄集合;C、漏洞記錄數(shù)據(jù)的處理計算漏洞記錄數(shù)據(jù)之間的相似度,對漏洞記錄數(shù)據(jù)進行重新排列;D、輸出相似漏洞查詢結果將C步驟重新排列的漏洞記錄數(shù)據(jù)中的若干條輸出。
2.按照權利要求1所述的基于文本挖掘的相似漏洞查詢方法,其特征在于,所述目標漏洞記錄數(shù)據(jù)為 ,篩選出的查詢漏洞數(shù)據(jù)記錄集合為ffq = h-r2.....rQli};所述計算漏洞記錄數(shù)據(jù)之間的相似度是計算漏洞記錄數(shù)據(jù)α,與Mz= i.2.....Qi,)之間的相似度,計算結果為—1.2.….;所述對漏洞記錄數(shù)據(jù)進行重新排列是依據(jù)·s'〖《.i Jiu ■…從大到小的順序對集合I q中的漏洞記錄數(shù)據(jù)進行重新排列,前m條記錄即為相似漏洞查詢結果,其中m的大小根據(jù)實際應用設定具體的值。
3.按照權利要求1或2所述的基于文本挖掘的相似漏洞查詢方法,其特征在于,所述對清理之后的字段數(shù)據(jù)規(guī)范化處理,包括1)將數(shù)值型字段取值映射到特定的值域空間,包括連續(xù)數(shù)值型字段處理和離散序數(shù)值型字段處理;2)將文本描述的字段取值進行向量化處理。
4.按照權利要求3所述的基于文本挖掘的相似漏洞查詢方法,其特征在于,所述連續(xù)數(shù)值型字段處理是將連續(xù)數(shù)值型字段取值映射到特定的值域空間,步驟是先取出漏洞信息中該字段數(shù)據(jù)的最大值a和最小值b,某條漏洞記錄該字段的原始取值為《,然后依照公式一 _(,·- 6)/( — Ι ,將原始字段取值映射到
之間。
5.按照權利要求3所述的基于文本挖掘的相似漏洞查詢方法,其特征在于,所述離散序數(shù)值型字段處理是將離散序數(shù)值字段取值映射到特定的值域空間,是依照公式卜二( -.1)/丨/-1),將原始字段取值 映射到[o. Ij之間;其中離散序數(shù)值有 Ufi-M2……Μ/}種狀態(tài),且Μ: 4 M2 U .W/,某條漏洞記錄該字段的原始取值為 ‘‘=Aii,式中i表示該取值在狀態(tài)集中的排序序號。
6.按照權利要求3所述的基于文本挖掘的相似漏洞查詢方法,其特征在于,所述將文本描述字段取值進行向量化處理,其步驟是1)建立特征詞匯庫;2)將文本描述字段取值表示成對應特征詞列的文本向量即將漏洞記錄的文本描述字段取值表示成對應所有特征詞列的高緯空間文本向量;3)將文本向量映射為數(shù)值向量若漏洞記錄的文本描述字段取值含有某個特征詞匯, 則在該詞匯對應的文本向量位置上置TF-IDF權值,否則置0。
7.按照權利要求6所述的基于文本挖掘的相似漏洞查詢方法,其特征在于,所述建立特征詞匯庫的步驟是1)依據(jù)文字描述的信息分類選取詞匯,存入特征詞匯庫;2)將特征詞匯庫進行更新,包括增加新發(fā)現(xiàn)的領域特征詞匯和剔除描述能力不強的詞匯;增加新發(fā)現(xiàn)的領域特征詞匯在漏洞數(shù)據(jù)庫存入新的數(shù)據(jù)時進行,剔除描述能力不強的詞匯根據(jù)實際應用的效果來進行;3)在對特征詞匯庫進行更新之后,再對漏洞記錄數(shù)據(jù)的文本描述字段取值重新進行向量化處理。
8.按照權利要求2所述的基于文本挖掘的相似漏洞查詢方法,其特征在于,所述篩選出查詢漏洞數(shù)據(jù)記錄集合.《Q - .... rQ,f}是按用戶輸入的相似漏洞查詢條件,包括漏洞類型相同和產(chǎn)品生產(chǎn)商名稱相同兩個選項進行選擇,對該兩個選項或同時都未選擇, 或選擇一個,或都選,其中若用戶對兩個選項都未選擇,則篩選出數(shù)據(jù)記錄集合風 - {卜廠2.....rQii}包括除α, 外的其他所有漏洞記錄數(shù)據(jù);若用戶選擇了一個選項,則.《Q中每條記錄的漏洞類型或產(chǎn)品生產(chǎn)商名稱與rlB相同; 若用戶選擇了兩個選項,則中的每條記錄的漏洞類型與產(chǎn)品生產(chǎn)商名稱與rift都相同。
9.按照權利要求2所述的基于文本挖掘的相似漏洞查詢方法,其特征在于,所述計算漏洞記錄數(shù)據(jù) 與4 = 1,2.....仏)之間的相似度步驟是1)計算相似度之前的漏洞記錄數(shù)據(jù)經(jīng)過預處理,只包括單值變量和數(shù)值向量兩類,取單值變量的字段為Fsl- F孫■ ‘,F(xiàn)s,,,取值為向量的字段有\i ■ Fc .…Fv11 ;2)計算. ,與…=“2…,,Q 的單值變量字段之間的相似度,結果為3)計算 與O d.. ..J扣的向量字段之間的相似度,結果為4)按照如下公式計算 .與G ^ = “ ,,. 之間的相似度其中,
10.按照權利要求9所述的基于文本挖掘的相似漏洞查詢方法,其特征在于,所述步驟2)的相似度勸丨:,=1- Κ/·: · <.1,.4廣、.4."分別為漏洞記錄 與〃"=、1.....中該字段經(jīng)預處理之后的值。
11.按照權利要求9所述的基于文本挖掘的相似漏洞查詢方法,其特征在于,所述步驟3)的相似度
全文摘要
本發(fā)明涉及一種基于文本挖掘的相似漏洞查詢方法,屬于計算機信息安全技術領域,其步驟包括A、對漏洞數(shù)據(jù)進行預處理;B、相似漏洞查詢輸入處理;C、漏洞記錄數(shù)據(jù)的處理;D、輸出相似漏洞查詢結果。本發(fā)明的優(yōu)點有將不明確采用文字描述的漏洞信息明確化,便于計算機系統(tǒng)對漏洞記錄數(shù)據(jù)進行智能化處理;區(qū)別于基于關鍵字匹配的查詢,根據(jù)相似度的大小輸出查詢結果,是一種模糊查詢;能挖掘出漏洞數(shù)據(jù)之間暗含的模式和規(guī)律,為漏洞數(shù)據(jù)的進一步應用提供基礎。
文檔編號G06F21/00GK102446254SQ20111045235
公開日2012年5月9日 申請日期2011年12月30日 優(yōu)先權日2011年12月30日
發(fā)明者劉彥釗, 劉暉, 劉林, 吳潤浦, 張磊, 彭濤, 易錦, 曹偉, 趙向輝, 韓波 申請人:中國信息安全測評中心, 瑞達信息安全產(chǎn)業(yè)股份有限公司