漏洞检测方法及装置与流程

文档序号:17588900发布日期:2019-05-03 21:35阅读:175来源:国知局
漏洞检测方法及装置与流程

本申请涉及网络安全技术领域,具体而言,涉及一种漏洞检测方法及装置。



背景技术:

漏洞检测技术是对服务器或者其他网络设备进行安全检测以发现可能造成设备被入侵的漏洞的技术。进行漏洞检测的方式有黑盒检测和白盒检测。黑盒检测是通过构造大量畸形的测试用例,发送给被检测设备,然后判断返回的被检测设备的相关数据,从而根据该数据判断是否存在漏洞。

现有技术中,因为安全防御机制是通过屏蔽端口或者ip等,从而来拒绝其他设备访问漏洞检测设备,这种方式会将检测数据屏蔽掉。在进行漏洞检测时,为了确保检测过程正常进行,通常不会采用防御机制。由于漏洞检测设备并没有采用防御机制,因此,漏洞检测设备在进行漏洞检测的过程中,可以被任意访问和溯源,十分容易被恶意攻击,存在很大的安全隐患。



技术实现要素:

为了克服现有技术中的上述不足,本申请的目的在于提供一种漏洞检测方法,应用于漏洞检测设备,所述漏洞检测设备与目标设备相互通信,所述漏洞检测设备存储有用于检测接收到的数据包的预设规则,所述预设规则包括通信特征数据,所述方法包括:

向所述目标设备发送用于检测漏洞的第一数据包;

接收包括通信特征数据的第二数据包;

根据所述第二数据包的通信特征数据判断所述第二数据包是否符合所述预设规则;

如果所述第二数据包的通信特征数据符合预设规则,则解析所述第二数据包。

可选地,所述漏洞检测设备与多个待检测设备相互通信,所述多个待检测设备包括目标设备,所述方法还包括,

从所述待检测设备中确定目标设备;

获取目标设备的通信特征数据;

根据目标设备的通信特征数据生成预设规则。

可选地,所述向所述目标设备发送用于检测漏洞的第一数据包的步骤前,所述方法还包括:

判断所述预设规则是否成功生成;

如果所述预设规则没有成功生成,则重复执行获取包括目标设备的通信特征数据的步骤。

可选地,所述漏洞检测设备存储有包括待检测设备的ip地址的任务信息,所述从所述待检测设备中确定目标设备的步骤前,所述方法还包括:

依次将所述任务信息中的所述待检测设备的ip地址生成白名单列表;

所述从所述待检测设备中确定目标设备的步骤包括,

将所述白名单列表中所述ip地址对应的待检测设备作为所述目标设备。

可选地,根据所述任务信息中的所述待检测设备的ip地址生成白名单列表的步骤包括,

间隔预设时间间隔依次获取任务信息中各个所述待检测设备的ip地址;

将获取的所述待检测设备的ip地址组成白名单列表;

所述从所述待检测设备中确定目标设备的步骤包括,

间隔预设时间间隔依次将白名单列表中的ip地址对应的设备作为目标设备。

可选地,根据目标设备的通信特征数据生成预设规则的步骤前,所述方法还包括:

获取漏洞检测设备的防御类型以及期望获得的所述目标设备的检测数据;

所述根据目标设备的通信特征数据生成预设规则的步骤包括,

根据目标设备的通信特征数据、所述漏洞检测设备的防御类型以及期望获得的所述目标设备的检测数据生成预设规则。

可选地,所述如果所述第二数据包符合预设规则,则解析所述第二数据包的步骤包括,

如果所述第二数据包中的通信特征数据、防御类型以及检测数据均符合预设规则,则解析所述第二数据包。

本申请的另一目的在于提供一种漏洞检测装置,应用于漏洞检测设备,所述漏洞检测设备与目标设备相互通信,所述漏洞检测设备存储有用于检测接收到的数据包的预设规则,所述预设规则包括通信特征数据,所述装置包括发送模块、接收模块和第一判断模块;

所述发送模块用于向所述目标设备发送用于检测漏洞的第一数据包;

所述接收模块用于接收包括通信特征数据的第二数据包;

