[發明專利]一種代碼漏洞檢測方法、裝置、介質及設備有效
| 申請號: | 201810317123.6 | 申請日: | 2018-04-10 |
| 公開(公告)號: | CN110363004B | 公開(公告)日: | 2023-01-03 |
| 發明(設計)人: | 王凱 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F21/56 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 黃志華;李娟 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 代碼 漏洞 檢測 方法 裝置 介質 設備 | ||
1.一種代碼漏洞檢測方法,其特征在于,包括:
獲取待檢測程序代碼以及預設污點數據規則,所述預設污點數據規則用于識別線程的代碼中針對釋放后重用漏洞的污點數據;
提取所述待檢測程序代碼中的線程;
針對提取的每個線程,生成該線程的數據流圖;
根據所述預設污點數據規則以及該線程的數據流圖,確定該線程的代碼中的污點數據;
將提取的各個線程的代碼中的污點數據保存至污點數據集合;
判斷提取的各個線程中是否包括多個線程對所述污點數據集合中的同一污點數據進行了指定操作;
若是,確定所述待檢測程序代碼中存在線程間釋放后重用漏洞。
2.根據權利要求1所述的方法,其特征在于,將各個線程的代碼中的污點數據保存至污點數據集合,具體包括:
提取各個線程的代碼中未設置互斥機制的污點數據;
對各個線程的代碼中未設置互斥機制的污點數據進行去重處理,將各個線程的代碼中互不重復且未設置互斥機制的污點數據保存至所述污點數據集合。
3.根據權利要求1所述的方法,其特征在于,生成該線程的數據流圖,具體包括:
將該線程的入口函數作為起始函數,生成該線程的函數調用圖;
根據所述函數調用圖,生成該線程的函數間控制流圖;
根據所述函數間控制流圖,生成該線程的函數間數據流圖。
4.根據權利要求1所述的方法,其特征在于,還包括:
若所述待檢測程序代碼中僅包括一個線程對該污點數據進行指定操作,則確定所述待檢測程序代碼中存在線程內釋放后重用漏洞。
5.根據權利要求1~4任一所述的方法,其特征在于,所述確定該線程的代碼中的污點數據,具體包括:
將該線程的代碼中已釋放的數據確定為源污點數據;
遍歷該線程的代碼中將所述源污點數據傳遞給線程間共享數據的語句,并將遍歷到的語句作為污點陷入點;
判斷該線程的數據流圖中是否包括從所述源污點數據到所述污點陷入點的數據流;
若是,確定所述源污點數據以及所述線程間共享數據為該線程的代碼中的污點數據。
6.根據權利要求5所述的方法,其特征在于,所述污點數據為已釋放的內存的指針,則判斷提取的各個線程中是否包括多個線程對所述污點數據集合中的同一污點數據進行了指定操作,具體包括:
獲取從所述待檢測程序代碼提取的各個線程中,利用該已釋放的內存的指針對該已釋放的內存進行了讀或寫操作的線程,作為該已釋放的內存的指針的操作線程;
判斷是否存在多個該已釋放的內存的指針的操作線程。
7.根據權利要求1~4任一所述的方法,其特征在于,所述污點數據為已釋放的內存的指針,則判斷提取的各個線程中是否包括多個線程對所述污點數據集合中的同一污點數據進行了指定操作,具體包括:
獲取從所述待檢測程序代碼提取的各個線程中,利用該已釋放的內存的指針對該已釋放的內存進行了讀或寫操作的線程,作為該已釋放的內存的指針的操作線程;
判斷是否存在多個該已釋放的內存的指針的操作線程。
8.一種代碼漏洞檢測裝置,其特征在于,包括:
獲取模塊,用于獲取待檢測程序代碼以及預設污點數據規則,所述預設污點數據規則用于識別線程的代碼中針對釋放后重用漏洞的污點數據;
提取模塊,用于提取所述待檢測程序代碼中的線程;
生成模塊,用于針對提取的每個線程,生成該線程的數據流圖;
第一確定模塊,用于根據所述預設污點數據規則以及該線程的數據流圖,確定該線程的代碼中的污點數據;
保存模塊,用于將提取的各個線程的代碼中的污點數據保存至污點數據集合;
判斷模塊,用于判斷提取的各個線程中是否包括多個線程對所述污點數據集合中的同一污點數據進行了指定操作;
第二確定模塊,用于在所述判斷模塊判斷是的情況下,確定所述待檢測程序代碼中存在線程間釋放后重用漏洞。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810317123.6/1.html,轉載請聲明來源鉆瓜專利網。





