[發明專利]基于圖神經網絡的漏洞識別與預測方法、系統、計算機設備和存儲介質有效
| 申請號: | 202010053062.4 | 申請日: | 2020-01-17 |
| 公開(公告)號: | CN111274134B | 公開(公告)日: | 2023-07-11 |
| 發明(設計)人: | 孫小兵;曹思聰;李斌 | 申請(專利權)人: | 揚州大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F11/36;G06N3/0442;G06N3/048;G06N3/08 |
| 代理公司: | 南京理工大學專利中心 32203 | 代理人: | 馬魯晉 |
| 地址: | 225009*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 神經網絡 漏洞 識別 預測 方法 系統 計算機 設備 存儲 介質 | ||
1.一種基于圖神經網絡的漏洞識別與預測方法,其特征在于,包括以下步驟:
步驟1,構建漏洞數據集;具體過程包括:
步驟1-1,采集漏洞數據庫NVD中的數據,包括漏洞報告;
步驟1-2,提取漏洞報告中的CWE漏洞類型標簽、描述信息以及漏洞文件;
步驟1-3,利用一組與軟件安全性相關的漏洞發生特征關鍵詞和所述描述信息進行匹配,篩選出安全性漏洞,由所有安全性漏洞構成漏洞數據集;
步驟2,將漏洞數據集劃分為訓練集和測試集;
步驟3,漏洞文件代碼圖表示;具體過程包括:
步驟3-1,將所述漏洞數據集中的每個漏洞文件分解為一組方法即函數;特殊地,頭文件也視為一組方法;
步驟3-2,利用GumTree對每個漏洞文件對應的一組方法進行語法分析,獲得一組語法抽象樹AST;
步驟3-3,利用word2vec對語法抽象樹AST中的代碼單詞code?tokens進行詞向量學習,獲得一組詞向量;
由上述過程將每一個漏洞文件表示為一個代碼屬性圖gi(V,X,A),該圖中結點的代碼屬性由詞向量表示,邊屬性的類型為AST;其中V表示結點集合,X表示初始結點的特征矩陣,A表示兩結點是否通過一條AST邊相連,0表示兩結點不相連,1表示相連,A為一個m×m的鄰接矩陣,m為結點總數;
步驟4,結合門控圖神經網絡GGNN的特征學習和門控遞歸單元實現漏洞特征提取,將圖中每個結點向量作為門控圖神經網絡GGNN的輸入端,迭代后的狀態向量作為漏洞特征;
步驟5,將漏洞特征作為預測器的輸入端,構建預測器,并利用該預測器預測代碼文件中的漏洞。
2.根據權利要求1所述的基于圖神經網絡的漏洞識別與預測方法,其特征在于,步驟2所述將漏洞數據集劃分為訓練集和測試集,具體包括:
步驟2-1,對CWE漏洞類型標簽進行歸并,獲得如下漏洞類型與CWE標簽的對應關系:Resource?Leaks:CWE-913、CWE-74、CWE-400、CWE-404、CWE-610、CWE-669、CWE-913;Insecure?Arguments:CWE-134、CWE-20、CWE-330、CWE-665;Use?After?Free:CWE-416;RaceConditions:CWE-362、CWE-754、CWE-755;Null?Pointer?Deference:CWE-476;BufferOverflows:CWE-120、CWE-119;Information?Exposure:CWE-200、CWE-311、CWE-668、CWE-922;Privilege?Escalation:CWE-269、CWE-326;Improper?Authentication:CWE-287、CWE-345、CWE-862、CWE-863;
步驟2-2,從漏洞數據集中隨機選取部分狀態為Modified的漏洞報告,結合CWE漏洞類型標簽和上述對應關系對選取的漏洞報告進行分類,構建語料庫,并將語料庫中的一部分漏洞報告作為訓練集,其余漏洞報告作為測試集。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于揚州大學,未經揚州大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010053062.4/1.html,轉載請聲明來源鉆瓜專利網。





