国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于強(qiáng)化學(xué)習(xí)的軟件安全實(shí)體關(guān)系預(yù)測(cè)方法

2024-08-23 00:00:00楊鵬劉亮張磊劉林李子強(qiáng)賈凱
關(guān)鍵詞:強(qiáng)化學(xué)習(xí)知識(shí)圖譜

摘 要: 為改善現(xiàn)有基于翻譯的軟件安全知識(shí)圖譜實(shí)體關(guān)系預(yù)測(cè)方法不具備可解釋性,而基于路徑推理的方法準(zhǔn)確性不高的現(xiàn)狀,本研究提出一種基于強(qiáng)化學(xué)習(xí)的預(yù)測(cè)方法. 該方法首先分別使用TuckER 模型和SBERT 模型將軟件安全知識(shí)圖譜的結(jié)構(gòu)信息和描述信息表示為低維度向量,接著將實(shí)體關(guān)系預(yù)測(cè)過程建模為強(qiáng)化學(xué)習(xí)過程,將TuckER 模型計(jì)算得到的得分引入強(qiáng)化學(xué)習(xí)的獎(jiǎng)勵(lì)函數(shù),并且使用輸入的實(shí)體關(guān)系向量訓(xùn)練強(qiáng)化學(xué)習(xí)的策略網(wǎng)絡(luò),最后使用波束搜索得到答案實(shí)體的排名列表和與之對(duì)應(yīng)的推理路徑. 實(shí)驗(yàn)結(jié)果表明,該方法給出了所有預(yù)測(cè)結(jié)果相應(yīng)的關(guān)系路徑,在鏈接預(yù)測(cè)實(shí)驗(yàn) 中hit@5 為0. 426,hit@10 為0. 797,MRR 為0. 672,在事實(shí)預(yù)測(cè)實(shí)驗(yàn)中準(zhǔn)確率為0. 802,精確率為0. 916,在準(zhǔn)確性方面與同類實(shí)體關(guān)系預(yù)測(cè)模型相比具有不同程度的提升,并且通過進(jìn)行可解釋性分析實(shí)驗(yàn),驗(yàn)證了該方法所具備的可解釋性.

關(guān)鍵詞: 軟件安全實(shí)體關(guān)系;強(qiáng)化學(xué)習(xí);鏈接預(yù)測(cè);知識(shí)圖譜;可解釋推理

中圖分類號(hào): TP391. 1 文獻(xiàn)標(biāo)志碼: A DOI: 10. 19907/j. 0490-6756. 2024. 042008

1 引言

軟件弱點(diǎn)和漏洞危害系統(tǒng)的完整性、可用性和機(jī)密性[1]. 為更好地分析來自外部環(huán)境的惡意攻擊,研究人員建立安全數(shù)據(jù)庫來管理軟件漏洞、弱點(diǎn)和攻擊模式. 這其中包括常見漏洞和披露(CVE)[2]、常見弱點(diǎn)枚舉(CWE)[3]和常見攻擊模式枚舉和分類(CAPEC)[4]. 這些數(shù)據(jù)庫包含豐富的軟件安全知識(shí). 然而有研究表明[5],底層知識(shí)表示(超鏈接文檔)不支持對(duì)軟件安全實(shí)體關(guān)系的有效預(yù)測(cè),僅僅依靠數(shù)據(jù)庫難以挖掘出深層次的安全知識(shí). 例如CWE-190 與CWE-119 在2. 0 版本中存在precede 關(guān)系,而這一關(guān)系在1. 0 版本中不存在. 另一方面當(dāng)前網(wǎng)絡(luò)環(huán)境下網(wǎng)絡(luò)攻擊的手段越來越多樣,CVE、CWE 和CAPEC 數(shù)據(jù)庫不可避免的丟失一些軟件安全實(shí)體和關(guān)系,手動(dòng)更新這些數(shù)據(jù)需要的時(shí)間過多,這使得系統(tǒng)暴露在威脅之中. 為應(yīng)對(duì)以上問題,近年來有學(xué)者提出將軟件安全數(shù)據(jù)表示為軟件安全知識(shí)圖譜,使用知識(shí)圖譜表示學(xué)習(xí)將軟件安全實(shí)體和關(guān)系嵌入到低維向量表示中,同時(shí),使用Word2Vec[6]等方法將軟件安全實(shí)體描述也嵌入到低維向量中,根據(jù)向量的相關(guān)性來預(yù)測(cè)軟件安全知識(shí)圖譜中缺失的信息[5].

當(dāng)前已有軟件安全實(shí)體關(guān)系預(yù)測(cè)模型大都是嵌入模型,將軟件安全知識(shí)圖譜表示低維成向量后,利用得分函數(shù)計(jì)算這些向量的相似性進(jìn)行預(yù)測(cè),然而這使得預(yù)測(cè)出的結(jié)果不具有可解釋性. 在實(shí)際應(yīng)用中,安全分析員得到預(yù)測(cè)結(jié)果后無法對(duì)其成因進(jìn)行分析. 近年來,多跳模型由于充分利用實(shí)體之間的路徑信息,在知識(shí)推理任務(wù)中具有良好的效果[7]. 多跳模型除了輸出預(yù)測(cè)結(jié)果外,還產(chǎn)生與之對(duì)應(yīng)的推理路徑,該路徑可以對(duì)預(yù)測(cè)結(jié)果的成因給出解釋. 而基于強(qiáng)化學(xué)習(xí)的推理模型作為多跳推理模型的一種,由于其良好的性能受到廣泛關(guān)注[8-10].

