[發明專利]基于知識圖譜的漏洞代碼圖譜構建及代碼漏洞檢測方法有效
| 申請號: | 202210595809.8 | 申請日: | 2022-05-30 |
| 公開(公告)號: | CN114692155B | 公開(公告)日: | 2022-08-23 |
| 發明(設計)人: | 王曉東;王健;魏志強;李凱航 | 申請(專利權)人: | 中國海洋大學 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56;G06F16/36;G06F8/41 |
| 代理公司: | 青島華慧澤專利代理事務所(普通合伙) 37247 | 代理人: | 趙梅 |
| 地址: | 266100 山*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 知識 圖譜 漏洞 代碼 構建 檢測 方法 | ||
1.基于知識圖譜的漏洞代碼圖譜構建方法,其特征在于,包括以下步驟:
S1、獲取漏洞代碼相關信息:包括漏洞源代碼文件、漏洞發布日期、漏洞補丁方案、漏洞所處的代碼倉庫地址、代碼倉庫提交日志、代碼倉庫issue信息;
S2、對漏洞源代碼文件的處理:將漏洞源代碼文件處理成抽象語法樹,利用抽象語法樹的深度遍歷算法,從抽象語法樹中提取實體、關系信息,構建源代碼圖譜,進而抽取生成漏洞代碼子圖;步驟S2的具體步驟如下:
S21、處理漏洞源代碼文件,提取源代碼文件的抽象語法樹;
S22、實體類型定義及實體間關系定義:結合源代碼文件的抽象語法樹信息,定義構建源代碼知識圖譜必備的實體類型信息和實體間關系信息;
S23、遍歷抽象語法樹生成源代碼圖譜:利用代碼圖譜生成算法,結合實體類型定義及實體間關系定義,抽取生成源代碼圖譜,存入圖數據庫;
S24、利用漏洞代碼子圖生成算法,從上一步驟生成的源代碼圖譜中抽取生成漏洞代碼子圖;漏洞代碼子圖生成算法如下:
記漏洞代碼子圖,其中,代表漏洞代碼子圖的數量,,代表漏洞代碼子圖中節點的集合,,代表漏洞代碼子圖中邊的集合;路徑,其中,代表路徑的數量;
S241、根據不同漏洞代碼的符號特征,找到漏洞代碼定義、賦值、聲明節點
S242、查詢源代碼圖譜中從文件節點到
S243、查詢源代碼圖譜中所有與
S244、給
S3、對漏洞代碼相關文字信息的處理:基于獲取到的漏洞代碼相關信息數據,利用自然語言處理技術,從代碼文檔、issue、補丁方案中提取出與代碼相關的實體節點和實體間關系信息,保存記錄到數據庫中;
S4、對前兩部分的到的實體和關系進行實體關系融合:通過步驟S1可以得到源代碼實體關系,通過步驟S2得到文檔實體關系,將兩者進行實體關系融合,整合源代碼和文檔中的信息;
S5、構造標注數據集D:得到漏洞代碼子圖以后,將漏洞代碼子圖和爬取的數據進行對齊,對每一個漏洞代碼子圖進行人工標注,對于有漏洞的代碼子圖標注上對應的漏洞類型,沒有漏洞的代碼子圖標注0;構造的標注數據集,其中,表示數據集中的第i條數據,共條標注數據;表示第i個漏洞代碼子圖,,n代表漏洞的種類數量,,表示第i個漏洞代碼子圖的漏洞標簽,當且僅當
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國海洋大學,未經中國海洋大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210595809.8/1.html,轉載請聲明來源鉆瓜專利網。





