一种挖掘漏洞的方法、装置及电子设备的制造方法

文档序号:9766140阅读:272来源:国知局
一种挖掘漏洞的方法、装置及电子设备的制造方法
【技术领域】
[0001]本发明涉及计算机漏洞挖掘技术,尤其涉及一种挖掘漏洞的方法、装置及电子设备。
【背景技术】
[0002]随着计算机网络技术的高速发展,互联网络已逐渐成为人们工作生活中不可或缺的一部分。但由于互联网络应用环境的复杂性以及互联网络应用程序的多样性,电子设备中的应用程序容易受到电脑病毒、木马等网络漏洞攻击和威胁。其中,漏洞是指应用程序中存在的功能性或安全性逻辑缺陷,而利用漏洞挖掘技术,可以及时挖掘并修补应用程序中存在的漏洞或潜在漏洞,对保护互联网络用户的个人信息安全、财产安全有着积极的促进作用。
[0003]目前,在进行包含有网络协议的漏洞挖掘时,对于客户端中存在的漏洞,开发者可以通过将编辑的漏洞扫描检测代码设置在客户端,从而实现对客户端的漏洞扫描获取各应用程序中的漏洞,而对于服务器中存在的漏洞,需要构建包括客户端和服务器的漏洞挖掘系统,即采用双机远程连接的客户端/服务器(C/S,Client/Server)方式,通过在客户端构造包含预定格式并采用网络协议封装的模糊(Fuzzing)数据,提交至服务器,服务器运行接收的模糊数据,通过设置在服务器中的异常监控应用程序,监控服务器对本次接收的模糊数据处理是否产生异常,获取监控结果后,再通知客户端提交下一轮模糊数据,其中,通过分析服务器的监控结果,可以确定服务器是否存在漏洞,在存在漏洞的情形下,可以依据监控结果进行分析,形成应用程序补丁或对应用程序进行代码编辑以避免该漏洞。
[0004]但该漏洞挖掘方法,由于需要在客户端与服务器之间构建网络连接,并且需要在客户端中配置与服务器中相同的网络协议,使得检测服务器中的漏洞的成本较高,而如果网络连接出现故障或异常,将使得漏洞挖掘不能进行,导致漏洞挖掘效率较低。

【发明内容】

