軟件安全實體關系預測簡介
引 言
為了對抗網(wǎng)絡攻擊,軟件安全數(shù)據(jù)庫記錄了軟件弱點、漏洞和攻擊之間的關系,以提供適當?shù)姆烙呗?。?shù)據(jù)庫是不斷更新的,攻擊者可以利用時間延遲來實現(xiàn)惡意攻擊。因此,預測缺失實體關系和豐富軟件安全知識是至關重要的。然而,現(xiàn)有方法大多只考慮知識圖譜中三元組的特征,不能表達實體之間的高階結構關系。一些方法也僅僅利用知識圖的結構,而忽略了大量編碼豐富語義信息的描述性文本。因此提出基于文本與圖結合的表示學習模型,可用于預測軟件安全實體關系。
一、介 紹
當今,世界面臨著動態(tài)網(wǎng)絡環(huán)境的挑戰(zhàn)和網(wǎng)絡攻擊的風險[1]。為了對抗這些攻擊,組織根據(jù)漏洞、弱點和攻擊模式應用軟件安全數(shù)據(jù)庫,收集和共享軟件安全防御信息。這些信息可以有效地幫助組織指導決策。
軟件安全數(shù)據(jù)庫記錄了軟件弱點、漏洞和攻擊模式實體之間的關系。不幸的是,軟件安全數(shù)據(jù)庫存在時間延遲,并且在安全實體之間缺少未觀察到的關系。攻擊者可以利用這個缺點成功地實現(xiàn)攻擊目標。因此,利用知識建模技術對軟件安全[2]中缺失信息進行預測具有重要意義。
近年來,研究人員提出了許多知識圖譜嵌入方法,對安全數(shù)據(jù)庫中安全實體之間的關系進行建模。這些方法有兩個明顯的缺點:首先,每個安全實體都包含詳細的描述性文本,例如其描述或名稱。然而,現(xiàn)有的方法大多只關注句子的關鍵字,而不是安全實體中的整個句子。其次,目前大多數(shù)的知識表示模型采用一階信息,即三元組中實體之間的直接連接。由于它們獨立處理每個安全三元組,不足以比較不同安全實體之間的語義相似性,從而無法識別軟件安全知識圖譜中實體之間的潛在關系。
提出一種基于圖表示的軟件安全實體-關系預測模型可以解決這些局限性。首先,將來自不同數(shù)據(jù)庫的異構軟件安全實體組合成一個知識圖譜,可以整合軟件安全知識。其次,設計一種將安全實體的結構信息和文本信息嵌入連續(xù)向量空間的表示學習方法。第三,利用基于圖注意網(wǎng)絡的高階方法捕捉安全實體之間的潛在關系。
二、軟件安全預測
利用軟件安全數(shù)據(jù)庫對基于數(shù)據(jù)庫的軟件安全信息預測具有越來越重要的意義。Deepweak[3]構建了常見軟件缺陷的知識圖,并提出了一種知識邊緣圖嵌入方法,將CWE的結構和文本知識嵌入到向量表示中。Xiao等人[4]提出了一種基于CNN模型的知識圖嵌入方法,將安全概念和實例的知識嵌入其中。Yuan等人[5]設計了一個文本增強的GAT模型來表示安全知識圖中的結構知識和文本知識。MalKG[6]是第一個惡意軟件威脅情報知識圖生成框架,旨在從許多惡意軟件威脅報告和CVE數(shù)據(jù)集中提取信息。Wang等[7]針對面向6G網(wǎng)絡的需求,提出了一種基于CAPEC和CWE的網(wǎng)絡攻擊知識圖構建方法。這些方法有效地捕獲了知識圖的結構或文本信息,但忽略了利用實體的高階連通性。
三、知識圖譜表示學習
知識圖譜表示學習可以將大規(guī)模的知識圖投影到連續(xù)的低維向量空間中。知識圖中實體和三元關系的建模方法很多。TransE[8]、TransH[9]和TransR[10]是基于翻譯的方法,可以實現(xiàn)知識圖中鏈接預測的任務。其中,TransE是一種基本的知識圖嵌入模型。它將這種關系解釋為低維向量空間上頭尾實體之間的平移運算。然而,上述基于翻譯的模型關注的是實體之間的結構信息,而不是實體描述中編碼的豐富信息。
有幾種利用文本信息來幫助知識圖譜表示學習的方法。Socher等人[11]表示新的神經(jīng)張量網(wǎng)絡,將每個實體表示為其詞向量的平均值。Veira等人[12]利用維基百科文章將實體命名為實體描述,并為該實體生成特定于web的加權詞向量。Xie等人[13]探索了連續(xù)詞袋和深度卷積神經(jīng)模型來編碼實體描述的語義。然而,這些模型利用一階連通性從知識圖中學習三元組。由于該方法不考慮實體鄰居的影響,因此無法捕獲每個實體的多跳鄰居之間的潛在關系。
四、知識圖譜框架
本節(jié)描述知識圖譜的模型架構。如圖1所示,模型由四部分組成。各部分的說明如下:
(1)知識圖譜構建:該部分從軟件安全數(shù)據(jù)庫中提取實體和關系。這些實體和關系構成了軟件安全知識圖譜的三元組。
(2)一階連接表征:一階連接是指兩個實體之間的直接連接。該部分通過TransH和預訓練模型對安全實體的結構信息和文本信息進行集成,得到一階嵌入。
(3)高階連接表征:該部分對高階信息進行建模。它可以改進基于實體多跳鄰居的一階嵌入。利用多個傳播層對高階連接進行編碼,以收集從多跳鄰居傳播的深度信息。
(4)模型訓練:介紹了模型的學習和優(yōu)化細節(jié),并應用損失函數(shù)預測任務。
圖1 模型框架
知識圖譜的實例如圖2所示。其中,CWE-330是這個三元組實體中的頭實體,ContainOf是關系實體,CVE-2009-2367是尾實體。三元組是知識圖的一般表示形式。整個知識圖譜中有16746個三元組。所有三元組中的實體都有三種類型,包括CVE ID、CWE ID和CAPEC ID,因為它們分別來自三個異構數(shù)據(jù)庫。實體數(shù)量為4144個,其中CVE中含有2677個,CWE中含有924個,CAPEC中含有544個。
圖2 知識圖譜實例
本研究構建了基于CWE、CVE和CAPEC數(shù)據(jù)庫的軟件安全知識圖譜。實驗數(shù)據(jù)庫收集自2021年11月5日的版本。提取CWE ID、CVE ID、CAPEC ID作為實體,CVE、CWE、CAPEC的標題和描述作為實體的紋理信息,提取不同實體之間的關系形成三元組。創(chuàng)建12種類型的關系,然后對數(shù)據(jù)集中的互補關系進行補充。實現(xiàn)這一步是為了通過多跳的操作,幫助實體盡可能多地查找到它們的鄰居信息。
五、總 結
在構建軟件安全知識圖譜中,提出了預測軟件安全實體關系的模型,在未來,希望該方法能夠在各個領域的網(wǎng)絡安全問題中得到驗證。利用軟件安全知識邊緣圖模型在真實數(shù)據(jù)集上進行了測試,為應用于其他領域的知識圖實體關系預測問題奠定了基礎。這里的工作可能會激發(fā)必要性,并鼓勵進一步研究預測軟件安全和漏洞檢測。
參考文獻
[1] K. Liu, F. Wang, Z. Ding, S. Liang, Z. Yu, and Y. Zhou, “A review of knowledge graph application scenarios in cyber security,” arXiv preprint arXiv:2204.04769, 2022.
[2] Z. Zhang, J. Cai, Y. Zhang, and J. Wang, “Learning hierarchy-aware knowledge graph embeddings for link prediction,” in Proceedings of the AAAI Conference on Artificial Intelligence, vol. 34, no. 03, 2020, pp. 3065–3072.
[3]Z. Han, X. Li, H. Liu, Z. Xing, and Z. Feng, “Deepweak: Reasoning
common software weaknesses via knowledge graph embedding,” in 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 2018, pp. 456–466.
[4] H. Xiao, Z. Xing, X. Li, and H. Guo, “Embedding and predicting software security entity relationships: A knowledge graph based ap- proach,” in International Conference on Neural Information Processing. Springer, 2019, pp. 50–63.
[5] L. Yuan, Y. Bai, Z. Xing, S. Chen, X. Li, and Z. Deng, “Predicting entity relations across different security databases by using graph attention network,” in 2021 IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC). IEEE, 2021, pp. 834–843.
[6]N.Rastogi,S.Dutta,R.Christian,M.Zaki,A.Gittens,andC.Aggarwal, “Information prediction using knowledge graphs for contextual malware threat intelligence,” arXiv preprint arXiv:2102.05571, 2021.
[7] W. Wang, H. Zhou, K. Li, Z. Tu, and F. Liu, “Cyber-attack behavior knowledge graph based on capec and cwe towards 6g,” in International Symposium on Mobile Internet Security. Springer, 2021, pp. 352–364.
[8]A. Bordes, N. Usunier, A. Garcia-Duran, J. Weston, and O. Yakhnenko, “Translating embeddings for modeling multi-relational data,” Advances in neural information processing systems, vol. 26, 2013.
[9] Z.Wang,J.Zhang,J.Feng,andZ.Chen,“Knowledgegraphembedding by translating on hyperplanes,” in Proceedings of the AAAI Conference on Artificial Intelligence, vol. 28, no. 1, 2014.
[10] Y.Lin,Z.Liu,M.Sun,Y.Liu,andX.Zhu,“Learningentityandrelation embeddings for knowledge graph completion,” in Twenty-ninth AAAI conference on artificial intelligence, 2015.
[11]R.Socher,D.Chen,C.D.Manning,andA.Ng,“Reasoningwithneural tensor networks for knowledge base completion,” Advances in neural information processing systems, vol. 26, 2013.
[12] N. Veira, B. Keng, K. Padmanabhan, and A. G. Veneris, “Unsupervised embedding enhancements of knowledge graphs using textual associa- tions.” in IJCAI, 2019, pp. 5218–5225.
[13] R. Xie, Z. Liu, J. Jia, H. Luan, and M. Sun, “Representation learning of knowledge graphs with entity descriptions,” in Proceedings of the AAAI Conference on Artificial Intelligence, vol. 30, no. 1, 2016.