領域知識驅動的缺陷報告預測
VSole2022-05-06 06:21:04
安全缺陷報告(Security Bug Report, SBR)預測是消除軟件產品安全風險的一項舉措。本文的目標是在軟件安全領域專業知識的幫助下提高SBR預測的有效性。圖1是本文所提SBR預測模型框架,分為3個階段:數據準備、知識圖譜生成和性能評估。

Fig. 1 SBR預測框架
在數據準備階段,來源于圖2中的5個開源項目和CWE Top 25共同組成了實驗數據集。作者將圖2所示數據集按照50:50的比例分開,一部分用于構建語料庫,另一部分作為測試集。數據集內容主要包括Bug報告的Summary和Description字段內容。CWE Top 25的漏洞作為擴展數據集,包括:CWE名稱,Description和Extended Description字段內容。

Fig. 2 數據集(5個開源項目)
在知識圖譜生成階段,論文使用spaCy對文本進行token化和詞恢復,然后為手動為實體打上標簽。本文中所涉及的實體有6類:軟件名、安全相關詞、缺陷位置、缺陷類型、其他詞、其他短語,如圖3所示;實體間關系分類如圖4所示。

Fig. 3 實體分類

Fig. 4 主要的實體間關系分類
最終,基于抽取的實體和關系,使用Neo4j建立軟件安全知識圖譜。圖5是SBR的預測流程。首先使用spaCy進行分詞,并標記詞性;然后提取實體和實體間關系。通過語料庫和知識圖譜計算SBR中詞和短語與安全相關單詞/短語間的余弦相似性。

Fig. 5 SBR預測流程
VSole
網絡安全專家