一种构建网络安全知识图谱的实用方法——贾焰
文章鏈接:https://www.ixueshu.com/document/22cde1e97521595bc36aadb3dd6ff858318947a18e7f9386.html.
文章主要工作
1.框架設計
總體知識圖譜框架如圖1所示,其包括數據源(結構化數據和非結構化數據)、信息抽取及本體構建、網絡安全知識圖譜的生成:
1.1 網絡安全本體構建
文中提出了一個基于網絡安全知識庫的五元組模型,該模型包含:概念、實例、關系、屬性和規則。網絡安全知識庫的架構如圖2所示。
該架構如圖2所示,其中包括三個本體:資產(Assets)、漏洞(Vulnerability)和攻擊(Attack)。圖3表示網絡安全本體,其中包含五個實體類型:漏洞、資產、軟件、操作系統、攻擊。
1.2 基于機器學習提取網絡安全相關實體
由于條件隨機場模型(CRF)保留了條件概率框架的優點,如最大熵Markov 模型,也解決了標記偏差的問題,所以適用于命名實體識別。
Stanford NER提供了線性鏈條件隨機場(CRF)序列模型的一般實現,于是文中使用它來提取網絡完全相關的實體。下面是Stanford NER的一些主要特征:
- UseNGrams:利用n-gram取特征,即詞的子串。
- MaxNGramLeng:這個特征的值類型為整型。如果這個特征的值為正,則大于該值的n-gram將不會在 模型中使用。在本文中,我們將maxNGramLeng的值設 置為6。
- UsePrev:這可以給我們提供<previous word, class of previous word>的特征,并與其他選項一起啟用, 如<previous tag,class>。這導致基于當前單詞與一對< previous word,class of previous word >之間的關系的特 征。當有連續的詞屬于同一個類時,這個特征將是非常 有用的。
- UseNext:和UsePrev特征非常相似。
- UseWordPairs:這個特征基于兩個詞對—— <Previous word,current word,class> 和 <current word, next word,class>。
- UseTaggySequences:這是一個重要的特征,它 使用類的序列而不是單詞的集合,而是使用第一、第二 和第三順序類和標簽序列作為交互特征。
- UseGazettes:如果為真,則由下一個名為“gazette”的特征將把文件指出為實體字典。
- Gazette:該值可以是一個或多個文件名(以逗 號、分號或空格分隔的名稱)。如果從這些文件加載公 開的實體詞典,每行應該是一個實體類名稱,后跟一個 空格,后面再跟上一個實體。
- CleanGazette:如果這個值為真,則僅當全部詞 在字典中被匹配時,此特征才會觸發。如果在字典中 有一個詞“Windows 7”,那么整個詞應該在字典中進 行匹配。
- SloppyGazette:如果這個值為真,詞和字典中 的詞局部匹配也能觸發這個特征,如“Windows ”可以 和“windows 7”進行匹配。
2. 知識推演
2.1 數據源
- 漏洞的來源:CVE、NVD、 SecurityFocus、CXSECURITY、Secunia、中國國家漏 洞數據庫(CNVD)、 CNNVD和安全內容自動化協議中 國社區(SCAP)。
- 攻擊的數據來源
(1).一類來自信息安全網站,其中包括Pediy BBS、Freebuf、 Kafan BBS和開放Web應用安全項目(OWASP);
(2).另一 類來自企業自建信息響應中心,包括360安全響應中心 (360SRC)和阿里巴巴安全響應中心(ASRC)。
2.2 屬性推演
如圖4所示,圖中有三個實例:Ni、Nj和Nl,每一個實例對應一對(key,values)值。
屬性值Valueik的 預測公式如下:
對于實例Ni,通過計算下述公式可以得到新的屬性,如圖5所示。
2.3 關系推演
常用推理方法有三種:基于嵌入的技術、基于低維 向量表示和路徑排序算法。在本文中,我們選擇使用路徑排序算法。路徑排序的基本思想是使用連接兩個實體的路徑作為特征來預測兩個實體之間的關系。實例Ni、Nj和Nk 之間的屬性值和關系如圖6所示。
關系推理的預測公式如下:
式中,π為所有從l到j的可達路徑,length(π)≤n。如果 Score(l, j)≥τ,τ為閾值,則elj成立;否則不成立。通過路徑排序算法可以得到新的關系,如圖7所示。
2.4 評估標準
在信息檢索和提取系統中,有兩個主要的評估指 標,包括精確率和召回率。有時,為了全面評估系統的性能,通常計算精確率和召回率的調和平均值。這就是我們通常所說的F-Measure。在本文中,我們使用 F-Measure的特殊形式F1值。精確率、召回率和F1值由真正、假正和假負定義。定義如下:
- 真正(TP):將正類預測為正類數。
- 假正(FP):將負類預測為正類數。
- 假負(FN):將正類預測為負類數。
精確率(Precision)由以下公式給出:
召回率(Recall)由以下公式給出:
F1值由以下公式給出:
2.5 實驗結果(主要復制文章細節)
為了驗證useGazettes的影響,我們建立了三個模型 (NER1、NER2和NER3)。
- NER1沒有使用useGazettes作為它的特征
- NER2使用useGazettes,并選擇了cleanGazette選項
- NER3也使用了useGazettes,但是它選擇了 sloppyGazette選項。
然后,采用了10倍交叉驗證的方法 來評估這些模型,將數據分成10個數據塊,將十分之九的塊用作訓練數據,其余用作測試數據。
NER1的平均識別結果如表1所示,該表顯示結果的精度相對較高。對于F1度量,軟件和漏洞的識別率相近,且高于其他任何實體類型,也就是說, 軟件和漏洞的識別在整體識別效果方面取得了良好的表現。
然后,我們使用了包含useGazettes的特征,并選擇 了cleanGazette的選項來訓練NER2。NER3是根據包含 useGazettes和sloppyGazette兩個選項的特征進行訓練的。 平均識別結果如表2所示。
如表2所示,在NER2的識別結果中,對軟件的識別取得了良好的整體表現。對于NER3,OS的識別實現了高F1值。就軟件和操作系統的認可而言,NER3的整體 性能比NER2好。這個結果表明sloppyGazette選項有助于識別與網絡安全相關的實體。NER2和NER3的后果和平均值的F1測量值仍然很低,均小于70%。圖8給出了這三種模型之間的直觀比較。
總結
以上是生活随笔為你收集整理的一种构建网络安全知识图谱的实用方法——贾焰的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鼠标出舞台,“手放开”
- 下一篇: 房地产项目全程策划30步(2)