CN111565198B - 一种漏洞检测方法及相关设备 - Google Patents
一种漏洞检测方法及相关设备 Download PDFInfo
- Publication number
- CN111565198B CN111565198B CN202010670713.4A CN202010670713A CN111565198B CN 111565198 B CN111565198 B CN 111565198B CN 202010670713 A CN202010670713 A CN 202010670713A CN 111565198 B CN111565198 B CN 111565198B
- Authority
- CN
- China
- Prior art keywords
- test rule
- vulnerability detection
- rule
- verification test
- detected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种漏洞检测方法及相关设备,该方法包括:接收配置服务器下发的包括待检测IP地址以及验证性测试规则标识的漏洞检测任;从预置验证性测试规则库中确定与验证性测试规则标识相匹配的目标验证性测试规则,预置验证性测试规则库中的验证性测试规则是配置服务器基于验证性测试规则配置网页中的配置参数生成的;确定待检测IP地址‑验证性测试规则标识对;将每个待检测IP地址‑验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则作为相应待检测IP地址所对应的目标验证性测试规则;根据每个待检测IP地址对应的目标验证性测试规则对待检测IP地址进行漏洞检测。本发明提高了漏洞检测的灵活性和时效性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种漏洞检测方法及相关设备。
背景技术
漏洞是指一个系统存在的弱点或缺陷,系统对特定威胁攻击或危险事件的敏感性,或进行攻击的威胁作用的可能性。漏洞可能来自应用软件或操作系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。漏洞的存在,很容易导致黑客的侵入及病毒的驻留,进而导致数据丢失和篡改、隐私泄露乃至金钱上的损失,因此需要及时地发现漏洞以进行及时修复,避免不必要的损失。
相关技术中,在进行漏洞检测时,对于新出现的漏洞只能等待官方漏洞库的更新推送才可以实现对新漏洞的检测,从而无法在第一时间开始对检测对象的漏洞扫描检测,漏洞检测的灵活性和时效性差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种漏洞检测方法及相关设备。所述技术方案如下:
一方面,提供了一种漏洞检测方法,应用于漏洞检测服务器,所述方法包括:
接收配置服务器下发的漏洞检测任务;所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识;
从预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则;所述预置验证性测试规则库中的验证性测试规则是所述配置服务器基于验证性测试规则配置网页中的配置参数生成的;
根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对;
将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则,作为相应待检测IP地址所对应的目标验证性测试规则;
根据每个所述待检测IP地址对应的目标验证性测试规则,对所述待检测IP地址进行漏洞检测。
另一方面,提供了一种漏洞检测装置,配置于漏洞检测服务器,所述漏洞检测装置包括:
接收模块,用于接收配置服务器下发的漏洞检测任务;所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识;
第一确定模块,用于从预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则;所述预置验证性测试规则库中的验证性测试规则是所述配置服务器基于验证性测试规则配置网页中的配置参数生成的;
第二确定模块,用于根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对;
第三确定模块,用于将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则,作为相应待检测IP地址所对应的目标验证性测试规则;
漏洞检测模块,用于根据每个所述待检测IP地址对应的目标验证性测试规则,对所述待检测IP地址进行漏洞检测。
可选的,所述装置还包括:
子任务集构建模块,用于根据所述至少一个待检测IP地址-验证性测试规则标识对,构建漏洞检测子任务集;所述漏洞检测子任务集中每个漏洞检测子任务与一个待检测IP地址-验证性测试规则标识对相对应。
相应的,所述漏洞检测模块,具体用于在当前线程中启动所述漏洞检测子任务集中的每个漏洞检测子任务,根据所述每个漏洞检测子任务中的目标验证性测试规则对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
可选的,所述配置参数包括验证性测试规则的规则类型;所述规则类型包括主机类型;
相应的,所述装置还包括:
第四确定模块,用于确定所述至少一个目标验证性测试规则中规则类型为主机类型的目标验证性测试规则;
源码获取模块,用于获取所述规则类型为主机类型的目标验证性测试规则中的验证测试源码;
实例化模块,用于在内存中运行所述验证性测试源码,得到所述规则类型为主机类型的目标验证性测试规则的实例化对象。
可选的,所述漏洞检测模块包括:
第一判断模块,用于判断所述漏洞检测子任务中目标验证性测试规则的规则类型是否为主机类型;
调用模块,用于在第一判断模块判断的结果为是时,调用所述目标验证性测试规则的实例化对象;
第一漏洞检测子模块,用于根据所述目标验证性测试规则的实例化对象对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
可选的,所述漏洞检测模块还包括:
请求生成模块,用于在第一判断模块判断的结果为否时,根据所述目标验证性测试规则生成session请求;
第二漏洞检测子模块,用于根据所述session请求对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
可选的,所述漏洞检测任务中还包括任务执行方式;所述任务执行方式包括按照预设时间间隔的循环执行;
相应的,所述装置还包括:
日志生成模块,用于根据漏洞检测的结果生成漏洞检测日志;
第二判断模块,用于判断所述任务执行方式是否为按照预设时间间隔的循环执行;
循环执行模块,用于在第二判断模块判断的结果为是,根据所述预设时间间隔重复执行所述对所述待检测IP地址的漏洞检测,根据每次漏洞检测的结果对所述漏洞检测日志进行更新,直至满足所述任务执行方式的结束条件。
另一方面,提供一种漏洞检测方法,应用于配置服务器,所述方法包括:
展示验证性测试规则配置网页;所述验证性测试规则配置网页中包括验证性测试规则中配置参数的输入区域,所述输入区域用于根据输入操作获取所述配置参数;
响应于配置完成指令,对所述验证性测试规则配置网页进行表单提取,得到验证性测试规则;
将所述验证性测试规则存储至预置验证性测试规则库;
在接收到漏洞检测任务的下发指令时,获取所述漏洞检测任务,所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识;
将所述漏洞检测任务下发给漏洞检测服务器,以使所述漏洞检测服务器在接收到所述漏洞检测任务后,从所述预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则;根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对;将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则作为相应待检测IP地址所对应的目标验证性测试规则;根据每个待检测IP地址对应的目标验证性测试规则,对所述待检测IP地址进行漏洞检测。
另一方面,提供了一种漏洞检测设备,配置于配置服务器,所述漏洞检测设备包括:
展示模块,用于展示验证性测试规则配置网页;所述验证性测试规则配置网页中包括验证性测试规则中配置参数的输入区域,所述输入区域用于根据输入操作获取所述配置参数;
提取模块,用于响应于配置完成指令,对所述验证性测试规则配置网页进行表单提取,得到验证性测试规则;
存储模块,用于将所述验证性测试规则存储至预置验证性测试规则库;
获取模块,用于在接收到漏洞检测任务的下发指令时,获取所述漏洞检测任务,所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识;
任务下发模块,用于将所述漏洞检测任务下发给漏洞检测服务器,以使所述漏洞检测服务器在接收到所述漏洞检测任务后,从所述预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则;根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对;将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则作为相应待检测IP地址所对应的目标验证性测试规则;根据每个所述待检测IP地址对应的目标验证性测试规则,对所述待检测IP地址进行漏洞检测。
可选的,所述配置参数包括验证性测试规则的规则类型;所述规则类型包括主机类型;
相应的,所述提取模块包括:
第三判断模块,用于判断所述验证性测试规则的规则类型是否为主机类型;
第一提取子模块,用于在第三判断模块判断的结果为是时,从所述验证性测试规则配置网页中提取验证测试源码,根据所述验证性测试源码生成验证性测试规则;
第二提取子模块,用于在第三判断模块判断的结果为否时,提取所述验证性测试规则配置网页的网页表单,根据所述网页表单生成验证性测试规则。
另一方面,提供了一种漏洞检测服务器,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现上述漏洞检测服务器侧的漏洞检测方法。
另一方面,提供了一种配置服务器,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现上述配置服务器侧的漏洞检测方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如上述的漏洞检测方法。
本发明实施例根据接收的漏洞检测任务,从预置验证性测试规则库中确定至少一个目标验证性测试规则,并基于该至少一个目标验证性测试规则对待检测IP地址进行漏洞检测,其中,预置验证性测试规则库中的验证性测试规则是配置服务器基于验证性测试规则配置网页中的配置参数生成的,从而基于自定义的验证性测试规则实现了对至少一个待检测IP地址的漏洞检测,当有新漏洞出现时,无需等待官方漏洞库的更新推送即可在第一时间基于自定义的验证性测试规则进行漏洞扫描检测,使得漏洞检测的灵活性和时效性大大提高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种漏洞检测方法的系统架构图;
图2是本发明实施例提供的一种漏洞检测方法的流程示意图;
图3是本发明实施例提供的验证性测试规则配置网页的可选界面的示意图;
图4是本发明实施例提供的另一种漏洞检测方法的流程示意图;
图5是本发明实施例提供的另一种漏洞检测方法的流程示意图;
图6是本发明实施例提供的另一种漏洞检测方法的流程示意图;
图7是本发明实施例提供的另一种漏洞检测方法的流程示意图;
图8是本发明实施例提供的一种漏洞检测装置的结构示意图;
图9是本发明实施例提供的一种漏洞检测设备的结构示意图;
图10是本发明实施例提供的一种服务器的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,其所示为本发明实施例提供的漏洞检测方法的系统架构图,该系统可以包括通过网络连接的配置服务器110、漏洞检测服务器120和预置验证性测试规则库130,该网络连接可以是无线网络也可以是有线网络,本发明对此不作具体限定。
配置服务器110可以用于进行验证性测试规则的配置,并将配置好的验证性测试规则存储至预置验证性测试规则库130中,该预置验证性测试规则库130可以位于配置服务器110本地,也可以是如图1所示为独立的数据库,当其为独立的数据库时,预置验证性测试规则库130可以与漏洞检测服务器120通过网络进行连接通信。
配置服务器110还可以在接收到漏洞检测任务的下发指令时,获取漏洞检测任务,该漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识,配置服务器110将该漏洞检测任务下发给漏洞检测服务器120,相应的,漏洞检测服务器120则根据接收的漏洞检测任务进行漏洞检测。
漏洞检测服务器120在根据接收的漏洞检测任务进行漏洞检测时,从预置验证性测试过规则库130中确定与至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则,并根据至少一个待检测IP地址以及至少一个验证性测试规则标识确定至少一个待检测IP地址-验证性测试规则标识对,将每个待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则作为相应待检测IP地址的所对应的目标验证性测试规则,进而根据每个待检测IP地址对应的目标验证性测试规则对该待检测IP地址进行漏洞检测。
本发明实施例的上述系统架构中可以实现对验证性测试规则的自定义,并基于自定义的验证性测试规则实现对至少一个待检测IP地址的漏洞检测,从而在新漏洞出现时,无需等待官方漏洞库的更新推送即在可第一时间基于自定义的验证性测试规则进行漏洞扫描检测,使得漏洞检测的灵活性和时效性大大提高。
请参阅图2,其所示为本发明实施例提供的一种漏洞检测方法的流程示意图,该方法可以应用于图1中的漏洞检测服务器。需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201,接收配置服务器下发的漏洞检测任务。
其中,漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识。验证性测试规则标识用于唯一标识一个验证性测试规则,验证性测试规则即为POC(Proof of Concept)测试规则。
本说明书实施例中,配置服务器可以提供漏洞检测任务的配置界面,在该配置界面中可以进行待检测IP地址的添加,以及验证性测试规则标识(例如ID)的添加。实际应用中,添加的待检测IP地址常常还包括该IP地址的端口信息。配置服务器在接收到漏洞检测任务配置完成的指令时,可以根据配置界面中添加的待检测IP地址和验证性测试规则标识生成漏洞检测任务,而在接收到漏洞检测任务的下发指令时,可以获取漏洞检测任务,将该漏洞检测任务下发给漏洞检测服务器。
相应的,漏洞检测服务器接收到配置服务器下发的漏洞检测任务。
S203,从预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则。
其中,所述预置验证性测试规则库中的验证性测试规则是所述配置服务器基于验证性测试规则配置网页中的配置参数生成的。
具体的,配置服务器可以预先进行验证性测试规则的配置,下面介绍配置服务器对于验证性测试规则的配置过程。
配置服务器可以展示验证性测试规则配置网页,该网页中可以包括验证性测试规则中配置参数的输入区域,该输入区域用于根据输入操作获取配置参数。其中,配置参数可以包括规则类型,该规则类型可以包括主机类型和web类型,实际应用中,规则类型可以体现为poc类型,例如poc类型可以包括SCRIPT、 GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS等等,当poc类型为GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS时可以确定相应的规则类型为web类型,当poc类型为SCRIPT时可以确定相应的规则类型为主机类型。
本说明书实施例中,主机类型和web类型所对应的验证性测试规则配置网页中的配置参数可以不同,对于主机类型的验证性测试规则,其配置参数中包括输入的验证性测试源码,如图3中(a)所示界面的示意图;而对于web类型的验证性测试规则,其配置参数中可以包括路径、请求头、请求体等,不需输入验证性测试源码,如图3中(b)所示界面的示意图。
配置服务器响应于配置完成指令,对验证性测试规则配置网页进行表单提取,得到验证性测试规则。具体的,在验证性测试规则配置完成时,可以通过对完成配置控件的触发向配置服务器发送配置完成指令,配置服务器则可以响应于该配置完成指令,对验证性测试规则配置网页进行表单提取,得到验证性测试规则。
在一个可能的实现方式中,配置服务器对验证性测试规则配置网页进行表单提取,得到验证性测试规则可以包括:判断验证性测试规则的规则类型是否为主机类型;在判断的结果为是时,从验证性测试规则配置网页中提取验证性测试源码,根据该验证性测试源码生成验证性测试规则;在判断的结果为否时,表明验证性测试规则的规则类型是web类型,此时可以提取验证性测试规则配置网页的网页表单,直接根据网页表单生成验证性测试规则,实现了对于web类型的验证性测试规则的快速配置。
配置服务器在得到验证性测试规则后,将所述验证性测试规则存储至预置验证性测试规则库。具体的实施中,配置服务器为验证性测试规则分配用于唯一标识的验证性测试规则标识,并建立验证性测试规则标识与验证性测试规则之间的对应关系,在将验证性测试规则存储至预设验证性测试规则库时同时将相应的对应关系也一并存储。此外,配置服务器还在本地进行验证性测试规则标识的存储,以供漏洞检测任务配置时对于验证性测试规则标识的添加。
本发明实施例通过配置服务器实现了对于验证性测试规则的自定义,用户可以根据实际出现的漏洞如一个新的漏洞来定义相应的验证性测试规则,从而可以能够及时根据该自定义的验证性测试规则实现对该新漏洞的扫描。
漏洞检测服务器在接收到漏洞检测任务后,即从预置验证性测试规则库中确定与漏洞检测任务中的至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则,具体的,可以根据验证性测试规则标识与验证性测试规则之间的对应关系来确定上述目标验证性测试规则。
S205,根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对。
在一个可能的实现方式中,可以计算至少一个待检测IP地址组成的待检测IP地址集合与至少一个验证性测试规则标识组成的验证性测试规则标识集合之间的笛卡尔积,将该笛卡尔积中的元素作为待检测IP地址-验证性测试规则标识对。
举例而言,至少一个待检测IP地址组成的待检测IP地址集合为集合A={IP1,IP2},至少一个验证性测试规则标识组成的验证性测试规则标识集合为集合B={a,b},则计算集合A与集合B的笛卡尔积AxB={(IP1,a),(IP1,b),(IP2,a),(IP2,b)},从而得到的待检测IP地址-验证性测试规则标识对为4个,分别为:IP1-->a,IP1-->b,IP2-->a,IP2-->b。
可以理解的,上述只是确定待检测IP地址-验证性测试规则标识对的一个示例,实际应用中还可以采用其他方式,本发明对此不作具体限定。
S207,将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则,作为相应待检测IP地址所对应的目标验证性测试规则。
例如,待检测IP地址-验证性测试规则标识对分别为IP1-->a,IP1-->b,IP2-->a,IP2-->b,其中,验证性测试规则标识a对应的目标验证性测试规则为X,验证性测试规则标识b对应的目标验证性测试规则为Y,则,待检测IP地址与目标验证性测试规则的对应关系为:IP1-->X,IP1-->Y,IP2-->X,IP2-->Y。
S209,根据每个所述待检测IP地址对应的目标验证性测试规则,对所述待检测IP地址进行漏洞检测。
漏洞检测服务器在确定了各待检测IP地址对应的目标验证性测试规则之后,即可根据每个待检测IP地址对应的目标验证性测试规则对相应的待检测IP地址进行漏洞检测,从而基于自定义的验证性测试规则实现了对至少一个待检测IP地址的漏洞检测,当有新漏洞出现时,无需等待官方漏洞库的更新推送即可在第一时间基于自定义的验证性测试规则进行漏洞扫描检测,使得漏洞检测的灵活性和时效性大大提高。
实际应用中,当漏洞检测服务器在根据每个待检测IP地址对应的目标验证性测试规则对相应待检测IP地址进行漏洞检测时,常会出现由于资源占用过大导致的进程被系统强行结束或造成服务崩溃的现象,为了避免该现象的出现,本发明实施例还提供了如图4所示的另一种漏洞检测方法,应用于漏洞检测服务器,该方法可以包括:
S401,接收配置服务器下发的漏洞检测任务。
其中,漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识。验证性测试规则标识用于唯一标识一个验证性测试规则,验证性测试规则即为POC(Proof of Concept)测试规则。
S403,从预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则。
其中,所述预置验证性测试规则库中的验证性测试规则是所述配置服务器基于验证性测试规则配置网页中的配置参数生成的。
S405,根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对。
关于步骤S401至步骤S405的详细内容可以参见前述图2所示方法实施例中的相关具体描述,在此不再赘述。
S407,根据所述至少一个待检测IP地址-验证性测试规则标识对,构建漏洞检测子任务集。
其中,所述漏洞检测子任务集中每个漏洞检测子任务与一个待检测IP地址-验证性测试规则标识对相对应。
举例而言,得到的待检测IP地址-验证性测试规则标识对为4个,分别为:IP1-->a,IP1-->b,IP2-->a,IP2-->b,则构建的漏洞检测子任务集中包括4个子任务分别为T1,T2,T3,T4,其中,T1与IP1-->a对应,T2与IP1-->b对应,T3与IP2-->a对应,T4与IP2-->b。
S409,将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则,作为相应待检测IP地址所对应的目标验证性测试规则。
例如,待检测IP地址-验证性测试规则标识对分别为IP1-->a,IP1-->b,IP2-->a,IP2-->b,其中,验证性测试规则标识a对应的目标验证性测试规则为X,验证性测试规则标识b对应的目标验证性测试规则为Y,则,待检测IP地址与目标验证性测试规则的对应关系为:IP1-->X,IP1-->Y,IP2-->X,IP2-->Y。
S411,在当前线程中启动所述漏洞检测子任务集中的每个漏洞检测子任务,根据所述每个漏洞检测子任务中的目标验证性测试规则对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
举例而言,构建的漏洞检测子任务集中包括4个子任务分别为T1,T2,T3,T4,其中,T1与IP1-->a对应,T2与IP1-->b对应,T3与IP2-->a对应,T4与IP2-->b,在当前线程中将T1,T2,T3,T4都启动,T1在执行时根据目标验证性测试规则X对IP1进行漏洞检测,T2在执行时根据目标验证性测试规则Y对IP1进行漏洞检测,T3在执行时根据目标验证性测试规则X对IP2进行漏洞检测,T4在执行时根据目标验证性测试规则Y对IP2进行漏洞检测。
实际应用中,步骤S411在执行时还可以获取当前线程中的最大子任务并发数,当漏洞检测子任务集中的漏洞检测子任务的数量超过最大子任务并发数时,按照最大子任务并发数在当前线程中启动漏洞检测子任务,当某个或者某几个已启动的漏洞检测子任务执行结束后,再启动漏洞检测子任务集中剩余的未被启动的漏洞检测子任务,但要确保当前线程中正在执行的漏洞检测子任务的数量不超过最大子任务并发数,以提高漏洞检测任务的执行效率。
在另一个可能的实施方式中,为了进一步提高漏洞检测任务的执行效率,步骤S411在执行时还可以获取漏洞检测子任务的最大执行时间,当漏洞检测子任务的执行时间超过最大执行时间时,则可以结束对该漏洞检测子任务的执行,以提高漏洞检测任务的执行效率并节约资源。
本说明书实施例中,在当前线程中启动漏洞检测子任务集中的所有漏洞检测子任务,而每个漏洞检测子任务在执行时根据该漏洞检测子任务中的目标验证性测试规则对其中的待检测IP地址进行漏洞检测,使得各个漏洞检测子任务能够在单线程中异步运行,避免了多个线程检测时对于资源的过大占用,进而可以有效避免因资源占用过大导致的进程被系统强行结束或造成服务崩溃现象。
为了进一步降低漏洞检测过程对于漏洞服务器资源的占用并提高漏洞检测的效率,在一个可能的实施方式中,如图5所示,漏洞检测服务器在根据每个所述待检测IP地址对应的目标验证性测试规则,对所述待检测IP地址进行漏洞检测之前,漏洞检测服务器还可以执行以下步骤:
S501,确定所述至少一个目标验证性测试规则中规则类型为主机类型的目标验证性测试规则。
例如,当规则类型为SCRIPT时,可以确定为主机类型的目标验证性测试规则。当规则类型不是SCRIPT时,可以确定其不是主机类型。
S503,获取所述规则类型为主机类型的目标验证性测试规则中的验证测试源码。
由于配置服务器在进行验证性测试规则配置时,对于主机类型的验证性测试规则是根据从验证性测试规则配置网页中提取的验证性测试源码生成的,因此,漏洞检测服务器在确定目标验证性测试规则为主机类型时,可以从该目标验证性测试规则中获取相应的验证性测试源码。
S505,在内存中运行所述验证性测试源码,得到所述规则类型为主机类型的目标验证性测试规则的实例化对象。
实际应用中,为了便于后续对于实例化对象的调用,漏洞检测服务器在得到规则类型为主机类型的目标验证性测试规则的实例化对象后,还可以对该实例化对象进行存储,具体的实施中,可以采用key-value的方式进行存储,其中key为验证性测试规则标识,value为相应的实例化对象。
可以理解的,步骤S501至步骤S505可以在漏洞检测服务器从预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则之后即执行,而不限于图5所示的在步骤S409之后。
那么,漏洞服务器在根据所述每个漏洞检测子任务中的目标验证性测试规则对所述漏洞检测子任务中的待检测IP地址进行漏洞检测时即可以采用图5中的以下步骤:
S507,判断所述漏洞检测子任务中目标验证性测试规则的规则类型是否为主机类型。
例如,若漏洞检测子任务中目标验证性测试规则的规则类型为SCRIPT,则可以确定为主机类型;若漏洞检测子任务中目标验证性测试规则的规则类型为GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS,则可以确定为web类型。
针对任一漏洞检测子任务,若判断的结果为该漏洞检测子任务中目标验证性测试规则的规则类型为主机类型,则可以执行步骤S509至步骤S511;若判断的结果为该漏洞检测子任务中目标验证性测试规则的规则类型为web类型,则可以执行步骤S513至步骤S515。
S509,调用所述目标验证性测试规则的实例化对象。
具体的,可以以该目标验证性测试规则对应的验证性测试规则标识为key,查询该key对应的value,进而可以确定该目标验证性测试规则对应的实例化对象,然后调用该实例化对象。
S511,根据所述目标验证性测试规则的实例化对象对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
S513,根据所述目标验证性测试规则生成session请求。
S515,根据所述session请求对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
漏洞检测服务器通过将主机类型的目标验证性测试规则进行实例化,后续直接调用实例化对象进行漏洞检测,不仅提高了漏洞检测的效率,而且避免了将验证性测试规则作为静态代码文本存储在漏洞检测服务器的本地,降低了对于资源的占用。
在一个可能的实施方式中,配置服务器在配置漏洞检测任务时,可以对任务执行方式进行设定,具体的可以设定为按照预设时间间隔的循环执行,当然,还包括该任务执行方式的结束条件,例如,当任务执行方式为按照预设时间间隔的循环执行时,结束条件可以是循环执行的次数达到预设次数。其中,预设时间间隔可以根据实际需要进行设定,例如设定为3秒、10秒等;预设次数也可以根据实际需要进行设定,例如设定为3次、5次等。
相应的,请参阅图6,其所示为本发明实施例提供的另一种漏洞检测方法的流程示意图,应用于漏洞检测服务器,如图6所示,该方法可以包括:
S601,接收配置服务器下发的漏洞检测任务。
其中,所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识,该漏洞检测任务中还包括任务执行方式,该任务执行方式可以包括按照预设时间间隔的循环执行。
S603,从预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则。
其中,所述预置验证性测试规则库中的验证性测试规则是所述配置服务器基于验证性测试规则配置网页中的配置参数生成的;
S605,根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对。
S607,将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则,作为相应待检测IP地址所对应的目标验证性测试规则。
S609,根据每个所述待检测IP地址对应的目标验证性测试规则,对所述待检测IP地址进行漏洞检测。
其中,步骤S601至步骤S609的具体内容可以参见本说明书实施例的前述相关内容中的描述,在此不再赘述。
S611,根据漏洞检测的结果生成漏洞检测日志。
S613,判断所述任务执行方式是否为按照预设时间间隔的循环执行。
具体的,漏洞检测服务器在对每个待检测IP地址都进行了一次漏洞检测后,可以根据漏洞检测的结果生成漏洞检测日志,此时判断漏洞检测任务中的任务执行方式是否为按照预设时间间隔的循环执行,若是,则执行步骤S615。
S615,根据所述预设时间间隔重复执行所述对所述待检测IP地址的漏洞检测,根据每次漏洞检测的结果对所述漏洞检测日志进行更新,直至满足所述任务执行方式的结束条件。
当任务执行方式为按照预设时间间隔的循环执行时,漏洞检测服务器可以先存储上一次漏洞检测生成的漏洞检测日志,然后重复执行步骤S601至步骤S609,并根据每次漏洞检测的结果对上一次漏洞检测日志进行更新,直至满足任务执行方式的结束条件,例如,重复执行的次数达到了预设次数时完成漏洞检测任务。
可以理解的,配置服务器在配置漏洞检测任务时还可以设置漏洞检测任务的定时执行,即漏洞检测任务的具体开始执行时间,例如每隔N天的某时某分开始执行。相应的,漏洞检测服务器可以根据漏洞检测任务的定时执行设置进行漏洞的检测。
请参阅图7,其所示为本发明实施例提供的另一种漏洞检测方法的流程示意图,该方法可以应用于配置服务器,如图7所示,该方法可以包括:
S701,展示验证性测试规则配置网页。
其中,所述验证性测试规则配置网页中包括验证性测试规则中配置参数的输入区域,所述输入区域用于根据输入操作获取所述配置参数;配置参数可以包括规则类型,该规则类型可以包括主机类型和web类型,实际应用中,规则类型可以体现为poc类型,例如poc类型可以包括SCRIPT、 GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS等等。当poc类型为SCRIPT时可以确定相应的规则类型为主机类型,当poc类型为GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS时可以确定相应的规则类型为web类型。
本说明书实施例中,主机类型和web类型所对应的验证性测试规则配置网页中的配置参数可以不同,对于主机类型的验证性测试规则,其配置参数中包括输入的验证性测试源码,如图3中(a)所示界面的示意图;而对于web类型的验证性测试规则,其配置参数中可以包括路径、请求头、请求体等,不需输入验证性测试源码,如图3中(b)所示界面的示意图。
S703,响应于配置完成指令,对所述验证性测试规则配置网页进行表单提取,得到验证性测试规则。
具体的,在验证性测试规则配置完成时,可以通过对完成配置控件的触发向配置服务器发送配置完成指令,配置服务器则可以响应于该配置完成指令,对验证性测试规则配置网页进行表单提取,得到验证性测试规则。
在一个可能的实现方式中,配置服务器对验证性测试规则配置网页进行表单提取,得到验证性测试规则可以包括:判断验证性测试规则的规则类型是否为主机类型,例如,当poc类型为SCRIPT时可以确定规则类型为主机类型,当poc类型为GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS时可以确定规则类型为web类型;在判断的结果为规则类型是主机类型时,从验证性测试规则配置网页中提取验证性测试源码,根据该验证性测试源码生成验证性测试规则;在判断的结果为否时,表明验证性测试规则的规则类型是web类型,此时可以提取验证性测试规则配置网页的网页表单,直接根据网页表单生成验证性测试规则,实现了对于web类型的验证性测试规则的快速配置。
S705,将所述验证性测试规则存储至预置验证性测试规则库。
具体的实施中,配置服务器为验证性测试规则分配用于唯一标识的验证性测试规则标识,并建立验证性测试规则标识与验证性测试规则之间的对应关系,在将验证性测试规则存储至预设验证性测试规则库时同时将相应的对应关系也一并存储。此外,配置服务器还在本地进行验证性测试规则标识的存储,以供漏洞检测任务配置时对于验证性测试规则标识的添加。
S707,在接收到漏洞检测任务的下发指令时,获取所述漏洞检测任务,所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识。
具体的,配置服务器可以提供漏洞检测任务的配置界面,在该配置界面中可以进行待检测IP地址的添加,以及验证性测试规则标识(例如ID)的添加。实际应用中,添加的待检测IP地址常常还包括该IP地址的端口信息。配置服务器在接收到漏洞检测任务配置完成的指令时,可以根据配置界面中添加的待检测IP地址和验证性测试规则标识生成漏洞检测任务,而在接收到漏洞检测任务的下发指令时,可以获取漏洞检测任务,将该漏洞检测任务下发给漏洞检测服务器。
在一个可能的实施方式中,配置服务器在配置漏洞检测任务时还可以设置任务执行方式,该任务执行方式可以但不限于包括按照预设时间间隔的循环执行,当然,还包括该任务执行方式的结束条件,例如,当任务执行方式为按照预设时间间隔的循环执行时,结束条件可以是循环执行的次数达到预设次数。其中,预设时间间隔可以根据实际需要进行设定,例如设定为3秒、10秒等;预设次数也可以根据实际需要进行设定,例如设定为3次、5次等。
S709,将所述漏洞检测任务下发给漏洞检测服务器。
本发明实施例通过配置服务器实现了对于验证性测试规则的自定义,用户可以根据实际出现的漏洞如一个新的漏洞来定义相应的验证性测试规则,从而可以能够及时根据该自定义的验证性测试规则实现对该新漏洞的扫描。
此外,配置服务器将预先自定义的验证性测试规则存储至预置验证性测试规则库中,漏洞检测服务器可以根据漏洞检测任务从该预置验证性测试规则库中按需直接动态加载到内存中使用,从而不需要依赖大量的静态poc代码文件,不仅有利于提高漏洞检测效率,而且无需进行静态poc代码文件的转移,节约了人力、物力,减少了对资源的占用。
请参阅图8,其所示为本发明实施例提供的一种漏洞检测装置的结构示意图,该装置具有实现上述方法实施例中漏洞检测服务器侧的漏洞检测方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。由于本发明实施例提供的漏洞检测装置与上述几种实施例提供的漏洞检测服务器侧的漏洞检测方法相对应,因此前述漏洞检测服务器侧的漏洞检测方法的实施方式也适用于本实施例提供的漏洞检测装置,在本实施例中不再详细描述。如图8所示,该装置可以包括:
接收模块810,用于接收配置服务器下发的漏洞检测任务;所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识;
第一确定模块820,用于从预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则;所述预置验证性测试规则库中的验证性测试规则是所述配置服务器基于验证性测试规则配置网页中的配置参数生成的;
第二确定模块830,用于根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对;
第三确定模块840,用于将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则,作为相应待检测IP地址所对应的目标验证性测试规则;
漏洞检测模块850,用于根据每个所述待检测IP地址对应的目标验证性测试规则,对所述待检测IP地址进行漏洞检测。
在一个可能的实施方式中,该装置还可以包括:
子任务集构建模块,用于根据所述至少一个待检测IP地址-验证性测试规则标识对,构建漏洞检测子任务集;所述漏洞检测子任务集中每个漏洞检测子任务与一个待检测IP地址-验证性测试规则标识对相对应。
相应的,漏洞检测模块850,具体用于,在当前线程中启动所述漏洞检测子任务集中的每个漏洞检测子任务,根据所述每个漏洞检测子任务中的目标验证性测试规则对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
在另一个可能的实施方式中,所述配置参数包括验证性测试规则的规则类型;所述规则类型包括主机类型;相应的,该装置还可以包括:
第四确定模块,用于确定所述至少一个目标验证性测试规则中规则类型为主机类型的目标验证性测试规则;
源码获取模块,用于获取所述规则类型为主机类型的目标验证性测试规则中的验证测试源码;
实例化模块,用于在内存中运行所述验证性测试源码,得到所述规则类型为主机类型的目标验证性测试规则的实例化对象。
在另一个可能的实施方式中,漏洞检测模块850可以包括:
第一判断模块,用于判断所述漏洞检测子任务中目标验证性测试规则的规则类型是否为主机类型;
调用模块,用于在第一判断模块判断的结果为是时,调用所述目标验证性测试规则的实例化对象;
第一漏洞检测子模块,用于根据所述目标验证性测试规则的实例化对象对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
在另一个可能的实施方式中,漏洞检测模块850还可以包括:
请求生成模块,用于在第一判断模块判断的结果为否时,根据所述目标验证性测试规则生成session请求;
第二漏洞检测子模块,用于根据所述session请求对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
在另一个可能的实施方式中,漏洞检测任务中还包括任务执行方式;所述任务执行方式包括按照预设时间间隔的循环执行;相应的,该装置还可以包括:
日志生成模块,用于根据漏洞检测的结果生成漏洞检测日志;
第二判断模块,用于判断所述任务执行方式是否为按照预设时间间隔的循环执行;
循环执行模块,用于在第二判断模块判断的结果为是,根据所述预设时间间隔重复执行所述对所述待检测IP地址的漏洞检测,根据每次漏洞检测的结果对所述漏洞检测日志进行更新,直至满足所述任务执行方式的结束条件。
请参阅图9,其所示为本发明实施例提供的一种漏洞检测设备的结构示意图,该设备具有实现上述方法实施例中配置服务器侧的漏洞检测方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。由于本发明实施例提供的漏洞检测设备与上述几种实施例提供的配置服务器侧的漏洞检测方法相对应,因此前述配置服务器侧的漏洞检测方法的实施方式也适用于本实施例提供的漏洞检测设备,在本实施例中不再详细描述。如图9所示,该设备可以包括:
展示模块910,用于展示验证性测试规则配置网页;所述验证性测试规则配置网页中包括验证性测试规则中配置参数的输入区域,所述输入区域用于根据输入操作获取所述配置参数;
提取模块920,用于响应于配置完成指令,对所述验证性测试规则配置网页进行表单提取,得到验证性测试规则;
存储模块930,用于将所述验证性测试规则存储至预置验证性测试规则库;
获取模块940,用于在接收到漏洞检测任务的下发指令时,获取所述漏洞检测任务,所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识;
任务下发模块950,用于将所述漏洞检测任务下发给漏洞检测服务器,以使所述漏洞检测服务器在接收到所述漏洞检测任务后,从所述预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则;根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对;将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则作为相应待检测IP地址所对应的目标验证性测试规则;根据每个所述待检测IP地址对应的目标验证性测试规则,对所述待检测IP地址进行漏洞检测。
在一个可能的实施方式中,所述配置参数包括验证性测试规则的规则类型;所述规则类型包括主机类型;相应的,提取模块920可以包括:
第三判断模块,用于判断所述验证性测试规则的规则类型是否为主机类型;
第一提取子模块,用于在第三判断模块判断的结果为是时,从所述验证性测试规则配置网页中提取验证测试源码,根据所述验证性测试源码生成验证性测试规则;
第二提取子模块,用于在第三判断模块判断的结果为否时,提取所述验证性测试规则配置网页的网页表单,根据所述网页表单生成验证性测试规则。
需要说明的是,上述实施例提供的装置或设备,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例提供了一种漏洞检测服务器,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现上述漏洞检测服务器侧的漏洞检测方法。
本发明实施例提供了一种配置服务器,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现上述配置服务器侧的漏洞检测方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及漏洞检测。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
图10是本发明实施例提供的一种服务器的硬件结构框图,如图10所示,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)1010(处理器1010可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1030,一个或一个以上存储应用程序1023或数据1022的存储介质1020(例如一个或一个以上海量存储设备)。其中,存储器1030和存储介质1020可以是短暂存储或持久存储。存储在存储介质1020的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1010可以设置为与存储介质1020通信,在服务器1000上执行存储介质1020中的一系列指令操作。服务器1000还可以包括一个或一个以上电源1060,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1040,和/或,一个或一个以上操作系统1021,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
输入输出接口1040可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1000的通信供应商提供的无线网络。在一个实例中,输入输出接口1040包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1040可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1000还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质可设置于服务器之中以保存用于实现一种漏洞检测方法相关的至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如上述实施例中的漏洞检测方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种漏洞检测方法,其特征在于,应用于漏洞检测服务器,所述方法包括:
接收配置服务器下发的漏洞检测任务;所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识;
从预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则;所述预置验证性测试规则库中的验证性测试规则是所述配置服务器基于验证性测试规则配置网页中的配置参数生成的,所述配置参数包括验证性测试规则的规则类型,所述规则类型包括主机类型;
根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对;
根据所述至少一个待检测IP地址-验证性测试规则标识对,构建漏洞检测子任务集;所述漏洞检测子任务集中每个漏洞检测子任务与一个待检测IP地址-验证性测试规则标识对相对应;
将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则,作为相应待检测IP地址所对应的目标验证性测试规则;
确定所述至少一个目标验证性测试规则中规则类型为主机类型的目标验证性测试规则;
获取所述规则类型为主机类型的目标验证性测试规则中的验证测试源码;
在内存中运行所述验证性测试源码,得到所述规则类型为主机类型的目标验证性测试规则的实例化对象;
在当前线程中启动所述漏洞检测子任务集中的每个漏洞检测子任务,根据所述每个漏洞检测子任务中的目标验证性测试规则对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
2.根据权利要求1所述的漏洞检测方法,其特征在于,所述根据所述每个漏洞检测子任务中的目标验证性测试规则对所述漏洞检测子任务中的待检测IP地址进行漏洞检测包括:
判断所述漏洞检测子任务中目标验证性测试规则的规则类型是否为主机类型;
在判断的结果为是时,调用所述目标验证性测试规则的实例化对象;
根据所述目标验证性测试规则的实例化对象对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
3.根据权利要求2所述的漏洞检测方法,其特征在于,所述方法还包括:
在判断的结果为否时,根据所述目标验证性测试规则生成session请求;
根据所述session请求对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
4.根据权利要求1所述的漏洞检测方法,其特征在于,所述漏洞检测任务中还包括任务执行方式;所述任务执行方式包括按照预设时间间隔的循环执行;
相应的,在根据每个所述待检测IP地址对应的目标验证性测试规则,对所述待检测IP地址进行漏洞检测之后,所述方法还包括:
根据漏洞检测的结果生成漏洞检测日志;
判断所述任务执行方式是否为按照预设时间间隔的循环执行;
在判断的结果为是,根据所述预设时间间隔重复执行所述对所述待检测IP地址的漏洞检测,根据每次漏洞检测的结果对所述漏洞检测日志进行更新,直至满足所述任务执行方式的结束条件。
5.一种漏洞检测方法,其特征在于,应用于配置服务器,所述方法包括:
展示验证性测试规则配置网页;所述验证性测试规则配置网页中包括验证性测试规则中配置参数的输入区域,所述输入区域用于根据输入操作获取所述配置参数,所述配置参数包括验证性测试规则的规则类型,所述规则类型包括主机类型;
响应于配置完成指令,判断所述验证性测试规则的规则类型是否为主机类型;
在判断的结果为是时,从所述验证性测试规则配置网页中提取验证测试源码,根据所述验证性测试源码生成验证性测试规则;
在判断的结果为否时,提取所述验证性测试规则配置网页的网页表单,根据所述网页表单生成验证性测试规则;
将所述验证性测试规则存储至预置验证性测试规则库;
在接收到漏洞检测任务的下发指令时,获取所述漏洞检测任务,所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识;
将所述漏洞检测任务下发给漏洞检测服务器,以使所述漏洞检测服务器在接收到所述漏洞检测任务后,从所述预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则;根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对;根据所述至少一个待检测IP地址-验证性测试规则标识对,构建漏洞检测子任务集;将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则作为相应待检测IP地址所对应的目标验证性测试规则;确定所述至少一个目标验证性测试规则中规则类型为主机类型的目标验证性测试规则;获取所述规则类型为主机类型的目标验证性测试规则中的验证测试源码;在内存中运行所述验证性测试源码,得到所述规则类型为主机类型的目标验证性测试规则的实例化对象;在当前线程中启动所述漏洞检测子任务集中的每个漏洞检测子任务,根据所述每个漏洞检测子任务中的目标验证性测试规则对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
6.一种漏洞检测装置,其特征在于,配置于漏洞检测服务器,所述漏洞检测装置包括:
接收模块,用于接收配置服务器下发的漏洞检测任务;所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识;
第一确定模块,用于从预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则;所述预置验证性测试规则库中的验证性测试规则是所述配置服务器基于验证性测试规则配置网页中的配置参数生成的,所述配置参数包括验证性测试规则的规则类型,所述规则类型包括主机类型;
第二确定模块,用于根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对;
子任务构建模块,用于根据所述至少一个待检测IP地址-验证性测试规则标识对,构建漏洞检测子任务集;所述漏洞检测子任务集中每个漏洞检测子任务与一个待检测IP地址-验证性测试规则标识对相对应;
第三确定模块,用于将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则,作为相应待检测IP地址所对应的目标验证性测试规则;
第四确定模块,用于确定所述至少一个目标验证性测试规则中规则类型为主机类型的目标验证性测试规则;
源码获取模块,用于获取所述规则类型为主机类型的目标验证性测试规则中的验证测试源码;
实例化模块,用于在内存中运行所述验证性测试源码,得到所述规则类型为主机类型的目标验证性测试规则的实例化对象;
漏洞检测模块,用于在当前线程中启动所述漏洞检测子任务集中的每个漏洞检测子任务,根据所述每个漏洞检测子任务中的目标验证性测试规则对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
7.一种漏洞检测设备,其特征在于,配置于配置服务器,所述漏洞检测设备包括:
展示模块,用于展示验证性测试规则配置网页;所述验证性测试规则配置网页中包括验证性测试规则中配置参数的输入区域,所述输入区域用于根据输入操作获取所述配置参数,所述配置参数包括验证性测试规则的规则类型,所述规则类型包括主机类型;
提取模块,用于响应于配置完成指令,判断所述验证性测试规则的规则类型是否为主机类型;在判断的结果为是时,从所述验证性测试规则配置网页中提取验证测试源码,根据所述验证性测试源码生成验证性测试规则;在判断的结果为否时,提取所述验证性测试规则配置网页的网页表单,根据所述网页表单生成验证性测试规则;
存储模块,用于将所述验证性测试规则存储至预置验证性测试规则库;
获取模块,用于在接收到漏洞检测任务的下发指令时,获取所述漏洞检测任务,所述漏洞检测任务中包括至少一个待检测IP地址以及至少一个验证性测试规则标识;
任务下发模块,用于将所述漏洞检测任务下发给漏洞检测服务器,以使所述漏洞检测服务器在接收到所述漏洞检测任务后,从所述预置验证性测试规则库中确定与所述至少一个验证性测试规则标识相匹配的至少一个目标验证性测试规则;根据所述至少一个待检测IP地址以及至少一个验证性测试规则标识,确定至少一个待检测IP地址-验证性测试规则标识对;根据所述至少一个待检测IP地址-验证性测试规则标识对,构建漏洞检测子任务集;将每个所述待检测IP地址-验证性测试规则标识对中验证性测试规则标识对应的目标验证性测试规则作为相应待检测IP地址所对应的目标验证性测试规则;确定所述至少一个目标验证性测试规则中规则类型为主机类型的目标验证性测试规则;获取所述规则类型为主机类型的目标验证性测试规则中的验证测试源码;在内存中运行所述验证性测试源码,得到所述规则类型为主机类型的目标验证性测试规则的实例化对象;在当前线程中启动所述漏洞检测子任务集中的每个漏洞检测子任务,根据所述每个漏洞检测子任务中的目标验证性测试规则对所述漏洞检测子任务中的待检测IP地址进行漏洞检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010670713.4A CN111565198B (zh) | 2020-07-13 | 2020-07-13 | 一种漏洞检测方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010670713.4A CN111565198B (zh) | 2020-07-13 | 2020-07-13 | 一种漏洞检测方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111565198A CN111565198A (zh) | 2020-08-21 |
CN111565198B true CN111565198B (zh) | 2020-10-30 |
Family
ID=72075415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010670713.4A Active CN111565198B (zh) | 2020-07-13 | 2020-07-13 | 一种漏洞检测方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111565198B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685682B (zh) * | 2021-03-16 | 2021-07-09 | 连连(杭州)信息技术有限公司 | 一种攻击事件的封禁对象识别方法、装置、设备及介质 |
CN113420303A (zh) * | 2021-07-14 | 2021-09-21 | 广东电网有限责任公司广州供电局 | 基于端口扫描的变电站主机安全漏洞检测方法和系统 |
CN114448665A (zh) * | 2021-12-22 | 2022-05-06 | 天翼云科技有限公司 | 一种web应用防火墙规则检测方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107819758A (zh) * | 2017-11-03 | 2018-03-20 | 北京知道未来信息技术有限公司 | 一种网络摄像头漏洞远程检测方法及装置 |
CN110209583A (zh) * | 2019-06-03 | 2019-09-06 | 中国银联股份有限公司 | 安全测试方法、装置、系统、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7892776B2 (en) * | 2007-05-04 | 2011-02-22 | The Regents Of The University Of California | Screening assay to identify modulators of protein kinase A |
CN103929429B (zh) * | 2014-04-24 | 2017-07-21 | 北京邮电大学 | 基于RESTful Web服务的网络漏洞扫描系统及方法 |
CN110392028A (zh) * | 2018-04-20 | 2019-10-29 | 上海巍擎信息技术有限责任公司 | Android系统漏洞无线检测方法、装置、计算机设备和存储介质 |
-
2020
- 2020-07-13 CN CN202010670713.4A patent/CN111565198B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107819758A (zh) * | 2017-11-03 | 2018-03-20 | 北京知道未来信息技术有限公司 | 一种网络摄像头漏洞远程检测方法及装置 |
CN110209583A (zh) * | 2019-06-03 | 2019-09-06 | 中国银联股份有限公司 | 安全测试方法、装置、系统、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111565198A (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111565198B (zh) | 一种漏洞检测方法及相关设备 | |
CN112511571B (zh) | 一种Web漏洞扫描方法、装置、系统、设备及存储介质 | |
CN109002295B (zh) | 一种静态代码扫描方法、系统、服务器及存储介质 | |
CN108809683B (zh) | 部署云应用系统的方法及装置 | |
EP2985730A1 (en) | Method and device for partially-upgrading | |
CN114531477B (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN112083971B (zh) | 组件处理方法、设备及存储介质 | |
CN109254765B (zh) | 定时任务管理方法、装置、计算机设备及存储介质 | |
CN112328458A (zh) | 基于flink数据引擎的数据处理方法、装置 | |
CN106034113A (zh) | 数据处理方法及装置 | |
CN104915239A (zh) | 使用容器进行多进程启动的方法及装置 | |
CN108733545B (zh) | 一种压力测试方法及装置 | |
CN111158800A (zh) | 基于映射关系构建任务dag的方法及装置 | |
CN113098852B (zh) | 一种日志处理方法及装置 | |
CN108900482B (zh) | 脚本的执行方法、服务器管理系统及存储介质 | |
CN109408376B (zh) | 一种配置数据的生成方法、装置、设备及存储介质 | |
CN108965403A (zh) | 运维监控连接的建立方法及终端设备 | |
CN111245800B (zh) | 网络安全测试方法和装置、存储介质、电子装置 | |
CN115981962B (zh) | 线程池监控方法、装置、电子设备及存储介质 | |
CN110753090A (zh) | 服务器集群的任务执行方法、装置、计算机设备及存储介质 | |
CN111026526B (zh) | 程序的定时器配置方法、装置、存储介质及终端设备 | |
CN105511932A (zh) | 一种应用的卸载方法和装置 | |
CN114816965A (zh) | 一种数据验证方法及装置 | |
CN111679899A (zh) | 任务调度方法、装置、平台设备及存储介质 | |
CN110134502A (zh) | 任务处理方法、装置、系统、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |