[發明專利]一種代碼漏洞檢測方法、裝置、介質及設備有效
| 申請號: | 201810317123.6 | 申請日: | 2018-04-10 |
| 公開(公告)號: | CN110363004B | 公開(公告)日: | 2023-01-03 |
| 發明(設計)人: | 王凱 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F21/56 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 黃志華;李娟 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 代碼 漏洞 檢測 方法 裝置 介質 設備 | ||
本發明屬于計算機技術領域,提供一種代碼漏洞檢測方法、裝置、介質及設備,本發明提供的技術方案中,獲取待檢測程序代碼以及預設污點數據規則;提取待檢測程序代碼中的線程;針對提取的每個線程,生成該線程的數據流圖;根據預設污點數據規則以及該線程的數據流圖,確定該線程的代碼中的污點數據;將提取的各個線程的代碼中的污點數據保存至污點數據集合;判斷提取的各個線程中是否包括多個線程對污點數據集合中的同一污點數據進行了指定操作;若是,確定待檢測程序代碼中存在線程間釋放后重用漏洞。本發明結合靜態代碼分析技術以及釋放后重用漏洞的污點數據規則,可以確定線程間釋放后重用漏洞。
技術領域
本申請涉及計算機技術領域,尤其涉及一種代碼漏洞檢測方法、裝置、介質及設備。
背景技術
代碼漏洞是在軟件開發過程中進行程序代碼編輯時有意或無意產生的代碼缺陷。代碼漏洞的存在會威脅開發出的軟件的安全穩定運行。因此,需要對代碼漏洞進行檢測,以保證相應軟件的穩定運行。
代碼漏洞可以包括單線程對應的代碼中的釋放后重用漏洞(以下簡稱線程內釋放后重用漏洞)和多個線程之間的釋放后重用漏洞(以下簡稱線程間釋放后重用漏洞)等漏洞。其中,線程間釋放后重用漏洞會導致內存信息的泄露、代碼執行異常以及線程所在的軟件崩潰等問題。因此,如何檢測出程序代碼中的線程間釋放后重用漏洞是一個需要考慮的問題。
發明內容
本申請提供一種代碼漏洞檢測方法、裝置、介質及設備,用于解決現有技術中存在的無法檢測程序代碼中多個線程之間的釋放后重用漏洞的問題。
一方面,本申請實施例提供一種代碼漏洞檢測方法,包括:獲取待檢測程序代碼以及預設污點數據規則,所述預設污點數據規則用于識別線程的代碼中針對釋放后重用漏洞的污點數據;提取所述待檢測程序代碼中的線程;針對提取的每個線程,生成該線程的數據流圖;根據所述預設污點數據規則以及該線程的數據流圖,確定該線程的代碼中的污點數據;將提取的各個線程的代碼中的污點數據保存至污點數據集合;判斷提取的各個線程中是否包括多個線程對所述污點數據集合中的同一污點數據進行了指定操作;若是,確定所述待檢測程序代碼中存在線程間釋放后重用漏洞。利用本實施例,可確定該程序代碼存在線程間釋放后重用漏洞,從而結合靜態代碼分析技術以及釋放后重用漏洞的污點數據規則,實現了線程間釋放后重用漏洞的確定。
另一方面,本申請實施例提供一種代碼漏洞檢測裝置,包括:獲取模塊,用于獲取待檢測程序代碼以及預設污點數據規則,所述預設污點數據規則用于識別線程的代碼中針對釋放后重用漏洞的污點數據;提取模塊,用于提取所述待檢測程序代碼中的線程;生成模塊,用于針對提取的每個線程,生成該線程的數據流圖;第一確定模塊,用于根據所述預設污點數據規則以及該線程的數據流圖,確定該線程的代碼中的污點數據;保存模塊,用于將提取的各個線程的代碼中的污點數據保存至污點數據集合;判斷模塊,用于判斷提取的各個線程中是否包括多個線程對所述污點數據集合中的同一污點數據進行了指定操作;第二確定模塊,用于在所述判斷模塊判斷是的情況下,確定所述待檢測程序代碼中存在線程間釋放后重用漏洞。
再一方面,本申請實施例提供一種非易失性計算機存儲介質,所述計算機存儲介質存儲有可執行程序,該可執行程序被處理器執行實現上述實施例提供的任一代碼漏洞檢測方法的步驟。
又一方面,本申請實施例提供一種計算機設備,其特征在于,包括存儲器、處理器及存儲在存儲器上的計算機程序,所述處理器執行所述程序時實現上述實施例提供的任一代碼漏洞檢測方法的步驟。
本申請實施例提供的代碼漏洞檢測方法、裝置、介質及設備,生成待檢測程序代碼中每個線程的數據流圖,并根據該數據流圖和預先設定的污點數據規則,確定相應線程中針對釋放后重用漏洞的污點數據以及將待檢測程度代碼的各個線程中的污點數據保存至污點數據集合,若待檢測程序代碼中包括多個線程對污點數據集合中的同一污點數據進行了指定的操作,則確定該待檢測程序代碼中存在線程間釋放后重用漏洞,從而結合靜態代碼分析技術以及預設的污點數據規則,實現了線程間釋放后重用漏洞的檢測。。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810317123.6/2.html,轉載請聲明來源鉆瓜專利網。