本文針對(duì)現(xiàn)有軟件安全實(shí)體關(guān)系預(yù)測(cè)模型存在的問題,提出了基于強(qiáng)化學(xué)習(xí)模型的軟件安全實(shí)體關(guān)系預(yù)測(cè)方法,通過學(xué)習(xí)2 個(gè)安全實(shí)體之間的關(guān)系路徑信息,將軟件安全實(shí)體關(guān)系的預(yù)測(cè)問題轉(zhuǎn)化為強(qiáng)化學(xué)習(xí)的序列決策問題. 本文的主要貢獻(xiàn)如下.

(1)提出了基于強(qiáng)化學(xué)習(xí)模型的軟件安全實(shí)體關(guān)系預(yù)測(cè)方法,該方法通過學(xué)習(xí)軟件安全實(shí)體之間已有的關(guān)系路徑補(bǔ)全缺失信息,其預(yù)測(cè)結(jié)果具有可解釋性.

(2)設(shè)計(jì)出了強(qiáng)化學(xué)習(xí)獎(jiǎng)勵(lì)計(jì)算方法,該方法結(jié)合基于嵌入的方法準(zhǔn)確率高的優(yōu)點(diǎn),通過在訓(xùn)練過程中不同情況下給出不同獎(jiǎng)勵(lì),保證預(yù)測(cè)的準(zhǔn)確性并且進(jìn)一步增強(qiáng)可解釋性.

(3)通過鏈路預(yù)測(cè)(Link-prediction)和事實(shí)預(yù)測(cè)(Fact-prediction),驗(yàn)證本文提出的基于強(qiáng)化學(xué)習(xí)的方法在軟件安全知識(shí)圖譜上預(yù)測(cè)實(shí)體關(guān)系的有效性. 通過消融實(shí)驗(yàn)驗(yàn)證獎(jiǎng)勵(lì)函數(shù)的有效性.

2 相關(guān)工作

2. 1 軟件安全知識(shí)圖譜

Han 等[5]研究常見軟件弱點(diǎn)的知識(shí)圖譜表示以及知識(shí)圖譜上的推理任務(wù),將CWE 的結(jié)構(gòu)和文本知識(shí)嵌入到低維向量表示中,但他們的研究并沒有涉及異構(gòu)安全概念和安全實(shí)例. Xiao 等[11]建立了集成異構(gòu)安全概念和實(shí)例的軟件安全知識(shí)圖譜,將CWE、CVE 和CAPEC 數(shù)據(jù)庫的數(shù)據(jù)整合到1 個(gè)知識(shí)圖譜中,在軟件安全實(shí)體關(guān)系預(yù)測(cè)任務(wù)中同時(shí)嵌入知識(shí)圖譜結(jié)構(gòu)和描述信息. 但是上述研究工作在預(yù)測(cè)時(shí)僅單獨(dú)考慮相關(guān)三元組,忽略了周圍的相鄰實(shí)體的重要語義信息. 為此,Liu 等[12]設(shè)計(jì)了文本增強(qiáng)的GAT 模型,該模型強(qiáng)調(diào)知識(shí)在圍繞三元組的2-hop 鄰居中的重要性. Wang 等[13]設(shè)計(jì)了基于SBert 表示學(xué)習(xí)的模型,并通過在2 個(gè)實(shí)體中引入多跳鄰居的輔助關(guān)系來增強(qiáng)軟件安全知識(shí)圖譜的表示向量,以從遠(yuǎn)鄰獲取知識(shí).

然而現(xiàn)有軟件安全實(shí)體關(guān)系預(yù)測(cè)方法存在不具有可解釋性問題. 本文提出的基于強(qiáng)化學(xué)習(xí)的軟件安全實(shí)體關(guān)系預(yù)測(cè)方法通過學(xué)習(xí)知識(shí)圖譜中已有關(guān)系路徑預(yù)測(cè)缺失信息,其預(yù)測(cè)結(jié)果具有可解釋性.

2. 2 知識(shí)推理技術(shù)