所述第一判断模块用于根据所述第二数据包的通信特征数据判断所述第二数据包是否符合所述预设规则;

如果所述第二数据包的通信特征数据符合预设规则,则解析所述第二数据包。

可选地,所述漏洞检测设备与多个待检测设备相互通信,所述多个待检测设备包括目标设备,所述装置还包括确定模块、获取模块和生成模块,所述确定模块用于从所述待检测设备中确定目标设备;

所述获取模块用于获取目标设备的通信特征数据;

所述生成模块用于根据目标设备的通信特征数据生成预设规则。

可选地,所述装置还包括第二判断模块,

所述第二判断模块用于判断所述预设规则是否成功生成,以及

在所述预设规则没有成功生成时,重复执行获取包括目标设备的通信特征数据的步骤。

相对于现有技术而言,本申请具有以下有益效果:

本申请实施例中,通过在漏洞检测设备端设置预设规则,在漏洞检测设备对目标设备进行漏洞检测时,首先由漏洞检测设备向目标设备发送第一数据包,然后,漏洞检测设备再接收第二数据包。在漏洞检测设备接收到第二数据包后,将第二数据包中的通信特征数据与预设规则进行对比,从而判断第二数据包的通信特征数据是否符合预设规则,并在第二数据包的通信特征数据符合预设规则的情况下,才解析第二数据包。如此,便能避免不符合预设规则的设备访问漏洞检测设备,使得漏洞检测设备更加安全。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的漏洞检测设备的结构示意框图;

图2为本申请实施例提供的漏洞检测方法的流程示意图一;

图3为本申请实施例提供的漏洞检测方法的流程示意图二;

图4为本申请实施例提供的漏洞检测方法的流程示意图三;

图5为本申请实施例提供的漏洞检测方法的流程示意图四;

图6为本申请实施例提供的漏洞检测方法的流程示意图五;

图7为本申请实施例提供的漏洞检测装置的结构示意框图一;

图8为本申请实施例提供的漏洞检测装置的结构示意框图二。

图标:100-漏洞检测设备;110-漏洞检测装置;111-发送模块;112-接收模块;113-第一判断模块;114-确定模块;115-获取模块;116-生成模块;117-第二判断模块;120-存储器;130-处理器;140-通信单元。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

请参见图1,图1是本申请实施例提供的检测设备的结构示意框图,所述漏洞检测设备100包括漏洞检测装置110、存储器120、处理器130和通信单元140,所述存储器120、处理器130以及通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述漏洞检测装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述代理器的操作系统(operatingsystem,os)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述漏洞检测装置110所包括的软件功能模块及计算机程序等。

