[發(fā)明專利]漏洞代碼克隆檢測方法、裝置、電子設備和存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 202011444952.4 | 申請日: | 2020-12-08 |
| 公開(公告)號: | CN112379923B | 公開(公告)日: | 2022-06-21 |
| 發(fā)明(設計)人: | 孟丹;于愛民;宋瀟楠;劉濕潤;白鑫 | 申請(專利權)人: | 中國科學院信息工程研究所 |
| 主分類號: | G06F8/75 | 分類號: | G06F8/75;G06F16/951 |
| 代理公司: | 北京路浩知識產(chǎn)權代理有限公司 11002 | 代理人: | 鄭朝然 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 漏洞 代碼 克隆 檢測 方法 裝置 電子設備 存儲 介質(zhì) | ||
1.一種漏洞代碼克隆檢測方法,其特征在于,包括:
對待檢測函數(shù)的代碼進行切片,得到多個待檢測切片;
將所述多個待檢測切片與預設漏洞庫中存儲的漏洞函數(shù)對應的所有漏洞切片進行切片匹配,得到所述待檢測函數(shù)的漏洞代碼克隆檢測結果;
其中,所述漏洞函數(shù)對應的漏洞切片中包含所述漏洞函數(shù)中需要刪除的語句以及與所述需要刪除的語句存在依賴關系的其他語句;
所述對待檢測函數(shù)的代碼進行切片的步驟包括:
根據(jù)所述待檢測函數(shù)的函數(shù)內(nèi)容生成對應的程序依賴圖,并依照所述程序依賴圖中的控制流和數(shù)據(jù)流的關系對所述待檢測函數(shù)的代碼中所有語句進行切片;
所述將所述多個待檢測切片與預設漏洞庫中存儲的漏洞函數(shù)對應的所有漏洞切片進行切片匹配的步驟,包括:
初始化所述待檢測函數(shù)的哈希比特向量;
將所述哈希比特向量中每一待檢測切片哈希值對應位置處的值置為1;
其中,所述哈希比特向量中的各個位置與哈希函數(shù)對應的哈希值范圍內(nèi)的各個哈希值一一對應;
基于每一待檢測切片哈希值,確定所述待檢測函數(shù)的哈希比特向量;
判斷所述漏洞函數(shù)對應的所有漏洞切片的漏洞切片哈希值在所述哈希比特向量的對應位置處的比特值是否為1;
若所述漏洞函數(shù)對應的所有漏洞切片的漏洞切片哈希值在所述哈希比特向量的對應位置處的比特值均為1,則切片匹配成功。
2.根據(jù)權利要求1所述的漏洞代碼克隆檢測方法,其特征在于,所述漏洞函數(shù)對應的漏洞切片是基于如下步驟確定的:
基于所述漏洞函數(shù)對應的補丁信息,確定所述漏洞函數(shù)中需要刪除的語句;
根據(jù)所述漏洞函數(shù)的程序依賴圖的控制流和數(shù)據(jù)流,提取與所述需要刪除的語句存在依賴關系的依賴語句;
其中,所述需要刪除的語句與所述依賴語句構成一個漏洞切片。
3.根據(jù)權利要求1所述的漏洞代碼克隆檢測方法,其特征在于,所述將所述多個待檢測切片與預設漏洞庫中存儲的漏洞函數(shù)對應的所有漏洞切片進行切片匹配,具體包括:
對待檢測函數(shù)的函數(shù)體進行抽象和標準化操作,并計算抽象和標準化操作后的函數(shù)體的待檢測函數(shù)體哈希值;
將所述待檢測函數(shù)體哈希值與所述預設漏洞庫中存儲的漏洞函數(shù)對應的漏洞函數(shù)體哈希值進行函數(shù)體匹配;
若函數(shù)體匹配失敗,則將所述多個待檢測切片與預設漏洞庫中存儲的漏洞函數(shù)對應的所有漏洞切片進行切片匹配;
其中,漏洞函數(shù)體哈希值是將對應漏洞函數(shù)的函數(shù)體進行抽象和標準化操作后進行哈希運算得到的。
4.根據(jù)權利要求1至3任一項所述的漏洞代碼克隆檢測方法,其特征在于,所述將所述多個待檢測切片與預設漏洞庫中存儲的漏洞函數(shù)對應的所有漏洞切片進行切片匹配,具體包括:
對每一待檢測切片進行抽象和標準化操作,并計算抽象和標準化操作后的每一待檢測切片的待檢測切片哈希值;
將每一待檢測切片哈希值與漏洞函數(shù)對應的所有漏洞切片的漏洞切片哈希值進行切片匹配;
其中,漏洞切片哈希值是將對應漏洞切片進行抽象和標準化操作后進行哈希運算得到的。
5.根據(jù)權利要求1至3任一項所述的漏洞代碼克隆檢測方法,其特征在于,所述將所述多個待檢測切片與預設漏洞庫中存儲的漏洞函數(shù)對應的所有漏洞切片進行切片匹配,得到所述待檢測函數(shù)的漏洞代碼克隆檢測結果,具體包括:
若切片匹配成功,則獲取匹配成功的漏洞函數(shù)對應的漏洞函數(shù)信息,作為所述待檢測函數(shù)的漏洞代碼克隆檢測結果;
所述漏洞函數(shù)信息包括所述匹配成功的漏洞函數(shù)對應的漏洞切片中包含的語句行號,以及所述匹配成功的漏洞函數(shù)對應的補丁信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院信息工程研究所,未經(jīng)中國科學院信息工程研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011444952.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