知識(shí)推理是知識(shí)圖譜的重要應(yīng)用,它利用知識(shí)圖譜中已知的知識(shí)推理得到未知的知識(shí),從而得到豐富而有價(jià)值的信息. 基于嵌入表示的推理模型是當(dāng)前應(yīng)用比較廣泛的知識(shí)推理技術(shù),將復(fù)雜的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為向量化的表示,可以實(shí)現(xiàn)知識(shí)圖譜中的鏈路預(yù)測(cè)任務(wù). 其中學(xué)界對(duì)基于翻譯的模型transE、transH、transR 和transD 等已經(jīng)進(jìn)行了廣泛的研究[14-17]. 上述方法不具有可解釋性,然而僅獲得預(yù)測(cè)結(jié)果是不夠的,模型還應(yīng)該解釋獲得這個(gè)預(yù)測(cè)結(jié)果的過程,來建立安全分析員與推理模型的信任[18]. 近年來,多跳推理方法由于其推理結(jié)果的可解釋性,有不少學(xué)者對(duì)此進(jìn)行了大量的研究. 而將推理過程建模為強(qiáng)化學(xué)習(xí)過程是常用且高效的多跳推理方法. Xiong 等[8]將強(qiáng)化學(xué)習(xí)應(yīng)用于知識(shí)推理,提出了基于強(qiáng)化學(xué)習(xí)的知識(shí)推理框架(DeepPath),但是該模型只能完成比較簡(jiǎn)單的推理任務(wù)例如. 對(duì)此,Das 等[9]提出了MINERVA 模型用以回答更復(fù)雜的推理任務(wù),例如lt;h,r,?gt;.

然而雖然現(xiàn)有基于強(qiáng)化學(xué)習(xí)的知識(shí)圖譜推理模型具有很強(qiáng)的可解釋性,但在推理效率上較嵌入類模型偏低,原因首先是多數(shù)強(qiáng)化學(xué)習(xí)方法沒有對(duì)實(shí)體和關(guān)系進(jìn)行較好的嵌入,其次是部分知識(shí)圖譜存在的稀疏性會(huì)產(chǎn)生大量的失敗訓(xùn)練,這使代理的訓(xùn)練過程變得困難. 本文提出基于嵌入模型的強(qiáng)化學(xué)習(xí)獎(jiǎng)勵(lì)計(jì)算方法,首先使用基于張量分解的模型(TuckER)[19]的得分函數(shù)計(jì)算出近鄰三元組排名,再根據(jù)排名計(jì)算出智能體所應(yīng)獲得的獎(jiǎng)勵(lì),這使得智能體在大量失敗的訓(xùn)練中也能提高訓(xùn)練的效率.

本文方法的架構(gòu)如圖1 所示. 對(duì)于問題lt;h,r,?gt;,首先收集3 個(gè)軟件安全實(shí)體關(guān)系數(shù)據(jù)庫的數(shù)據(jù),分別整合為結(jié)構(gòu)信息和實(shí)體描述信息,使用三元組來表示結(jié)構(gòu)信息構(gòu)成知識(shí)圖譜;然后分別使用TuckER 和 SBert 嵌入結(jié)構(gòu)和實(shí)體描述信息,并將結(jié)構(gòu)嵌入得到的實(shí)體向量和該實(shí)體的描述向量拼接為新的表示該實(shí)體的向量;接著定義強(qiáng)化學(xué)習(xí)環(huán)境和策略網(wǎng)絡(luò),將上一步得到的向量作為輸入來訓(xùn)練策略網(wǎng)絡(luò);最后使用波束搜索(Beamsearch)根據(jù)代理到達(dá)實(shí)體的軌跡的概率,得到答案實(shí)體的排名列表和對(duì)應(yīng)的推理路徑來完成預(yù)測(cè)任務(wù). 本章接下來首先介紹軟件安全知識(shí)圖譜的嵌入方法,接著描述強(qiáng)化學(xué)習(xí)的各個(gè)組件,最后定義策略網(wǎng)絡(luò)并闡述策略網(wǎng)絡(luò)的訓(xùn)練方法.

3. 1 基于TuckER 和SBert 的聯(lián)合嵌入

在進(jìn)行推理任務(wù)之前,需要將軟件安全實(shí)體關(guān)系結(jié)構(gòu)和實(shí)體描述分別表示為向量形式,將結(jié)構(gòu)嵌入得到的實(shí)體向量與實(shí)體描述嵌入得到的向量拼接成新向量,然后用這個(gè)向量來替換之前的實(shí)體向量.

結(jié)構(gòu)嵌入:使用嵌入模型TuckER[19]將軟件安全實(shí)體和關(guān)系嵌入到連續(xù)的向量空間. TuckER 模型是具有完全表達(dá)能力的嵌入模型,在知識(shí)圖譜推理任務(wù)中的性能良好.

描述嵌入:為使具有相似描述的實(shí)體在向量空間中也具有相似性,本文采用Wang 等[13]提出的基于SBert 的嵌入方法,將軟件安全實(shí)體描述表示成固定長度的句子向量.

3. 2 基于改進(jìn)獎(jiǎng)勵(lì)的強(qiáng)化學(xué)習(xí)推理框架

近年來的研究將知識(shí)圖譜的多跳推理建模為馬爾可夫過程(Markov Decision Process, MDP).在知識(shí)圖譜推理中,外部環(huán)境指定了智能體和KG之間交互的動(dòng)態(tài),它被建模為馬爾可夫過程(MDP). MDP 用元組來表示,其中S 是某時(shí)刻的狀態(tài)(State),A 是狀態(tài)轉(zhuǎn)移的動(dòng)作(Action),T 表示從當(dāng)前狀態(tài)轉(zhuǎn)移到下一狀態(tài)(Transition),R 表示獎(jiǎng)勵(lì)(Reward).

