本申請屬于信息安全,尤其涉及一種代碼檢測方法、代碼檢測裝置、電子設備及存儲介質(zhì)。
背景技術(shù):
1、隨著人們知識產(chǎn)權(quán)意識的增強,目前許多高新科技公司會將研發(fā)產(chǎn)品的源代碼作為核心資產(chǎn)來保護,而源代碼安全問題是影響各公司產(chǎn)品安全運營的根本保障,因此,在實際應用中,需對源代碼進行安全檢測。
2、然而,目前,源代碼的安全漏洞檢測技術(shù)中,通常僅進行代碼層級的安全漏洞檢測,即僅對靜態(tài)源代碼進行安全漏洞檢測,缺乏對源代碼進行動態(tài)檢測的能力,即當源代碼以api(application?programming?interface,應用程序編程接口)為載體,以數(shù)據(jù)流的形式進行傳播時,現(xiàn)有的安全漏洞檢測技術(shù)則無法準確地檢測出源代碼中的漏洞。
技術(shù)實現(xiàn)思路
1、本申請實施例提供一種代碼檢測方法、代碼檢測裝置、電子設備及存儲介質(zhì),能夠提高源代碼漏洞檢測的準確度。
2、第一方面,本申請實施例提供一種代碼檢測方法,該方法包括:根據(jù)待檢測代碼中的代碼文本對生成代碼漏洞的影響程度,對待檢測代碼進行代碼提取,得到待檢測代碼對應的靜態(tài)數(shù)據(jù)流;獲取待檢測代碼在運行過程中所產(chǎn)生的數(shù)據(jù)流,得到待檢測代碼對應的動態(tài)數(shù)據(jù)流;通過代碼檢測模型對靜態(tài)數(shù)據(jù)流和動態(tài)數(shù)據(jù)流進行漏洞檢測,得到待檢測代碼所對應的漏洞檢測結(jié)果。
3、第二方面,本申請實施例提供了一種代碼檢測裝置,該裝置包括:靜態(tài)數(shù)據(jù)提取模塊,用于根據(jù)待檢測代碼中的代碼文本對生成代碼漏洞的影響程度,對待檢測代碼進行代碼提取,得到待檢測代碼對應的靜態(tài)數(shù)據(jù)流;動態(tài)數(shù)據(jù)提取模塊,用于獲取待檢測代碼在運行過程中所產(chǎn)生的數(shù)據(jù)流,得到待檢測代碼對應的動態(tài)數(shù)據(jù)流;漏洞檢測模塊,用于通過代碼檢測模型對靜態(tài)數(shù)據(jù)流和動態(tài)數(shù)據(jù)流進行漏洞檢測,得到待檢測代碼所對應的漏洞檢測結(jié)果。
4、第三方面,本申請實施例提供了一種電子設備,該電子設備包括:處理器以及存儲有計算機程序指令的存儲器;處理器執(zhí)行計算機程序指令時實現(xiàn)如第一方面所述的代碼檢測方法。
5、第四方面,本申請實施例提供了一種計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)上存儲有計算機程序指令,計算機程序指令被處理器執(zhí)行時實現(xiàn)如第一方面所述的代碼檢測方法。
6、第五方面,本申請實施例提供了一種計算機程序產(chǎn)品,計算機程序產(chǎn)品中的指令由電子設備的處理器執(zhí)行時,使得電子設備執(zhí)行如第一方面所述的代碼檢測方法。
7、由上述內(nèi)容可知,本申請實施例通過提取待檢測代碼的靜態(tài)數(shù)據(jù)流和動態(tài)數(shù)據(jù)流,并使用代碼檢測模型對上述兩種數(shù)據(jù)流進行分析,以實現(xiàn)對待檢測代碼的漏洞檢測。
8、在對待檢測代碼進行漏洞檢測的過程中,不僅考慮了待檢測代碼的靜態(tài)數(shù)據(jù)流,還考慮了待檢測源代碼運行過程中所產(chǎn)生的數(shù)據(jù),也即動態(tài)數(shù)據(jù)流,因此,相較于相關(guān)技術(shù)中僅對靜態(tài)的源代碼進行漏洞檢測的方案相比,本申請實施例所提供的方案可從靜態(tài)和動態(tài)兩個方面來對待檢測代碼進行漏洞檢測,能夠提高源代碼漏洞檢測的準確度。
1.一種代碼檢測方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述代碼檢測模型至少包括向量提取模型、文本卷積模型以及分類器,其中,通過代碼檢測模型對所述靜態(tài)數(shù)據(jù)流和所述動態(tài)數(shù)據(jù)流進行漏洞檢測,得到所述待檢測代碼所對應的漏洞檢測結(jié)果,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,通過所述向量提取模型對所述靜態(tài)數(shù)據(jù)流和所述動態(tài)數(shù)據(jù)流進行向量信息表示,得到所述待檢測代碼所對應的漏洞特征向量,包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,通過所述文本卷積模型對所述漏洞特征向量進行文本卷積,得到所述待檢測代碼所對應的漏洞代碼特征,包括:
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,通過所述分類器確定所述漏洞代碼特征所對應的漏洞概率,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,根據(jù)所述漏洞概率確定所述待檢測代碼所對應的漏洞類別,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述代碼檢測模型通過如下步驟訓練得到:
8.一種代碼檢測裝置,其特征在于,包括:
9.一種電子設備,其特征在于,電子設備包括:處理器以及存儲有計算機程序指令的存儲器;
10.一種計算機可讀存儲介質(zhì),其特征在于,計算機可讀存儲介質(zhì)上存儲有計算機程序指令,所述計算機程序指令被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-7任意一項所述的代碼檢測方法。