[0005]有鉴于此,本发明实施例提供一种挖掘漏洞的方法、装置及电子设备,降低漏洞检测成本、提升漏洞挖掘效率。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,本发明实施例提供一种挖掘漏洞的方法,包括:
[0008]在服务器的数据接收接口注入预先设置的数据截获处理脚本;
[0009]运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;
[0010]对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交所述经模糊处理的数据;
[0011 ]运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。
[0012]可选的,在服务器的数据接收接口注入预先设置的数据截获处理脚本之前,所述方法还包括:
[0013]获取操作系统的根权限;
[0014]调用Windows操作系统的SetWindowsHookEx接口,设置用于监测和处理数据接收进程操作的数据截获处理脚本。
[0015]可选的,所述在服务器的数据接收接口注入预先设置的数据截获处理脚本包括:
[0016]在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块,以在所述应用程序中增加所述监测及数据模糊处理模块;
[0017]监测到所述应用程序启动并配置进程,在配置的进程中启动写入在所述应用程序中的所述监测及数据模糊处理模块。
[0018]可选的,所述在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块包括:
[0019]将所述监测及数据模糊处理模块的内存变量对应的代码写入动态链接库中,利用操作系统中的windows钩子技术,将写入动态链接库中的内存变量代码映射到所述应用程序中。
[0020]可选的,所述对截获的数据进行模糊处理包括:
[0021]解析截获的数据的内容,得到解析的报文头以及报文体,依据所述解析的报文头判断客户端和服务器之间进行请求-响应时的方式:
[0022]如果所述客户端和服务器之间进行请求-响应时的方式为get方式,编辑报文体的统一资源定位符中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据;
[0023]如果所述客户端和服务器之间进行请求-响应时的方式为post方式,编辑报文体的包中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据。
[0024]可选的,所述对截获的数据进行模糊处理包括:
[0025]解析截获的数据的格式,得到数据块,调用预先设置的模糊配置数据,对所述数据块进行模糊配置,生成针对每一模糊配置的多个模糊数据。
[0026]可选的,所述运行所述经模糊处理的数据,获取运行结果信息包括:
[0027]按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间;
[0028]统计各进程在每一时间周期内的进程运行时间的总和,得到总进程运行时间;
[0029]提取运行所述经模糊处理的数据的目标进程在每一时间周期内的目标进程运行时间,计算所述目标进程运行时间在所述总进程运行时间的占比;
[0030]统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标进程在所述时间周期数内的运行信息。
[0031]可选的,所述按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间包括:
[0032]设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
[0033]所述进程运行时间获取函数遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间信息;
[0034]所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间信息打包输出,并对计数值进行清零处理。
[0035]可选的,所述方法还包括:
[0036]结束所述经模糊处理的数据的运行;
[0037]判断当前运行的所述经模糊处理的数据是否为最后一模糊数据,如果是,结束所述目标进程;如果不是,在所述目标进程中运行下一模糊数据。
[0038]第二方面,本发明实施例提供一种挖掘漏洞的装置,包括:注入模块、数据截获模块、模糊处理模块以及漏洞分析模块,其中,
[0039]注入模块,用于在服务器的数据接收接口注入预先设置的数据截获处理脚本;
[0040]数据截获模块,用于运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;
[0041 ]模糊处理模块,用于对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交所述经模糊处理的数据;
[0042]漏洞分析模块,用于运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。
[0043]可选的,所述装置还包括:权限获取模块以及脚本设置模块,其中,
[0044]权限获取模块,用于获取操作系统的根权限;
[0045]脚本设置模块,用于调用Windows操作系统的SetWindowsHookEx接口,设置用于监测和处理数据接收进程操作的数据截获处理脚本。
[0046]可选的,所述注入模块包括:脚本写入单元以及脚本启动单元,其中,
[0047]脚本写入单元,用于在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块,以在所述应用程序中增加所述监测及数据模糊处理模块;
[0048]脚本启动单元,用于在监测到所述应用程序启动并配置进程后,在配置的进程中启动写入在所述应用程序中的所述监测及数据模糊处理模块。
[0049]可选的,所述脚本写入单元包括:写入子单元以及映射子单元,其中,
[0050]写入子单元,用于将所述监测及数据模糊处理模块的内存变量对应的代码写入动态链接库中;
[0051]映射子单元,用于利用操作系统中的windows钩子技术,将写入动态链接库中的内存变量代码映射到所述应用程序中。
[0052]可选的,所述模糊处理模块包括:内容解析单元、请求响应判断单元、第一编辑单元、第二编辑单元以及调用单元,其中,
[0053]内容解析单元,用于解析截获的数据的内容,得到解析的报文头以及报文体;
[0054]请求响应判断单元,用于依据所述解析的报文头判断客户端和服务器之间进行请求-响应时的方式:如果所述客户端和服务器之间进行请求-响应时的方式为get方式,通知第一编辑单元;如果所述客户端和服务器之间进行请求-响应时的方式为post方式,通知第二编辑单元;
[0055]第一编辑单元,用于编辑报文体的统一资源定位符中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据,输出至调用单元;
[0056]第二编辑单元,用于编辑报文体的包中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据,输出至调用单元;
[0057]调用单元,用于调用所述服务器的数据接收接口,提交接收的数据。
[0058]可选的,所述模糊处理模块包括:格式解析单元、模糊配置单元以及数据调用单元,其中,
[0059]格式解析单元,用于解析截获的数据的格式,得到数据块;
[0060]模糊配置单元,用于调用预先设置的模糊配置数据,对所述数据块进行模糊配置,生成针对每一模糊配置的多个模糊数据;
[0061]数据调用单元,用于调用所述服务器的数据接收接口,提交模糊配置单元生成的模糊数据。
[0062]可选的,所述漏洞分析模块包括:进程运行时间获取单元、总进程运行时
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1