在代理的訓(xùn)練過程中,成功找到答案實(shí)體將獲得獎(jiǎng)勵(lì),失敗則沒有獎(jiǎng)勵(lì). 一般的強(qiáng)化學(xué)習(xí)方法簡(jiǎn)單的將這2 種情況下的獎(jiǎng)勵(lì)定義為1 和0,然而在實(shí)際情況中由于知識(shí)圖譜的稀疏性會(huì)產(chǎn)生的大量無效訓(xùn)練,導(dǎo)致訓(xùn)練效果很差[10]. 針對(duì)這一問題,本文考慮對(duì)獎(jiǎng)勵(lì)計(jì)算過程進(jìn)行改進(jìn),提出了基于嵌入模型(TuckER)的強(qiáng)化學(xué)習(xí)獎(jiǎng)勵(lì)計(jì)算方法.圖2 描述了一般模型和本文模型的獎(jiǎng)勵(lì)函數(shù)反饋策略網(wǎng)絡(luò)的過程.

總的來說,該部分利用TuckER 模型的得分函數(shù)和LSTM 定義智能體尋路失敗時(shí)的獎(jiǎng)勵(lì). 接下來本文將具體描述各MDP 組件和策略網(wǎng)絡(luò). 對(duì)于查詢?nèi)蝿?wù)(e0,rq,?)在T 步之內(nèi)的答案,本文首先使用TuckER 的得分函數(shù)計(jì)算待排名實(shí)體替換尾實(shí)體之后的得分,將TuckER 的得分函數(shù)表示為式(1)

score( e,r,t ) (1)

計(jì)算待排名實(shí)體替換尾實(shí)體之后的得分,這里的待排名實(shí)體為最大跳數(shù)T 步之內(nèi)能到達(dá)的所有實(shí)體,而不是像基于嵌入的方法一樣對(duì)知識(shí)圖譜中所有實(shí)體進(jìn)行排名. 本文使用廣度優(yōu)先算法(BFS)搜索起始節(jié)點(diǎn)T 步之內(nèi)的所有節(jié)點(diǎn)的集合ET.

ET = BFS (e0,T ) (2)

State:狀態(tài)信息可以表示為

st = (rq,et,ht ) (3)

et 表示當(dāng)前狀態(tài)的實(shí)體,r q 表示查詢關(guān)系.

Action:在st 狀態(tài)空間下的動(dòng)作

At ={(r,e) |(et,r,e) } (4)

At 表示從當(dāng)前實(shí)體到達(dá)與它相鄰的實(shí)體的所有動(dòng)作空間. 此外本文在每個(gè)動(dòng)作空間中添加額外的動(dòng)作.

Ahold = (rhold,et ) (5)

它允許智能體停留在當(dāng)前的節(jié)點(diǎn),即在此時(shí)智能體認(rèn)為停留在當(dāng)前的節(jié)點(diǎn)是更好的選擇.

本文使用LSTM 儲(chǔ)存歷史路徑信息,代理每選擇1 個(gè)動(dòng)作就將該動(dòng)作儲(chǔ)存到LSTM 內(nèi).

ht = LSTM (ht - 1,at - 1 ) (6)

它表示在第t 跳下,LSTM 對(duì)歷史路徑信息的編碼結(jié)果. 如果最終代理沒有到達(dá)正確的實(shí)體,則查詢歷史路徑信息為

ht = (a0,a1,…,at - 1 ) (7)

使用TuckER 的得分函數(shù)score( e,r,t ) 計(jì)算出得分最高的實(shí)體記為em (mlt;T). m 為起始結(jié)點(diǎn)算起最高得分實(shí)體的序號(hào). 最后將歷史路徑信息修改為

hm = (a0,a1,…,am ) (8)

Transition:s t 狀態(tài)下,選擇(rn,en ) ∈ At 動(dòng)作,可到達(dá)en,n ∈ ( 0,t )狀態(tài)變?yōu)?/p>

st + 1 = (rq,et,ht + 1 ) (9)

Reward:對(duì)于查詢(e0,rq,?),有獎(jiǎng)勵(lì)

尋路成功的獎(jiǎng)勵(lì):如果成功找到答案,在安全分析員對(duì)軟件安全實(shí)體間路徑進(jìn)行分析時(shí),短路徑的可讀性較強(qiáng),所以短路徑比長路徑具有更強(qiáng)的可解釋性[8]. 本文將路徑長度length 加入到獎(jiǎng)勵(lì)函數(shù)中,這使得代理更傾向于選擇可解釋性較強(qiáng)的短路徑. eT 為答案節(jié)點(diǎn),如果代理成功到達(dá)eT,那么獎(jiǎng)勵(lì)為1 加上當(dāng)前路徑長度的平方的倒數(shù),路徑越長,代理所獲得的獎(jiǎng)勵(lì)就越少.

尋路失敗的獎(jiǎng)勵(lì):如果代理沒有成功到達(dá)答案,則查看em 在集合ET 中的排名,獎(jiǎng)勵(lì)即為該排名的倒數(shù). 排名越高,獎(jiǎng)勵(lì)越多. em 為歷史路徑上得分最高的實(shí)體. 尋路失敗情況下的獎(jiǎng)勵(lì)函數(shù)反映路徑與查詢(e0,rq,?)的相關(guān)性,這使智能體在大量失敗的訓(xùn)練中也能提高訓(xùn)練效率.

