The embodiment of the present invention provides a vulnerability detection method and device. The method includes: judging whether there is driver denial of Service Vulnerability Detection task; acquiring driver symbolic links corresponding to each driver in the system without driver denial of Service Vulnerability Detection task; detecting the range of IO control codes of each driver according to driver symbolic links; and determining at least one effective IO control code based on detection results; Determine the first target driver corresponding to each effective IO control code; generate the first target detection tasks corresponding to each first target driver; construct input and output parameters according to the set rules; poll the first target detection tasks according to the input and output parameters; and determine whether there is driver denial of service in each first target driver according to the test results. Loophole. The invention has low technical requirements for operators, more comprehensive and rapid vulnerability testing, and saves human cost.
【技术实现步骤摘要】
一种漏洞检测方法及装置
本专利技术涉及计算机安全
,特别是涉及一种漏洞检测方法及装置。
技术介绍
驱动程序拒绝服务漏洞是软件漏洞的一种,一旦发生将导致计算机蓝屏,从而导致拒绝服务。在驱动程序工作在内核模式下,驱动程序拥有最高执行权限,如果驱动程序产生错误,将导致系统遭到破坏,例如,应用层通过DeviceIoControl函数传递错误或者非法的参数或者畸形数据给驱动程序,如果驱动程序设计不严谨,会导致驱动程序产生异常,并使系统发生崩溃。现有技术中,通常是采用人工挖掘驱动程序拒绝服务漏洞,需要人员具备相关专业技术(逆向、编程),要求较高,人工挖掘效率低下,并且容易漏掉部分驱动未检测的缺陷。
技术实现思路
本专利技术提供了一种漏洞检测方法及装置,以解决现有技术中人工挖掘漏洞需要人员具备较高专业技术,且效率低,容易漏掉部分区域未进行漏洞检测的问题。为了解决上述问题,本专利技术是这样实现的:第一方面,本专利技术实施例提供了一种漏洞检测方法,包括:判断是否存在驱动程序拒绝服务漏洞检测任务;在不存在驱动程序拒绝服务漏洞检测任务的情况下,则获取系统中的各驱动程序对应的驱动符号链 ...
【技术保护点】
1.一种漏洞检测方法,其特征在于,包括:判断是否存在驱动程序拒绝服务漏洞检测任务;在不存在驱动程序拒绝服务漏洞检测任务的情况下,则获取系统中的各驱动程序对应的驱动符号链接;依据所述驱动符号链接,探测各所述驱动程序的IO控制码范围;依据探测结果,确定至少一个有效IO控制码;确定各所述有效IO控制码对应的第一目标驱动程序;生成与各所述第一目标驱动程序对应的第一目标检测任务;按照设定规则构造输入输出参数;依据所述输入输出参数对各所述第一目标检测任务进行轮询测试;依据各测试结果,确定各所述第一目标驱动程序是否存在驱动程序拒绝服务漏洞。
【技术特征摘要】
1.一种漏洞检测方法,其特征在于,包括:判断是否存在驱动程序拒绝服务漏洞检测任务;在不存在驱动程序拒绝服务漏洞检测任务的情况下,则获取系统中的各驱动程序对应的驱动符号链接;依据所述驱动符号链接,探测各所述驱动程序的IO控制码范围;依据探测结果,确定至少一个有效IO控制码;确定各所述有效IO控制码对应的第一目标驱动程序;生成与各所述第一目标驱动程序对应的第一目标检测任务;按照设定规则构造输入输出参数;依据所述输入输出参数对各所述第一目标检测任务进行轮询测试;依据各测试结果,确定各所述第一目标驱动程序是否存在驱动程序拒绝服务漏洞。2.根据权利要求1所述的方法,其特征在于,在所述依据探测结果,确定至少一个有效IO控制码的步骤之后,还包括:依据各所述有效IO控制码,生成与各所述有效IO控制码对应的第一目标检测日志;所述依据各测试结果,确定各所述第一目标驱动程序是否存在驱动程序拒绝服务漏洞的步骤,包括:针对各测试结果,依次判断所述测试结果中是否存在系统崩溃的记录;在存在系统崩溃的记录的情况下,则确定所述测试结果对应的第一目标驱动程序存在驱动程序拒绝服务漏洞;分析各所述第一目标检测任务和各所述第一目标检测日志,生成漏洞测试记录;退出漏洞检测任务。3.根据权利要求1所述的方法,其特征在于,在所述依据各测试结果,确定各所述第一目标驱动程序是否存在驱动程序拒绝服务漏洞的步骤之后,还包括:在确定不存在驱动程序拒绝服务漏洞的情况,检测是否存在至少一个目标有效IO控制码;其中,所述目标有效IO控制码是指除所述有效IO控制码之外的控制码;在存在目标有效IO控制码的情况下,确定与各所述目标有效IO控制码对应的第二目标驱动程序;生成与各所述第二目标驱动程序对应的第二目标检测任务;依据所述输入输出参数对各所述第二目标检测任务进行轮询测试,以确定各所述第二目标驱动程序是否存在驱动程序拒绝服务漏洞。4.根据权利要求3所述的方法,其特征在于,在所述检测是否存在至少一个目标有效IO控制码的步骤之后,还包括:在不存在目标有效IO控制码的情况下,检查系统中是否存在未检测的IO控制码;在存在未检测的IO控制码的情况下,则执行所述生成与各所述第一目标驱动程序对应的第一目标检测任务的步骤;在不存在未检测的IO控制码的情况下,则执行所述获取系统中的各驱动程序对应的驱动符号链接的步骤。5.根据权利要求1所述的方法,其特征在于,所述按照设定规则构造输入输出参数的步骤,包括:依据系统中的随机数或空指针构造所述输入输出参数。6.一种漏洞检测装置,其特征在于,包括:漏洞检测任务判断模块,用于判断是否存在驱动程序拒绝服务漏洞检测任务;驱动符号链接获取模块,用于在不存在驱动程序拒绝服务漏洞检测任务的情况下,则获取系统中的各驱动程序对应的驱动符号链接;控制码范围探测模块,用于依据所述驱动符号链接,探测各所述驱动程序的IO控...
【专利技术属性】
技术研发人员:王志刚,彭洪涛,王志海,喻波,
申请(专利权)人:北京明朝万达科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。