[发明专利]一种基于动态调试的缓冲区漏洞检查系统和方法在审
申请号: | 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.vipzhuanli.com/pat/books/201910908613.8/1.html,转载请声明来源钻瓜专利网。