策略網(wǎng)絡(luò):代理選擇正確的動(dòng)作需要策略網(wǎng)絡(luò)的指導(dǎo),將策略網(wǎng)絡(luò)定義為動(dòng)作空間At 中的所有動(dòng)作的概率分布.

πθ (at |st)= σ (At ) (W1ReLU (W2 st)) (11)

本文使用2 個(gè)線性神經(jīng)網(wǎng)絡(luò)( w1,w2 ) 來參數(shù)化策略函數(shù)π,其中ReLU 是激活函數(shù). 最后輸出層使用softmax 函數(shù)進(jìn)行歸一化,σ 表示softmax算子.

策略優(yōu)化:θ 是神經(jīng)網(wǎng)絡(luò)參數(shù),本文使用REINFORCE(Williams,1992)梯度策略方法優(yōu)化參數(shù)θ,訓(xùn)練過程是使訓(xùn)練集中的每個(gè)三元組查詢的期望獎(jiǎng)勵(lì)最大化.

J ( θ )=E (es,r,et) ∈KGE a1,...,aT ∈ πθ [ R (sT |es,r ) ] (12)

REINFORCE 梯度策略使用當(dāng)前的策略生成歷史軌跡迭代遍歷所有訓(xùn)練集中的三元組來估計(jì)隨機(jī)數(shù),然后使用隨機(jī)梯度來更新.

3. 3 策略網(wǎng)絡(luò)訓(xùn)練算法

策略網(wǎng)絡(luò)的具體訓(xùn)練過程如下.

4 實(shí)驗(yàn)及分析

在嵌入過程中,實(shí)體結(jié)構(gòu)嵌入向量的維度為100,實(shí)體描述嵌入的維度也為100,所以最后拼接而成的實(shí)體向量維度為200,嵌入過程經(jīng)過1000 個(gè)epoch 的訓(xùn)練.

本文使用Adam[20]作為優(yōu)化器,學(xué)習(xí)率 β 設(shè)置為{0. 001,0. 002,0. 003},路徑編碼器LSTM 設(shè)置為3 層,隱藏層維度為200.

為評(píng)估本文方法的有效性,本文進(jìn)行了鏈接預(yù)測(cè)(Link-prediction)、事實(shí)預(yù)測(cè)(Fact-prediction)、消融實(shí)驗(yàn)和可解釋性分析.

鏈接預(yù)測(cè)是給定頭實(shí)體和關(guān)系,然后對(duì)候選尾實(shí)體進(jìn)行排名,正確尾實(shí)體的排名反應(yīng)預(yù)測(cè)的準(zhǔn)確性. 例如在軟件安全實(shí)體預(yù)測(cè)中,安全分析員希望找到CAPEC-591(Reflected XSS)的父級(jí)攻擊模式有哪些,那么就可以通過以三元組的形式向軟件安全知識(shí)圖譜提出.

事實(shí)預(yù)測(cè)是給出完整形式三元組,然后判斷該三元組的正確與否,這是二分類問題. 例如,安全分析員希望確定三元組是否為正確的三元組,那么軟件安全知識(shí)圖譜應(yīng)該回答正確與否.

消融實(shí)驗(yàn)中本文使用控制變量法討論各部分獎(jiǎng)勵(lì)函數(shù)對(duì)實(shí)驗(yàn)結(jié)果的影響,從而說明獎(jiǎng)勵(lì)函數(shù)的有效性.

4. 1 數(shù)據(jù)集

本文使用Xiao 等[11]構(gòu)建的開源數(shù)據(jù)集來建立知識(shí)圖譜,使用CVE-ID、CWE-ID 和CAPEC-ID作為實(shí)體,relationship-Nature 作為關(guān)系組成三元組. 例如 表示弱點(diǎn)實(shí)體cwe521 的目標(biāo)是實(shí)體capec112. 數(shù)據(jù)集包括2846 個(gè)Linux CVE 實(shí)體、806 個(gè)CWE 實(shí)體、515 個(gè)CAPEC 實(shí)體和8 種關(guān)系. 一共構(gòu)成8067 個(gè)三元組. 此外,本文還將每個(gè)三元組的逆三元組添加到數(shù)據(jù)集中. 最后,將數(shù)據(jù)集的80% 作為訓(xùn)練三元組,20% 作為測(cè)試三元組. 將測(cè)試集三元組所有的尾實(shí)體去掉.

另外,在事實(shí)預(yù)測(cè)實(shí)驗(yàn)中,由于本文構(gòu)建的數(shù)據(jù)集不包含負(fù)樣本,所以在此實(shí)驗(yàn)中,將測(cè)試集中三元組的尾實(shí)體進(jìn)行隨機(jī)替換以生成負(fù)樣本. 最后得到事實(shí)預(yù)測(cè)數(shù)據(jù)集.

4. 2 基線設(shè)置

