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

文档序号:9766140阅读:来源:国知局
交要被处理的数据。
[0?O7]本发明实施例中,作为一可选实施例,报文体包括:统一资源定位符(URL,UniformResource Locator)以及包,对于get方式,请求参数以及请求参数对应的请求参数值包含在统一资源定位符中;对于post方式,请求参数以及请求参数对应的请求参数值包含在包中。
[0108]本发明实施例中,通过依据预先设置的策略修改请求参数值,可以为服务器自动生成数量众多的输入数据。
[0109]作为另一可选实施例,对截获的数据进行模糊处理包括:
[0110]解析截获的数据的格式,得到数据块,调用预先设置的模糊配置数据,对所述数据块进行模糊配置,生成针对每一模糊配置的多个模糊数据。
[0111]本步骤中,作为一可选实施例,利用模糊配置数据(Fuzzing-Data)生成器生成模糊配置数据。其中,模糊配置数据生成器利用模糊技术生成数据,可以向目标应用程序提供预先构造的无效的、非预期或者是随机的模糊配置数据,用于对目标内容进行模糊处理,得到用于进行漏洞挖掘的模糊数据,从而可以得到批量的包含各漏洞挖掘目标的模糊数据。
[0112]本发明实施例中,模糊技术(Fuzzing)是一种基于缺陷注入的自动测试技术,通过设置模糊配置数据,用以向目标应用程序提供依据模糊配置数据进行填充的预定形式的模糊入数据,并通过日志方式记录目标应用程序运行模糊数据的响应,以挖掘目标应用程序中的潜在漏洞。
[0113]作为一可选实施例,模糊配置数据生成器基于格式分析和目标应用程序解析相结合的方法生成模糊配置数据。关于利用模糊配置数据生成器生成模糊配置数据为公知技术,在此略去详述。
[0114]作为一可选实施例,模糊配置数据的格式采用偏移-长度-数据类型(pos-len-data)格式。
[0115]本发明实施例中,通过解析截获的数据的格式,识别出该截获的数据包含的一个或多个数据块。
[0116]作为一可选实施例,对应于模糊配置数据,每一数据块也采用偏移-长度-数据类型(pos-len-data)三元组的形式来表示。然后,针对每一数据块进行模糊(Fuzz)配置处理,生成相应的模糊数据,即经模糊处理的数据。
[0117]步骤14,运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。
[0118]本步骤中,作为一可选实施例,图2为本发明实施例运行所述经模糊处理的数据,获取运行结果信息的流程示意图。参见图2,该流程包括:
[0119]步骤21,按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间;
[0120]本步骤中,按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间包括:
[0121]设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
[0122]所述进程运行时间获取函数遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间信息;
[0123]所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间信息打包输出,并对计数值进行清零处理。
[0124]步骤22,统计各进程在每一时间周期内的进程运行时间的总和,得到总进程运行时间;
[0125]步骤23,提取运行所述经模糊处理的数据的目标进程在每一时间周期内的目标进程运行时间,计算所述目标进程运行时间在所述总进程运行时间的占比;
[0126]步骤24,统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标进程在所述时间周期数内的运行信息。
[0127]本发明实施例中,作为一可选实施例,在导出所述目标进程在所述时间周期数内的运行信息之后,该方法还可以包括:
[0128]结束所述经模糊处理的数据的运行;
[0129]判断当前运行的所述经模糊处理的数据是否为最后一模糊数据,如果是,结束所述目标进程;如果不是,在所述目标进程中运行下一模糊数据。
[0130]本发明实施例中,通过在服务器的数据接收接口注入预先设置的数据截获处理脚本;运行已注入的数据截获处理脚本,以使数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;对截获的数据进行模糊处理,调用所述服务器的数据接收接口,将经模糊处理的数据提交至所述服务器;运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。这样,通过截获发送至服务器的数据接收接口的数据,进行模糊处理后输入服务器,发送至服务器的数据接收接口的数据可以通过外接存储设备实现,例如,U盘,从而避免构建服务器与客户端之间的网络连接,降低了检测服务器中漏洞的成本;也避免了网络连接出现故障或异常使得漏洞挖掘不能进行的缺陷,提升了漏洞挖掘效率。进一步地,对截获的数据自动利用模糊技术生成多个模糊数据作为服务器的输入,可以有效缩短服务器漏洞扫描所需的时间,从而提升漏洞扫描效率。
[0131]图3为本发明实施例挖掘漏洞的装置结构示意图。参见图3,该装置包括:注入模块31、数据截获模块32、模糊处理模块33以及漏洞分析模块34,其中,
[0132]注入模块31,用于在服务器的数据接收接口注入预先设置的数据截获处理脚本;
[0133]本发明实施例中,在服务器的数据接收接口(例如,recv接口)注入预先设置的数据截获处理脚本。作为一可选实施例,注入模块31包括:脚本写入单元以及脚本启动单元(图中未示出),其中,
[0134]脚本写入单元,用于在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块,以在所述应用程序中增加所述监测及数据模糊处理模块;
[0135]本发明实施例中,程序代码段可以采用超级文本预处理语言、C、C++、Linux等语言进行编写。作为一可选实施例,脚本写入单元包括:写入子单元以及映射子单元,其中,
[0136]写入子单元,用于将所述监测及数据模糊处理模块的内存变量对应的代码写入动态链接库中;
[0137]映射子单元,用于利用操作系统中的windows钩子技术,将写入动态链接库中的内存变量代码映射到所述应用程序中。
[0138]脚本启动单元,用于在监测到所述应用程序启动并配置进程后,在配置的进程中启动写入在所述应用程序中的所述监测及数据模糊处理模块。
[0139]数据截获模块32,用于运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;
[0140]本发明实施例中,在外部数据发送至服务器的数据接收接口后,数据截获处理脚本截获该数据,即优先对数据进行处理后,才交由数据接收接口发送至服务器。其中,外部数据可以是客户端发送至服务器的数据,也可以是在服务器中设置并发送至自身的数据。
[0141]模糊处理模块33,用于对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交所述经模糊处理的数据;
[0142]本发明实施例中,作为一可选实施例,模糊处理模块33包括:内容解析单元、请求响应判断单元、第一编辑单元、第二编辑单元以及调用单元(图中未示出),其中,
[0143]内容解析单元,用于解析截获的数据的内容,得到解析的报文头以及报文体;
[0144]请求响应判断单元,用于依据所述解析的报文头判断客户端和服务器之间进行请求-响应时的方式:如果所述客户端和服务器之间进行请求-响应时的方式为get方式,通知第一编辑单元;如果所述客户端和服务器之间进行请求-响应时的方式为post方式,通知第二编辑单元;
[0145]第一编辑单元,用于编辑报文体的统一资源定位符中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据,输出至调用单元;
[0146]第二编辑单元,用于编辑报文体的包中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据,输出至调用单元;
[0147]调用单元,用于调用所述服务器的数据接收接口,提交接收的数据。
[0148]作为另一可选实施例,模糊处理模块33包括:格式解析单元、模糊配置单元以及数据调用单元,其中,
[0149]格式解析单元,用于解析截获的数据的格式,得到数据块;
[0150]模糊配置单元,用于调用预先设置的模糊配置数据,对所述数据块进行模糊配置,生成针对每一模糊配置的多个模糊数据;
[0151]本发明实施例中,利用模糊配置数据生成器生成模糊配置数据。作为一可选实施例,模糊配置数据生成器基于格式分析和目标应用程序解析相结合的方法生成模糊配置数据,模糊配置数据的格式采用偏移-长度-数据类型格式。
[0152]数据调用单元,用于调用所述服务器的数据接收接口,提交模糊配置单元生成的模糊数据。
[0153]漏洞分析模块34,用于运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。
[0154]本发明实施例中,作为一可选实施例,图4为本发明实施例的漏洞分析模块结构示意图。参见图4,该漏洞分析模块包括:进程运行时间获取单元41、总进程运行时间计算单元42、占比计算单元43、运行信息导出单元44以及漏洞分析单元45,其中,
[0155]进程运行时间获取单元41,用于按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间;
[0156]本发明实施例中,作为一可选实施例,进程运行时间获取单元包括:参数设置子单元、进程运行时间获取子单元以及计数处理子单元(图中未示出),其中,
[0157]参数设置子单元,用于设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1