[發明專利]一種基于動態調試的緩沖區漏洞檢查系統和方法在審
| 申請號: | 201910908613.8 | 申請日: | 2019-09-25 |
| 公開(公告)號: | CN110795739A | 公開(公告)日: | 2020-02-14 |
| 發明(設計)人: | 王永強 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57 |
| 代理公司: | 37105 濟南誠智商標專利事務所有限公司 | 代理人: | 李修杰 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 捕捉模塊 目標程序 緩沖區 動態調試 模糊測試 漏洞 程序運行狀態 漏洞檢查系統 被測軟件 程序異常 畸形數據 漏洞檢測 全局變量 實時監測 特征構造 現場信息 異常信息 觸發 記錄 捕獲 自動化 檢測 創建 通信 分析 檢查 進程 發現 | ||
1.一種基于動態調試的緩沖區漏洞檢查系統,其特征在于,包括異常捕捉模塊和fuzzer模塊;
所述異常捕捉模塊用于創建目標程序進程,實時監測程序運行狀態并記錄異常信息;所述fuzzer模塊用于根據被測軟件的特征構造畸形數據,然后將畸形數據發送到目標程序端口進行模糊測試,如果發現程序異常,則目標程序存在漏洞,否則繼續進行模糊測試;
所述異常捕捉模塊和所述fuzzer模塊通過全局變量進行通信。
2.根據權利要求1所述的一種基于動態調試的緩沖區漏洞檢查系統,其特征在于,
所述異常捕捉模塊采用API函數CreateProcessA()創建目標程序進程;所述異常捕捉模塊采用連續調用WaitForDebugEvent()函數實時監測程序運行狀態。
3.根據權利要求2所述的一種基于動態調試的緩沖區漏洞檢查系統,其特征在于,所述異常捕捉模塊實時監測的程序運行狀態包括CPU寄存器的信息,系統堆棧的信息。
4.根據權利要求3所述的一種基于動態調試的緩沖區漏洞檢查系統,其特征在于,所述異常捕捉模塊為了獲取異常發生是的CPU寄存器信息,增加提取寄存器信息的功能,采用GetThreadContext()函數獲取寄存器信息,采用SetThreadContext()函數更改寄存器信息。
5.根據權利要求1所述的一種基于動態調試的緩沖區漏洞檢查系統,其特征在于,所述fuzzer模塊在進行漏洞檢查之前,首先通過檢測程序進程狀態判斷,判斷程序是否處于活動狀態,當process-active狀態為true時,程序處于活動狀態;當process-active狀態為false時,則程序出現異常。
6.根據權利要求1所述的一種基于動態調試的緩沖區漏洞檢查系統,其特征在于,所述fuzzer模塊根據被測軟件的特征構造random和unexpected的畸形數據,然后采用TCP或UDP的方式發送給目標程序端口開始進行模糊測試,如果發現程序異常,則目標程序存在漏洞,否則,則繼續進行模糊測試。
7.一種基于動態調試的緩沖區漏洞檢查方法,是在權利要求1至6任意一項所述的一種基于動態調試的緩沖區漏洞檢查系統上實現的,其特征在于,包括以下步驟:
S1:采用API函數CreateProcessA()創建目標程序進程;
S2:檢測目標進程是否處于活動狀態,如果目標進程處于活動狀態,根據被測軟件的特征構造random和unexpected的畸形數據,然后采用TCP或UDP的方式發送給目標程序端口開始進行模糊測試;如果發現程序異常,則目標程序存在漏洞,否則,則繼續進行模糊測試;
S3:記錄異常信息;所述異常信息包括異常發生的地址和CPU寄存器的狀態。
8.根據權利要求7所述的一種基于動態調試的緩沖區漏洞檢查方法,其特征在于,在執行步驟S1之前還包括
S0:根據目標程序的特性填寫fuzz規則,目標程序協議、端口號。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910908613.8/1.html,轉載請聲明來源鉆瓜專利網。





