[發(fā)明專利]一種java源代碼漏洞檢測方法和系統(tǒng)在審
| 申請?zhí)枺?/td> | 202310211625.1 | 申請日: | 2023-02-27 |
| 公開(公告)號: | CN116226868A | 公開(公告)日: | 2023-06-06 |
| 發(fā)明(設(shè)計)人: | 楊祎斌;陳小全;龔曉銳;馬俊杰;劉劍 | 申請(專利權(quán))人: | 北京城市學(xué)院;中國科學(xué)院信息工程研究所 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F21/56;G06F11/36;G06F8/41;G06F18/214;G06N3/042;G06N3/0464;G06N3/08 |
| 代理公司: | 北京市廣友專利事務(wù)所有限責(zé)任公司 11237 | 代理人: | 張仲波 |
| 地址: | 100191 北*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 java 源代碼 漏洞 檢測 方法 系統(tǒng) | ||
1.一種java源代碼漏洞檢測方法,其特征在于,所述方法包括:
S1、將待檢測java源代碼轉(zhuǎn)化成dot文件,將所述dot文件中的節(jié)點和邊提取出來,并進行預(yù)處理生成節(jié)點邊相關(guān)內(nèi)容處理文件;
S2、根據(jù)所述節(jié)點邊相關(guān)內(nèi)容處理文件,采用預(yù)先構(gòu)建的漏洞檢測模型對所述待檢測java源代碼進行漏洞檢測;
S3、將檢測結(jié)果可視化展示。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述S1的將待檢測java源代碼轉(zhuǎn)化成dot文件,將所述dot文件中的節(jié)點和邊提取出來,并進行預(yù)處理生成節(jié)點邊相關(guān)內(nèi)容處理文件,具體包括:
S11、將所述待檢測java源代碼的相關(guān)特征信息提取出來,生成json文件;
S12、根據(jù)所述json文件生成語料庫;
S13、把所述語料庫向量化,生成向量化文件;
S14、對所述待檢測java源代碼進行自動化編譯,生成字節(jié)碼文件,進而生成dot文件;
S15、根據(jù)所述向量化文件,把所述dot文件中的節(jié)點和邊提取出來,并進行預(yù)處理生成所述節(jié)點邊相關(guān)內(nèi)容處理文件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述S2的漏洞檢測模型的預(yù)先構(gòu)建過程,具體包括:
S21、把訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集正負(fù)樣本中java源代碼轉(zhuǎn)化成dot文件,將所述dot文件中的節(jié)點和邊提取出來,并進行預(yù)處理生成節(jié)點邊相關(guān)內(nèi)容處理文件;
S22、根據(jù)所述節(jié)點邊相關(guān)內(nèi)容處理文件,利用圖卷積神經(jīng)網(wǎng)絡(luò)GCN中延伸出來的SAGpool方法中的分層池化方法訓(xùn)練GCN,直到完成所述漏洞檢測模型的構(gòu)建。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述S21的把訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集正負(fù)樣本中java源代碼轉(zhuǎn)化成dot文件,將所述dot文件中的節(jié)點和邊提取出來,并進行預(yù)處理生成節(jié)點邊相關(guān)內(nèi)容處理文件,具體包括:
S211、把所述訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集正負(fù)樣本中java源代碼相關(guān)特征信息提取出來,生成json文件;
S212、根據(jù)所述json文件生成java源代碼的語料庫;
S213、把所述語料庫向量化,生成第一向量化文件;
S214、在S211的基礎(chǔ)上進行二次優(yōu)化,人為地進行特征的優(yōu)化和添加,再次生成json文件,并生成第二向量化文件;
S215、對java源代碼進行自動化編譯,生成字節(jié)碼文件,進而生成dot文件;
S216、根據(jù)所述第一向量化文件和第二向量化文件,把所述dot文件中的節(jié)點和邊提取出來,并進行處理生成所述節(jié)點邊相關(guān)內(nèi)容處理文件。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述S22的根據(jù)所述節(jié)點邊相關(guān)內(nèi)容處理文件,利用圖卷積神經(jīng)網(wǎng)絡(luò)GCN中延伸出來的圖分類SAGpool方法中的分層池化方法訓(xùn)練GCN,直到完成所述漏洞檢測模型的構(gòu)建,具體包括:
利用SAGpool方法中的分層池化方法定義模型,創(chuàng)建所述GCN的圖卷積層,合并一層圖池化層;
每一層GCN層,圖池化層為一組,架設(shè)三組,將處理后的節(jié)點和邊數(shù)據(jù)放入模型中,在數(shù)據(jù)過完一組后出一組的相關(guān)結(jié)果傳入下方的多層感知機MLP中進行處理;
進行模型迭代訓(xùn)練,直到完成所述漏洞檢測模型的構(gòu)建。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法的各個步驟分別由不同的腳本自動化完成。
7.一種java源代碼漏洞檢測系統(tǒng),其特征在于,所述系統(tǒng)包括:
預(yù)處理模塊,用于將待檢測java源代碼轉(zhuǎn)化成dot文件,將所述dot文件中的節(jié)點和邊提取出來,并進行預(yù)處理生成節(jié)點邊相關(guān)內(nèi)容處理文件;
檢測模塊,用于根據(jù)所述節(jié)點邊相關(guān)內(nèi)容處理文件,采用預(yù)先構(gòu)建的漏洞檢測模型對所述待檢測java源代碼進行漏洞檢測;
展示模塊,用于將檢測結(jié)果可視化展示。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)前端使用Vue進行前端框架的編寫,使用element?UI進行框架的布局和界面的渲染。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京城市學(xué)院;中國科學(xué)院信息工程研究所,未經(jīng)北京城市學(xué)院;中國科學(xué)院信息工程研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310211625.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