所述存储器120可以是,但不限于,随机存取存储器120(randomaccessmemory,ram),只读存储器120(readonlymemory,rom),可编程只读存储器120(programmableread-onlymemory,prom),可擦除只读存储器120(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器120(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器120用于存储可执行指令,所述处理器130在接收到可执行指令后,执行该指令。

请参见图2,图2是应用于上述漏洞检测装置110的漏洞检测方法,所述漏洞检测设备100与目标设备相互通信,所述漏洞检测设备100存储有用于检测接收到的数据包的预设规则,所述预设规则包括通信特征数据,预设规则中的通信特征数据可以包括,但不限于目标设备的ip地址、目标设备的端口信息等。所述方法包括步骤s110-步骤s140。

步骤s110,向所述目标设备发送用于检测漏洞的第一数据包。

本实施例用于漏洞检测设备100向目标设备发送用于检测漏洞的第一数据包,其中,第一数据包可以包括畸形测试用例。

步骤s120,接收包括通信特征数据的第二数据包。

本实施例用于在漏洞检测设备100向目标设备发送第一数据包后,接收与漏洞检测设备100相互通信的设备发送的第二数据包。其中,第二数据包的通信特征数据包括但不限于发送该第二数据包的ip地址、发送该第二数据包的端口信息。

步骤s130,根据所述第二数据包的通信特征数据判断所述第二数据包是否符合所述预设规则。

本实施例用于判断第二数据包是否满足预设规则。例如,当预设规则中包括目标设备的ip地址、目标设备的端口信息,第二数据包包括发送该第二数据包的ip地址、发送该第二数据包的端口信息时,判断发送该第二数据包的ip地址与目标设备的ip地址是否相同,以及发送该第二数据包的端口信息与目标设备的端口信息是否相同,如果发送该第二数据包的ip地址与目标设备的ip地址相同且发送该第二数据包的端口信息与目标设备的端口信息相同,则判断第二数据包符合预设规则。

步骤s140,如果所述第二数据包的通信特征数据符合预设规则,则解析所述第二数据包。

本实施例用于过滤掉不符合预设规则的第二数据包,以使得漏洞检测设备100解析的第二数据包都是符合规定的第二数据包,从而避免其他不符合规定的数据包对漏洞检测设备100造成威胁,使得漏洞检测设备100更加安全。

请参见图3,可选地,所述漏洞检测设备100与多个待检测设备相互通信,所述多个待检测设备包括目标设备,在步骤s110之前,所述方法还包括步骤s210-步骤s230。

步骤s210,从所述待检测设备中确定目标设备。

本实施例用于从待检测设备中确定目标设备,这样使得确定的目标设备都是需要检测漏洞的设备。

步骤s220,获取目标设备的通信特征数据。

由于通信特征数据能够标识数据包的来源,因此,本实施例用于在获得目标设备后,获取目标设备的通信特征数据。

步骤s230,根据目标设备的通信特征数据生成预设规则。

本实施例中,因为目标设备是需要检测的存在哪些漏洞的设备,在对目标设备进行漏洞检测时,漏洞检测设备100需要从目标设备接收检测数据进行分析以得到目标设备的漏洞情况。由于在通信过程中,设备之间发送的数据会以数据包的形式传输,而数据包中携带有通信特征数据,因此,可以根据目标设备的通信特征数据生成预设规则。

在生成预设规则时,可以将通信特征数据合并转化为一条正则表达式,将该正则表达式作为预设规则。

请参见图4,可选地,本实施例中,步骤s110前,所述方法还包括步骤s310。

步骤s310,判断所述预设规则是否成功生成;如果所述预设规则没有成功生成,则重复执行步骤s220-步骤s230。

本实施例中,在预设规则成功生成后,漏洞检测设备100才接收第二数据包,也就是说,在预设规则生成前,所有设备都不能访问漏洞检测设备100,能够极大地避免漏洞检测设备100被攻击的可能性。

请参见图5,可选地,所述漏洞检测设备100存储有包括待检测设备的ip地址的任务信息,本实施例中,待检测设备的ip地址可以列表的形式存储。步骤s210前,所述方法还包括步骤410。

步骤410,依次将所述任务信息中的所述待检测设备的ip地址生成白名单列表。

请参见图6,可选地,步骤s410包括步骤s411-步骤s412。

步骤s411,间隔预设时间间隔依次获取任务信息中各个所述待检测设备的ip地址。

步骤s412,将获取的所述待检测设备的ip地址组成白名单列表。

可选地,本实施例中,任务信息中包括各个待检测设备的ip地址与该待检测设备中待检测的漏洞类型。在步骤s410前,可以包括获取当前获取时间间隔内所检测的漏洞类型对应的待检测设备的数量以及ip地址,根据该数量计算预设间隔时间的步骤,预设间隔时间为间隔获取时间与该数量之商。此时,步骤s410中的各个所述待检测设备的ip地址为当前获取时间间隔内所检测的漏洞类型对应的待检测设备的ip地址。

可选地,步骤s210包括,从所述白名单列表中确定所述目标设备。

具体地,间隔预设时间间隔依次将白名单列表中的ip地址对应的待检测设备作为目标设备。

本实施例中,可以依次将客户端存储的所有待检测设备的ip地址生成白名单列表。本实施例中间隔预设时间间隔将ip地址对应的设备作为目标设备,能够为每个目标设备预留检测时间,使得检测过程顺利完成。

本实施例用于依次将白名单列表中的各个ip地址对应的待检测设备作为目标设备。

可选地,步骤s230前,所述方法还包括获取漏洞检测设备100的防御类型以及期望获得的所述目标设备的检测数据。

所述根据目标设备的通信特征数据生成预设规则的步骤包括,根据目标设备的通信特征数据、所述漏洞检测设备100的防御类型以及期望获得的所述目标设备的检测数据生成预设规则。

所述根据目标设备的通信特征数据生成预设规则的步骤包括,根据目标设备的通信特征数据、所述漏洞检测设备100的防御类型以及期望获得的所述检测数据生成预设规则。所述漏洞检测设备100的防御类型是预先设定的需要进行防御的攻击所属的类型,例如,所述漏洞检测设备100的防御类型可以是c&c探测防御、连接劫持防御、ddos攻击防御中的一种或者多种。防止在漏洞检测过程中外部恶意目标主动连接漏洞检测设备100特定端口。连接劫持防御:防止漏洞检测设备100在与目标设备之间的网络连接被恶意劫持。ddos攻击防御:防止漏洞检测过程中外部请求过于频繁导致的系统性能下降。

可选地,步骤s140包括,如果所述第二数据包中的通信特征数据、防御类型以及检测数据均符合预设规则,则解析所述第二数据包。

请参见图7,本申请的另一目的在于提供一种漏洞检测装置110,应用于漏洞检测设备100,所述漏洞检测设备100与目标设备相互通信,所述漏洞检测设备100存储有用于检测接收到的数据包的预设规则,所述预设规则包括通信特征数据,所述装置包括发送模块111、接收模块112和第一判断模块113。所述漏洞检测装置110包括一个可以软件或固件的形式存储于所述存储器120中或固化在所述漏洞检测设备100的操作系统(operatingsystem,os)中的软件功能模块。

所述发送模块111用于向所述目标设备发送用于检测漏洞的第一数据包;

本实施例中的发送模块111用于执行步骤s110,关于所述发送模块111的具体描述可参照对所述步骤s110的描述。

所述接收模块112用于接收包括通信特征数据的第二数据包。

本实施例中的接收模块112用于执行步骤s120,关于所述接收模块112的具体描述可参照对所述步骤s120的描述。

所述第一判断模块113用于根据所述第二数据包的通信特征数据判断所述第二数据包是否符合所述预设规则;

如果所述第二数据包的通信特征数据符合预设规则,则解析所述第二数据包。

本实施例中的第一判断模块113用于执行步骤s130-步骤s140,关于所述第一判断模块113的具体描述可参照对所述步骤s130-步骤s140的描述。

请参见图8,可选地,所述漏洞检测设备100与多个待检测设备相互通信,所述多个待检测设备包括目标设备,所述装置还包括确定模块114、获取模块115和生成模块116,

所述确定模块114用于从所述待检测设备中确定目标设备;

本实施例中的确定模块114用于执行步骤s210,关于所述确定模块114的具体描述可参照对所述步骤s210的描述。

所述获取模块115用于获取目标设备的通信特征数据;

本实施例中的获取模块115用于执行步骤s220,关于所述获取模块115的具体描述可参照对所述步骤s220的描述。

所述生成模块116用于根据目标设备的通信特征数据生成预设规则。

本实施例中的生成模块116用于执行步骤s230,关于所述生成模块116的具体描述可参照对所述步骤s230的描述。

可选地,所述装置还包括第二判断模块117,

所述第二判断模块117用于判断所述预设规则是否成功生成,以及在所述预设规则没有成功生成时,重复执行获取包括目标设备的通信特征数据的步骤。

本实施例中的第二判断模块117用于执行步骤s310,关于所述第二判断模块117的具体描述可参照对所述步骤s310的描述。

综上所述,本申请实施例中,通过在漏洞检测设备100端设置预设规则,在漏洞检测设备100对目标设备进行漏洞检测时,首先由漏洞检测设备100向目标设备发送第一数据包,然后,漏洞检测设备100再接收第二数据包。在漏洞检测设备100接收到第二数据包后,将第二数据包中的通信特征数据与预设规则进行对比,从而判断第二数据包的通信特征数据是否符合预设规则,并在第二数据包的通信特征数据符合预设规则的情况下,才解析第二数据包。如此,便能避免不符合预设规则的设备访问漏洞检测设备100,使得漏洞检测设备100更加安全。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1