本文使用當(dāng)前已有的5 個(gè)軟件安全實(shí)體關(guān)系預(yù)測(cè)模型作為基線與本文方法進(jìn)行對(duì)比.

基線1: 使用基于嵌入的方法transH[15]預(yù)測(cè)軟件安全實(shí)體和關(guān)系.

基線2: 使用張量分解方法(TuckER)[19]的得分函數(shù)預(yù)測(cè)軟件安全實(shí)體和關(guān)系.

基線3: 由Xiao 等[11]提出,是同時(shí)嵌入實(shí)體結(jié)構(gòu)和描述信息的預(yù)測(cè)框架.

基線4: 由Liu 等[12]提出,是文本增強(qiáng)的GAT模型.

基線5: 由Wang 等[13]提出,是基于SBert 和GAT 的模型.

4. 2. 1 鏈接預(yù)測(cè)實(shí)驗(yàn)

本文使用Hit@10、Hit@5和MRR(Mean Reciprocal Ranking)來衡量模型的性能. 將測(cè)試集三元組中每個(gè)尾實(shí)體去掉后視為1個(gè)查詢,本文方法根據(jù)代理到達(dá)實(shí)體的軌跡的概率,使用波束搜索(Beam search)生成答案實(shí)體的排序,波束的寬度為3. 正確實(shí)體排名在前10 位的比例為Hit@10,正確實(shí)體排名在前5 位的比例為Hit@5. 設(shè)置最大跳數(shù)T=5,基線為1~5.

得到的實(shí)驗(yàn)結(jié)果如表1 所示,它由測(cè)試集中所有三元組的預(yù)測(cè)結(jié)果取平均值得到.

在鏈接預(yù)測(cè)實(shí)驗(yàn)中,3 個(gè)指標(biāo)最好的模型是基線5,本文模型這3 個(gè)指標(biāo)好于基線1、基線2、基線3 和基線 4,略低于基線5. 這驗(yàn)證了本文模型在軟件安全實(shí)體鏈接預(yù)測(cè)任務(wù)上的有效性. 雖然對(duì)比最先進(jìn)的模型犧牲了一些準(zhǔn)確性,但仍然優(yōu)于大部分基線.

4. 2. 2 事實(shí)預(yù)測(cè)實(shí)驗(yàn)

進(jìn)行事實(shí)預(yù)測(cè)實(shí)驗(yàn)之前需要先進(jìn)行鏈接預(yù)測(cè)實(shí)驗(yàn). 首先使用鏈接預(yù)測(cè)得到每個(gè)事實(shí)預(yù)測(cè)數(shù)據(jù)集中三元組的尾實(shí)體排名列表,然后使用該三元組的名次訓(xùn)練二分類器(邏輯回歸). 本文采用十折交叉驗(yàn)證的方式進(jìn)行訓(xùn)練和測(cè)試,使用準(zhǔn)確性、精度、召回率和F1 來評(píng)估事實(shí)預(yù)測(cè)的整體性能. 由于基線3 和基線4 中不包括事實(shí)預(yù)測(cè)實(shí)驗(yàn),所以本文對(duì)照的基線為基線1、基線2和基線5. 得到的實(shí)驗(yàn)結(jié)果如表2 所示.

在事實(shí)預(yù)測(cè)實(shí)驗(yàn)中,本文方法的準(zhǔn)確率和F1均優(yōu)于所有基線模型,只有精確率和召回率低于基線5. 結(jié)果表明,本文方法可以成功完成事實(shí)預(yù)測(cè)任務(wù).

4. 2. 3 可解釋性分析

為分析實(shí)驗(yàn)得到的路徑的可解釋性,對(duì)路徑進(jìn)行定性分析,對(duì)于上面提出的問題,本文方法給出排名靠前的答案列表,并且展示得到每個(gè)答案的具體路徑.

安全分析員可以通過人工的方式分析排名靠前的路徑是否符合攻擊模式和弱點(diǎn)利用的邏輯.表3 列出了使用波束搜索得到的得分最高的5 條路徑.

表3 中的正確答案實(shí)體進(jìn)行了加粗,帶有下劃線的實(shí)體同樣也是該問題的答案,因?yàn)樵搯栴}有多個(gè)答案,帶下劃線實(shí)體并不是當(dāng)前測(cè)試三元組的正確答案.

根據(jù)表3 得到的得分最高的路徑是(capec591-targetof-1-gt;cwe20-targetof-gt;capec588-parentof-gt;capec32).

圖3 表示的是推理路徑的解釋過程. 分析第1條路徑,得到攻擊模式capec591( 反射XSS)和capec588(基于Dom 的XSS)都利用了弱點(diǎn)cwe20(輸入驗(yàn)證不當(dāng)),而capec588(基于Dom 的XSS)是capec32(http 字符查詢)的父級(jí)節(jié)點(diǎn),那么反射capec591(反射XSS)則極有可能也是capec32(http字符查詢)的父級(jí)節(jié)點(diǎn). 以上解釋合乎安全分析的邏輯,安全分析員可以以此確定其為正確推理.

