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

文档序号:9708234阅读:来源:国知局
计的次数超过预先设置的次数阈值,导出所述目标进程在所述时间周期数内的运行信息。
[0131]本发明实施例中,作为一可选实施例,在导出所述目标进程在所述时间周期数内的运行信息之前、同时或之后,该方法还可以包括:
[0132]结束所述输入文件拷贝的运行;
[0133]判断当前运行的所述输入文件拷贝是否为最后一输入文件拷贝,如果是,结束所述目标进程;如果不是,在所述目标进程中运行下一输入文件拷贝。
[0134]作为另一可选实施例,在导出所述目标进程在所述时间周期数内的运行信息之后,该方法还可以包括:
[0135]过滤运行结果信息中预先设置的非模糊数据运行产生的异常信息,基于过滤的运行结果信息执行所述确定运行所述输入文件拷贝的目标应用程序是否存在漏洞的步骤。
[0136]本步骤中,非模糊数据运行产生的异常信息主要是指与输入的模糊数据无关的异常信息,例如,进程或线程创建时的异常。
[0137]本发明实施例中,通过获取用于漏洞挖掘的输入文件,解析所述输入文件;如果解析的输入文件包含有结构体头部描述信息,提取所述结构体头部描述信息中的图片兼容类型信息;遍历所述输入文件中包含的图片类型信息,从所述图片兼容类型信息中,滤除所述输入文件中包含的图片类型信息,得到图片冗余类型信息;按照所述图片冗余类型信息分别对所述输入文件中包含的图片进行转换,依据每一进行图片转换的输入文件构建一输入文件拷贝;依次运行所述输入文件拷贝,获取运行所述输入文件拷贝的运行结果信息,依据所述运行结果信息确定运行所述输入文件拷贝的目标应用程序是否存在漏洞。这样,采用根据已有的输入文件的格式信息来构建全新的输入文件,从而可以完整的地构造出所有可能存在的输入情况,使得生成的输入数据的种类多,覆盖面更广,能够检测到漏洞的概率更大,可以有效减少漏检目标应用程序中存在的潜在漏洞的概率,从而提升漏洞挖掘效率。
[0138]图4为本发明实施例挖掘漏洞的装置结构示意图。参见图4,该装置包括:解析模块
41、提取模块42、遍历处理模块43、图片转换模块44以及漏洞分析模块45,其中,
[0139]解析模块41,用于获取用于漏洞挖掘的输入文件,解析所述输入文件;
[0140]本发明实施例中,作为一可选实施例,解析模块41包括:注入单元、运行单元以及文件解析单元(图中未示出),其中,
[0141]注入单元,用于在电子设备的数据接收接口注入预先设置的文件截获处理脚本;
[0142]本发明实施例中,文件截获处理脚本是Windows操作系统中用于监测和处理进程操作的钩子程序。
[0143]运行单元,用于运行已注入的文件截获处理脚本,以使文件截获处理脚本截获发送至所述电子设备的数据接收接口的文件;
[0144]文件解析单元,用于解析运行单元截获的文件。
[0145]本发明实施例中,作为一可选实施例,解析模块41还包括:
[0146]权限设置单元,用于获取操作系统的根权限;调用Windows操作系统的SetWindowsHookEx接口,设置用于监测和处理数据接收进程操作的文件截获处理脚本。
[0147]本发明实施例中,注入单元包括:写入子单元以及映射子单元,其中,
[0148]写入子单元,用于将所述文件截获处理脚本中用于监测及截获文件的内存变量对应的代码写入动态链接库中;
[0149]映射子单元,用于利用操作系统中的windows钩子技术,将写入动态链接库中的内存变量代码映射到所述数据接收接口对应的应用程序中。
[0150]提取模块42,如果解析的输入文件包含有结构体头部描述信息,提取所述结构体头部描述信息中的图片兼容类型信息;
[0151]本发明实施例中,作为一可选实施例,结构体头部描述信息中,包含有文件的大小信息、数据块信息、数据块在文件的位置信息、图片兼容类型信息等。
[0152]图片兼容类型信息包括:位图、个人电脑交换、标签图像文件格式、图形交换格式、联合照片专家组、标记图形、可交换的图像文件格式、闪光照片、可缩放矢量图形、Photoshop图像处理文件、图纸交换格式、封装式页描述语言、便携式网络图形以及高动态范围成像。
[0153]本发明实施例中,作为一可选实施例,如果解析的输入文件不包含有结构体头部描述信息,则按照现有技术进行处理。
[0154]遍历处理模块43,用于遍历所述输入文件中包含的图片类型信息,从所述图片兼容类型信息中,滤除所述输入文件中包含的图片类型信息,得到图片冗余类型信息;
[0155]本发明实施例中,如果输入文件中包含的图片类型信息为BMP,则从所述图片兼容类型信息中,滤除所述输入文件中包含的图片类型信息,得到图片冗余类型信息,即图片兼容类型信息中,与遍历的图片类型信息不同的图片冗余类型信息,包括:PCX、TIFF、GIF、JPEG、TG、EXIF、FPX、SVG、PSD、DXF、EPS、PNG 以及 HDRI。
[0156]图片转换模块44,用于按照所述图片冗余类型信息分别对所述输入文件中包含的图片进行转换,依据每一进行图片转换的输入文件构建一输入文件拷贝;
[0157]本发明实施例中,在判断解析的输入文件存在结构体头部描述信息后,根据获取的图片冗余类型信息,对图片进行相应转换。
[0158]漏洞分析模块45,用于依次运行所述输入文件拷贝,获取运行所述输入文件拷贝的运行结果信息,依据所述运行结果信息确定运行所述输入文件拷贝的目标应用程序是否存在漏洞。
[0159]本发明实施例中,作为一可选实施例,图5为本发明实施例的漏洞分析模块结构示意图。参见图5,该漏洞分析模块包括:文件运行单元51、进程运行时间获取单元52、总进程运行时间计算单元53、占比计算单元54、运行信息导出单元55以及漏洞分析单元56,其中,
[0160]文件运行单元51,用于依次运行所述输入文件拷贝;
[0161]进程运行时间获取单元52,用于按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间;
[0162]本发明实施例中,作为一可选实施例,进程运行时间获取单元52包括:参数设置子单元、进程运行时间获取子单元以及计数处理子单元(图中未示出),其中,
[0163]参数设置子单元,用于设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
[0164]进程运行时间获取子单元,用于触发所述进程运行时间获取函数遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间信息;
[0165]计数处理子单元,用于所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间信息打包输出,并对计数值进行清零处理。
[0166]总进程运行时间计算单元53,用于统计各进程在每一时间周期内的进程运行时间的总和,得到总进程运行时间;
[0167]占比计算单元54,用于提取运行所述输入文件拷贝的目标进程在每一时间周期内的目标进程运行时间,计算所述目标进程运行时间在所述总进程运行时间的占比;
[0168]运行信息导出单元55,用于统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标进程在所述时间周期数内的运行信息;
[0169]漏洞分析单元56,用于依据导出的所述运行结果信息确定运行所述输入文件拷贝的目标应用程序是否存在漏洞。
[0170]本发明实施例中,作为另一可选实施例,漏洞分析模块还包括:
[0171 ]运行处理单元57,用于结束所述输入文件拷贝的运行;判断当前运行的所述输入文件拷贝是否为最后一输入文件拷贝,如果是,结束所述目标进程;如果不是,在所述目标进程中运行下一输入文件拷贝。
[0172]作为再一可选实施例,漏洞分析模块还包括:
[0173]过滤单元58,用于过滤运行结果信息中预先设置的非模糊数据运行产生的异常信息,输出至漏洞分析单元。
[0174]作为一可选实施例,该装置还包括:
[0175]
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1