分析第3 條路徑,得到攻擊模式capec591 利用弱點(diǎn)cwe79,攻擊模式capec85 利用弱點(diǎn)cwe113,而弱點(diǎn)cwe113 是利用弱點(diǎn)cwe79 的前置條件. 這樣的路徑并不能構(gòu)成合乎邏輯的證據(jù)來說明攻擊模式capec591 是capec85 的父級(jí)節(jié)點(diǎn). 所以安全分析員可以確定該路徑為錯(cuò)誤推理.

4. 2. 4 消融實(shí)驗(yàn)

為觀察所設(shè)計(jì)的獎(jiǎng)勵(lì)函數(shù)計(jì)算方法的有效性,本文設(shè)計(jì)了消融實(shí)驗(yàn),將獎(jiǎng)勵(lì)函數(shù)的每個(gè)部分分別去掉,然后重新進(jìn)行鏈路預(yù)測(cè)實(shí)驗(yàn). 如下式(14)是一般RL 模型的獎(jiǎng)勵(lì)函數(shù).

在式(15)中,移除無法找到正確答案時(shí)的獎(jiǎng)勵(lì),以此來觀察模型訓(xùn)練中尋路失敗時(shí)獎(jiǎng)勵(lì)的有效性.

在式(16)中移除訓(xùn)練時(shí)尋路的長度獎(jiǎng)勵(lì),以此來觀察該部分對(duì)路徑長度的影響.

表4 列出了在移除不同獎(jiǎng)勵(lì)函數(shù)部分之后模型的鏈接預(yù)測(cè)效果,本文取得分top-5 的路徑長度的平均值作為length 的值.

在消融實(shí)驗(yàn)中,可以看到在使用一般形式的獎(jiǎng)勵(lì)函數(shù)時(shí),本文方法的預(yù)測(cè)性能下降比較明顯.移除基于嵌入模型的獎(jiǎng)勵(lì)函數(shù)部分后的性能也有一定的下降. 最后在移除長度獎(jiǎng)勵(lì)部分之后,得到的推理路徑長度小幅度變長,這表明軟件安全知識(shí)圖譜中的推理路徑長度為3 的占比較多.

5 結(jié)論

知識(shí)圖譜表示學(xué)習(xí)是預(yù)測(cè)軟件安全實(shí)體關(guān)系的重要手段. 針對(duì)現(xiàn)有預(yù)測(cè)方法不具有可解釋性的問題,本文提出基于強(qiáng)化學(xué)習(xí)的軟件安全實(shí)體預(yù)測(cè)方法. 在軟件安全實(shí)體關(guān)系的鏈接預(yù)測(cè)任務(wù)中,hit@5 為0. 426,hit@10 為0. 797,MRR 為0. 672. 在事實(shí)預(yù)測(cè)任務(wù)中,準(zhǔn)確率為0. 802,精確率為0. 916,召回率為0. 415,F(xiàn)1 為0. 571. 本文模型除了給出答案外還給出了推理路徑,是具有良好可解釋性的模型. 同時(shí)本文設(shè)計(jì)的獎(jiǎng)勵(lì)函數(shù)在一定程度上緩解了多跳模型對(duì)鏈接預(yù)測(cè)實(shí)驗(yàn)準(zhǔn)確率的影響.

今后的工作可以結(jié)合圖注意力機(jī)制,研究如何提高多跳模型的準(zhǔn)確率,以及如何評(píng)估可解釋性. 這對(duì)軟件安全實(shí)體關(guān)系預(yù)測(cè)的研究具有積極作用.

參考文獻(xiàn):

[1] Wu Y, Gandhi R A, Siy H. Using semantic templatesto study vulnerabilities recorded in large softwarerepositories [C]//Proceedings of the 2010ICSE Workshop on Software Engineering for SecureSystems. Cape Town, South Africa: ACM,2010: 22.

[2] The MITRE Corporation. CVE [EB/OL].(2022-08-14)[2023-04-10]. https://cve. mitre. org.

[3] The MITRE Corporation. CWE [EB/OL].(2023-03-22)[2023-04-10]. https://cwe. mitre. org.

[4] The MITRE Corporation. CAPEC [EB/OL].(2022-07-06)[2023-04-10]. https://cwe. mitre. org.

[5] Han Z, Li X, Liu H, et al. Deepweak: Reasoningcommon software weaknesses via knowledge graphembedding [C]//2018 IEEE 25th International Conferenceon Software Analysis, Evolution and Reengineering(SANER). Campobasso, Italy: IEEE,2018: 456.

[6] Mikolov T, Sutskever I, Chen K, et al. Distributedrepresentations of words and phrases and their compositionality[ J]. NIPS, 2013, 2: 3111.

[7] Du H F, Wang H F, Shi Y H, et al. Progress,challengesand research trends of reasoning in multi-hopknowledge graph based question answering [J]. BigData Research, 2021, 7: 60.[杜會(huì)芳, 王昊奮, 史英慧, 等. 知識(shí)圖譜多跳問答推理研究進(jìn)展,挑戰(zhàn)與展望[J]. 大數(shù)據(jù), 2021, 7: 60.]

[8] Xiong W, Hoang T, Wang W Y. DeepPath: A reinforcementlearning method for knowledge graph reasoning[C]//Proceedings of the 2017 conference onempirical methods in natural language processing. Copenhagen,Denmark: ACL, 2017: 564.

[9] Das R, Dhuliawala S, Zaheer M, et al. Go for a walkand arrive at the answer: Reasoning over paths inknowledge bases using reinforcement learning[ C]//6thInternational Conference on Learning Representations.Vancouver, Canada: OpenReview, 2018.

[10] Lv X, Han X, Hou L, et al. Dynamic anticipationand completion for multi-hop reasoning over sparseknowledge graph [C]//Proceedings of the 2020 conferenceon empirical methods in natural language processing.Punta, Cana: ACL, 2020: 5694.

[11] Xiao H B, Xing Z C, Li X H, et al. Embedding andpredicting software security entity relationships: Aknowledge graph based approach [C]//Internationalconference on neural information processing ICONIP2019. Sydney, Australia: Springer, 2019: 50.

[12] Liu Y, Bai Y D, Xing Z C, et al. Predicting entityrelations across different security databases by usinggraph attention network [C]//2021 IEEE 45th annualcomputers, software, and applications conference.Madrid, Spain: IEEE, 2021: 834.

[13] Wang Y, Hou X W, Ma X, et al. A software securityentity relationships prediction framework basedon knowledge graph embedding using sentence-Bert [C]//Wireless algorithms, systems, and applications17th international conference. Dalian, Chnia:Springer, 2022: 501.

[14] Bordes A, Usunier N, Garcia-Durán A, et al. Translatingembeddings for modeling multi-relationaldata [C]//Proceedings of the 26th international conferenceon neural information processing systemsvolume2. Lake Tahoe Nevada, America: ACM,2013: 2787.

[15] Wang Z, Zhang J, Feng J, et al. Knowledge graphembedding by translating on hyperplanes [C]//Proceedingsof the twenty-eighth AAAI conference onartificial intelligence. Quebec City, Canada: ACM,2014: 1112.

[16] Lin Y K, Liu Z Y, Sun M Y, et al. Learning entityand relation embeddings with entity description forknowledge graph completion [C]//Proceedings ofthe twenty-ninth AAAI conference on artificial intelligence.Austin, America: ACM, 2015: 2181.

[17] Ji G L, He S Z, Xu L H, et al. Knowledge graphembedding via dynamic mapping matrix [C]//Proceedingsof the 53rd annual meeting of the associationfor computational linguistics and the 7th internationaljoint conference on natural language processing( volume1: long papers). Beijing, China: ACL,2015: 687.

[18] Hou Z N, Jin X L, Chen J Y, et al. Survey of interpretablereasoning on knowledge graphs [J]. J Software,2022, 33: 4644.[侯中妮, 靳小龍, 陳劍赟,等. 知識(shí)圖譜可解釋推理研究綜述[J]. 軟件學(xué)報(bào),2022, 33: 4644.]

[19] Balazevic I, Allen C, Hospedales T. TuckER: Tensorfactorization for knowledge graph completion[ C]//Proceedings of the 2019 conference on em?pirical methods in natural language processing and the9th international joint conference on natural languageprocessing (EMNLP-IJCNLP). Hong Kong,China: ACL, 2019: 5185.

[20] Kingma D P, Ba J. Adam: A method for stochasticoptimization [C]//3rd international conference forlearning representations. San Diego, America: Open?Review, 2015.

(責(zé)任編輯: 白林含)

基金項(xiàng)目: 四川省科技計(jì)劃項(xiàng)目資助(2022YFG0171); 專職博士后研發(fā)基金資助(SCU221092)

猜你喜歡
強(qiáng)化學(xué)習(xí)知識(shí)圖譜
智能車自主避障路徑規(guī)劃研究綜述
一種記憶可修剪型仿生機(jī)器人的速度跟蹤算法研究
基于強(qiáng)化學(xué)習(xí)的在線訂單配送時(shí)隙運(yùn)能分配
論“以讀促寫”在初中英語寫作教學(xué)中的應(yīng)用
智能交通車流自動(dòng)導(dǎo)引系統(tǒng)
國內(nèi)圖書館嵌入式服務(wù)研究主題分析
國內(nèi)外政府信息公開研究的脈絡(luò)、流派與趨勢(shì)
近十五年我國小學(xué)英語教學(xué)研究的熱點(diǎn)、問題及對(duì)策
基于知識(shí)圖譜的產(chǎn)業(yè)集群創(chuàng)新績(jī)效可視化分析
分布式系統(tǒng)中基于非合作博弈的調(diào)度算法
津南区| 澄城县| 友谊县| 襄垣县| 井陉县| 钟祥市| 黄骅市| 大竹县| 城固县| 郴州市| 宝应县| 绵阳市| 尼勒克县| 潼关县| 肇东市| 泸溪县| 渭源县| 兰溪市| 东至县| 佳木斯市| 松桃| 大连市| 茂名市| 依兰县| 门头沟区| 潼关县| 连州市| 怀远县| 屏东县| 乃东县| 治县。| 务川| 和平县| 柳林县| 大英县| 高雄县| 沈阳市| 吉林市| 莱阳市| 夏津县| 万年县|