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

文档序号:17161775发布日期:2019-03-20 00:50阅读:130来源:国知局
一种漏洞检测方法及装置与流程

本发明涉及计算机领域,尤其涉及一种漏洞检测方法及装置。



背景技术:

随着计算机网络技术的不断发展,网络的应用变得越来越普遍。通常,网络的基本节点通常为主机,主机可以包括服务器、个人计算机等。实际情况中,主机上运行的软件往往在不同程度上存在着安全漏洞,恶意程序可以利用这些漏洞影响来攻击或控制主机,影响主机的安全性。因此,需要对主机进行漏洞检测。然而,目前通常是通过人工构造大量的恶意代码扫描主机,以检测主机是否存在漏洞,这种方式容易产生大量的对业务数据无意义的数据。



技术实现要素:

本发明实施例提供一种漏洞检测方法及装置,以解决现有技术中通过构造大量恶意代码检测漏洞,易产生较多业务无关数据的问题。

第一方面,本发明实施例提供了一种漏洞检测方法,该方法包括:

在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击,所述目标漏洞为与所述目标组件对应的漏洞;

在确定所述目标主机已被攻击对象利用所述目标漏洞攻击的情况下,确定所述目标主机存在所述目标漏洞;

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,以检测所述目标主机是否存在所述目标漏洞。

可选的,所述在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,包括:

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,基于洋葱路由器tor对所述目标主机执行漏洞检测;或者

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,通过预设的至少两个用户代理ua,对所述目标主机执行漏洞检测。

可选的,所述在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击之前,所述方法还包括:

采用预设指纹识别方式,识别使用目标组件的目标主机。

可选的,所述预设指纹识别方式包括如下至少一项:

基于页面中主体、头部和标题中至少一项的关键字进行识别;

基于预设文件的md5值进行识别;

基于预设统一资源定位符url的关键字进行识别;

基于预设统一资源定位符url的标签模式进行识别;

基于404页面进行识别。

可选的,所述在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已发生过基于目标漏洞的攻击,包括:

在识别出使用目标组件的目标主机的情况下,根据预设的特征信息,检测所述目标主机是否已被攻击对象利用目标漏洞攻击;

其中,所述预设的特征信息包括预设的所述目标漏洞的有效负载的特征信息。

可选的,所述目标组件为weblogic服务器组件,所述目标漏洞为远程命令执行漏洞。

可选的,所述在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,以检测所述目标主机是否存在所述目标漏洞,包括:

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,向所述目标主机发送预设格式的远程执行命令;

检测所述目标主机中是否存在预设文件;

在确定所述目标主机中存在预设文件的情况下,确定所述目标主机存在所述目标漏洞;

在确定所述目标主机中不存在预设文件的情况下,确定所述目标主机不存在所述目标漏洞。

第二方面,本发明实施例还提供一种漏洞检测装置,该装置包括:

第一检测模块,用于在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击,所述目标漏洞为与所述目标组件对应的漏洞;

确定模块,用于在确定所述目标主机已被攻击对象利用所述目标漏洞攻击的情况下,确定所述目标主机存在所述目标漏洞;

第二检测模块,用于在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,以检测所述目标主机是否存在所述目标漏洞。

可选的,所述第二检测模块具体用于:

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,基于洋葱路由器tor对所述目标主机执行漏洞检测;或者

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,通过预设的至少两个用户代理ua,对所述目标主机执行漏洞检测。

可选的,所述装置还包括:

识别模块,用于所述在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击之前,采用预设指纹识别方式,识别使用目标组件的目标主机。

可选的,所述预设指纹识别方式包括如下至少一项:

基于页面中主体、头部和标题中至少一项的关键字进行识别;

基于预设文件的md5值进行识别;

基于预设统一资源定位符url的关键字进行识别;

基于预设统一资源定位符url的标签模式进行识别;

基于404页面进行识别。

可选的,所述第一检测模块具体用于:

在识别出使用目标组件的目标主机的情况下,根据预设的特征信息,检测所述目标主机是否已被攻击对象利用目标漏洞攻击;

其中,所述预设的特征信息包括预设的所述目标漏洞的有效负载的特征信息。

可选的,所述目标组件为weblogic服务器组件,所述目标漏洞为远程命令执行漏洞。

可选的,所述第二检测模块具体用于:

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,向所述目标主机发送预设格式的远程执行命令;

检测所述目标主机中是否存在预设文件;

在确定所述目标主机中存在预设文件的情况下,确定所述目标主机存在所述目标漏洞;

在确定所述目标主机中不存在预设文件的情况下,确定所述目标主机不存在所述目标漏洞。

第三方面,本发明还提供一种漏洞检测装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的漏洞检测方法的步骤。

第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的漏洞检测方法的步骤。

本发明实施例中,在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击,所述目标漏洞为与所述目标组件对应的漏洞;在确定所述目标主机已被攻击对象利用所述目标漏洞攻击的情况下,确定所述目标主机存在所述目标漏洞;在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,以检测所述目标主机是否存在所述目标漏洞。由于优先通过检测目标主机是否发送过利用目标漏洞的攻击,并仅在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,才对所述目标主机执行漏洞检测,从而可以降低通过构造恶意代码检测漏洞的概率,进而降低因构造恶意代码检测漏洞,产生较多业务无关数据的概率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的漏洞检测方法的流程图;

图2是本发明又一实施例提供的漏洞检测方法的流程图;

图3是本发明实施例提供的漏洞检测装置的结构图;

图4是本发明又一实施例提供的漏洞检测装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于描述,以下对本发明实施例涉及的一些术语进行说明:

weblogic:weblogic是一个应用服务器(即applicationserver),也是一个基于javaee架构的中间件,weblogic是用于开发、集成、部署和管理大型分布式web应用、网络应用和数据库应用的java应用服务器。将java的动态功能和javaenterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

weblogic服务器:即weblogicserver,简称为wls。

远程命令执行:是指用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变$path或程序执行环境的其他方面来执行一个恶意构造的代码,也称为恶意程序。

有效负载:即payload,也可称为漏洞利用代码,在病毒代码中实现一些有害的或者恶性的动作的部分代码。

洋葱路由器:即theonionrouter,简称为tor。

用户代理:即useragent,简称为ua。

本发明实施例提供一种漏洞检测方法。参见图1,图1是本发明实施例提供的漏洞检测方法的流程图,如图1所示,包括以下步骤:

步骤101、在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击,所述目标漏洞为与所述目标组件对应的漏洞。

本发明实施例中,上述目标组件可以是需要漏洞检测的任意组件,例如,wls组件、weblogicwsat(webservicesatomictransactions,网络服务原子事务)组件、activity组件、apache组件等。上述目标漏洞与目标组件具有对应关系,例如,当目标组件为wls组件时,上述目标漏洞可以是远程命令执行漏洞,也可称为rce(remotecodeexecution,远程代码执行)漏洞,当目标组件为weblogicwsat组件时,上述目标漏洞可以是rce漏洞。具体的,可以根据目标组件对应设置其对应的目标漏洞。需要说明的是,一个目标组件可以对应多个类型的漏洞,不同的目标组件也可以对应相同类型的漏洞。

上述被攻击对象利用所述目标漏洞攻击可以是指攻击对象利用目标漏洞对目标主机进行攻击,例如,攻击对象针对该目标漏洞,构造恶意代码对目标主机进行攻击。上述攻击对象可以是任意的服务器或是个人计算机等。

步骤102、在确定所述目标主机已被攻击对象利用所述目标漏洞攻击的情况下,确定所述目标主机存在所述目标漏洞。

本发明实施例中,在确定所述目标主机已被攻击对象利用所述目标漏洞攻击的情况下,可以确定目标主机存在所述目标漏洞。可选的,该步骤中,还可以基于上述攻击的特征信息生成目标漏洞的报告信息,其中,上述报告信息可以包括漏洞poc(proofofconcept,观点证明)、漏洞修复建议等内容。

步骤103、在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,以检测所述目标主机是否存在所述目标漏洞。

本发明实施例中,在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,可以采用现有的漏洞检测方式检测目标主机是否存在目标漏洞,例如,可以通过构造与目标漏洞对应的恶意代码暴力扫描主机,以检测目标主机是否存在目标漏洞;也可以是通过向目标主机发送用于目标漏洞检测的脚本代码,并通过目标主机中的特定文件判断是否存在目标漏洞,例如,向目标主机发送远程执行命令,并通过检查目标主机是否存在特定文件判断是否存在目标漏洞。

本发明实施例提供的漏洞检测方法,在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击,所述目标漏洞为与所述目标组件对应的漏洞;在确定所述目标主机已被攻击对象利用所述目标漏洞攻击的情况下,确定所述目标主机存在所述目标漏洞;在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,以检测所述目标主机是否存在所述目标漏洞。由于优先通过检测目标主机是否发送过利用目标漏洞的攻击,并仅在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,才对所述目标主机执行漏洞检测,从而可以降低通过构造恶意代码检测漏洞的概率,进而降低因构造恶意代码检测漏洞,产生较多业务无关数据的概率,此外,也可以提高漏洞检测的效率。

可选的,上述步骤103,也即所述在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,可以包括:

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,基于洋葱路由器tor对所述目标主机执行漏洞检测;或者

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,通过预设的至少两个用户代理ua,对所述目标主机执行漏洞检测。

在一实施方式中,可以通过tor对所述目标主机执行漏洞检测,例如,可以构建tor代理服务器,并通过tor代理服务器向目标主机发送远程命令执行,以检测目标主机是否存在远程命令执行漏洞。本发明实施例基于tor对目标主机执行漏洞检测,可以提高漏洞检测的安全性。

在另一实施方式中,可以通过预设的至少两个ua,对所述目标主机执行漏洞检测。例如,可以预设n个(例如,2000个)不同的ua,在对目标主机执行漏洞检测过程,每次均可以从预设个n个不同的ua中指定某一ua或是随机选取某一ua发送给目标主机。本发明实施例通过预设的至少两个ua,对所述目标主机执行漏洞检测,可以降低被防火墙阻拦的概率,提高漏洞检测的成功率。

可选的,上述步骤101之前,也即所述在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击之前,所述方法还包括:

采用预设指纹识别方式,识别使用目标组件的目标主机。

可选的,所述预设指纹识别方式包括如下至少一项:

基于页面中主体、头部和标题中至少一项的关键字进行识别;

基于预设文件的md5值进行识别;

基于预设统一资源定位符url的关键字进行识别;

基于预设统一资源定位符url的标签模式进行识别;

基于404页面进行识别。

本发明实施例中,基于页面中主体(即body)、头部(即header)和标题(即tittle)中至少一项的关键字,识别使用目标组件的目标主机,可以是指分别识别各个主机(例如,具有开放端口的存活主机)的页面中的主体、头部和标题中至少一项的关键字,并分别与第一预设关键字进行比较,若识别到的某一主机页面上的关键字与第一预设关键字匹配,则确认该主机为使用目标组件的目标主机。需要说明的是,上述第一预设关键字可以是预先基于使用目标组件的主机的页面的特征设置的关键字。

基于预设文件的md5值进行识别,识别使用目标组件的目标主机,可以是指分别计算各个主机中预设文件的md5值,并分别与预设的md5值进行比较,若计算到的某一md5值与预设的md5值匹配,则确认其对应的主机为使用目标组件的目标主机。上述预设文件可以包括静态文件,例如,说明文档、css(cascadingstylesheets,层叠样式表)文档等。需要说明的是,上述预设的md5值可以是预先基于使用目标组件的主机中的预设文件的md5值设置的。

基于预设的url(uniformresourcelocator,统一资源定位符)的关键字,识别使用目标组件的目标主机,可以是指分别识别各个主机中预设的url的关键字,并分别与第二预设关键字进行比较,如果识别到的某一关键字与第二预设关键字匹配,则确定其对应的主机为使用目标组件的目标主机。需要说明的是,上述第二预设关键字可以是预先基于使用目标组件的主机中指定url的关键字设置的关键字。

基于预设的url的标签(即tag)模式,识别使用目标组件的目标主机,可以是指分别识别各个主机中预设的url的标签模式,并分别与预设的标签模式进行比较,如果识别到的某一标签模式与预设的标签模式匹配,则确定其对应的主机为使用目标组件的目标主机。需要说明的是,上述预设的标签模式可以是预先基于使用目标组件的主机中指定url的标签模式设置的。

上述基于404页面,识别使用目标组件的目标主机,可以是指分别向各个主机请求一个不存在的页面,若某个主机返回的是404页面,则确定该主机为使用目标组件的目标主机。

需要说明的是,上述多种指纹识别方式可以根据实际需求进行任意组合。例如,结合页面中主体、头部和标题中至少一项的关键字和预设文件的md5值进行识别,此时,可以在基于页面中主体、头部和标题中至少一项的关键字和预设文件的md5值均匹配的情况下,确定该主机为目标主机,否则该主机不为目标主机。

可选的,本发明实施例可以结合上述五种指纹识别方式识别使用目标组件的目标主机,可以提高识别结果的准确性。

可选的,所述在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已发生过基于目标漏洞的攻击,包括:

在识别出使用目标组件的目标主机的情况下,根据预设的特征信息,检测所述目标主机是否已被攻击对象利用目标漏洞攻击;

其中,所述预设的特征信息包括预设的所述目标漏洞的有效负载的特征信息。

本发明实施例中,可以预先收集多个目标漏洞的有效负载(即payload,也可以称为利用脚本),分析并提取多个目标漏洞的有效负载的特征信息,从而可以基于目标漏洞的有效负载的特征信息识别利用目标漏洞的攻击。

在一可选实施方式中,可以通过检测所述目标主机中的后门程序,并与目标漏洞的有效负载的特征信息进行对比,和/或检测所述目标主机的预设目录的异常文件,并将异常文件的内容与目标漏洞的有效负载的特征信息进行对比,从而可以基于对比结果确定所述目标主机是否存在所述目标漏洞。

例如,针对weblogicwls组件远程命令执行漏洞,可以检测是否存在“/uddiexplorer”、“/bea_wls_internal”、“/wls-wsat”等文件。

本发明实施例基于预设的所述目标漏洞的有效负载的特征信息,检测所述目标主机是否已被攻击对象利用目标漏洞攻击,实现较为简便。

可选的,所述目标组件为weblogic服务器组件,所述目标漏洞为远程命令执行漏洞。

上述weblogic服务器组件也即wls组件。

可选的,所述在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,以检测所述目标主机是否存在所述目标漏洞,包括:

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,向所述目标主机发送预设格式的远程执行命令;

检测所述目标主机中是否存在预设文件;

在确定所述目标主机中存在预设文件的情况下,确定所述目标主机存在所述目标漏洞;

在确定所述目标主机中不存在预设文件的情况下,确定所述目标主机不存在所述目标漏洞。

本发明实施例中,上述预设格式可以根据实际情况进行合理设置,例如,可以是xml(extensiblemarkuplanguage,可扩展标记语言)格式。上述预设文件也可以是根据实际情况进行设置,例如,hosts文件。

可选的,实际应用中,在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,可以采用post方式向目标主机发送xml格式的远程执行命令,并检测目标主机中是否存在预设文件,在确定所述目标主机中存在预设文件的情况下,确定所述目标主机存在所述目标漏洞,在确定所述目标主机中不存在预设文件的情况下,确定所述目标主机不存在所述目标漏洞。

本发明实施例中,通过向所述目标主机发送预设格式的远程执行命令,并检测所述目标主机中是否存在预设文件,以检测目标主机是否存在目标漏洞,相比于现有技术中通过构造恶意代码检测漏洞,可以减少业务无关数据的产生,进而减小漏洞检测对主机的业务或数据造成的影响。

以下结合示例对本发明实施例提供的漏洞检测方法进行说明:

参见图2,本发明实施例提供的漏洞检测方法包括如下步骤:

步骤201、接收用户输入的待检测的目标地址或网段。

步骤202、探测待检测的网络内的所有存活主机。

该步骤中,可以利用python-nmap探测待检测的网络内的所有存活主机,避免遇到大规模扫描任务时不必要的空扫描。其中,python-nmap是一个使用nmap进行端口扫描的python库。

步骤203、探测存活主机的开放端口。

步骤204、识别所述存活主机中使用wls组件的目标主机。

该步骤中,可以从具有开放端口的存活主机中,识别使用wls组件的目标主机。

可选的,可以基于正则表达式匹配关键字来识别使用wls组件的目标主机,也可以是结合如下的指纹信息识别使用wls组件的目标主机:

页面的body、header、title关键字;

404页面;

特定文件(例如,静态文件)的md5值;需要说明的是,此处不限于特定文件的md5值,例如,也可以是特定文件的哈希值等;

指定url的关键字,也即上述预设url的关键字;

指定url的tag模式,也即上述预设url的tag模式。

该步骤中,通过结合多种指纹信息识别使用wls组件的目标主机,可以较为快捷和准确的识别出wls组件的目标主机,并可以减少扫描的等待时间和检测时间。

步骤205、检测目标主机是否已被攻击对象利用目标漏洞攻击,并留有恶意后门或程序。

该步骤中,以目标漏洞为远程命令执行漏洞为例,可以基于预先收集的多个wls远程命令执行漏洞利用脚本的特征信息,检测目标主机是否已被攻击对象利用该目标漏洞攻击,并留下恶意程序。并可以检测wls的预设目录是否有异常文件存在,例如“/uddiexplorer”、“/bea_wls_internal”、“/wls-wsat”等。

该步骤中,在检测到目标主机已被攻击对象利用该目标漏洞攻击的情况下,确定存在目标漏洞,在检测到目标主机未被攻击对象利用该目标漏洞攻击的情况下,执行步骤206。

步骤206、检测所述目标主机是否存在目标漏洞。

该步骤中,若目标主机存在目标漏洞,则可以将结果存入漏洞结果库。可选的,还可以生成漏洞检测报告,所述漏洞检测包括可以包括漏洞poc、请求响应、修复方案等信息,以供用户参考。

需要说明的是,上述目标主机可是服务器。

在该步骤中,相比于现有技术中利用大量的恶意代码暴力扫描主机,可能会产生大量的对业务数据无关的数据,对线上业务及性能产生较大影响,本发明实施例可以通过目标主机返回内容,判断漏洞是否存在,可以减少漏洞检测对线上业务及性能的影响。

具体的,可以采用post方式向目标主机发送xml远程执行命令,通过读取目标主机中的特定文件(也即上述预设文件)内容来判断漏洞是否存在,可以减少对主机上的业务或数据造成的影响,适合各个业务使用。

此外,本发明实施例提供的漏洞检测方法,还可以兼容多个类型代理(例如,http、https、socks4、socks5)等检测目标主机是否存在目标漏洞,并可以兼容tor代理和仿真tor浏览器。此外,除了默认ua外,还可以提供n(例如,2000)种不同的ua,在漏洞扫描检测过程中,可以不停随机或指定使用,使waf或防火墙难以阻拦。

可选的,本发明实施例提供的漏洞检测方法,可以基于wls组件远程命令执行漏洞进行漏洞扫描、验证和生成报告,可以采用python开发,可在windows、linux、mac等安装python运行环境的系统上运行。通过本发明实施例提供的漏洞检测方法,可以减少人工干预,实现自动化一键式操作,只需提供检测目标ip或网段,即可在扫描结束后获得wls组件远程命令执行漏洞的检测报告。

在一种可选的实施方式中,本发明实施例提供的漏洞检测方法的执行过程可以包括:可以首先调用wls组件远程命令执行漏洞扫描检测工具程序主函数、入口点,然后初始化wls组件远程命令执行漏洞扫描检测工具主界面;生成主界面按钮;选择漏洞扫描模块线程,或者选择漏洞验证模块线程;连接服务器和注册函数;执行命令函数;最后释放连接函数。漏洞扫描检测支持多主机地址、多端口漏洞扫描。界面友好,对人员能力要求低,适合任意人员使用,对人员能力要求低,且支持自定义命令执行,通过回显文本框返回扫描结果及命令执行结果,及时了解扫描进度、扫描结果及命令执行结果。

参见图3,图3是本发明实施例提供的漏洞检测装置的结构图。如图3所示,漏洞检测装置300包括:第一检测模块301、确定模块302和第二检测模块303,其中:

第一检测模块301,用于在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击,所述目标漏洞为与所述目标组件对应的漏洞;

确定模块302,用于在确定所述目标主机已被攻击对象利用所述目标漏洞攻击的情况下,确定所述目标主机存在所述目标漏洞;

第二检测模块303,用于在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,以检测所述目标主机是否存在所述目标漏洞。

可选的,所述第二检测模块具体用于:

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,基于洋葱路由器tor对所述目标主机执行漏洞检测;或者

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,通过预设的至少两个用户代理ua,对所述目标主机执行漏洞检测。

可选的,所述装置还包括:

识别模块,用于所述在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击之前,采用预设指纹识别方式,识别使用目标组件的目标主机。

可选的,所述预设指纹识别方式包括如下至少一项:

基于页面中主体、头部和标题中至少一项的关键字进行识别;

基于预设文件的md5值进行识别;

基于预设统一资源定位符url的关键字进行识别;

基于预设统一资源定位符url的标签模式进行识别;

基于404页面进行识别。

可选的,所述第一检测模块具体用于:

在识别出使用目标组件的目标主机的情况下,根据预设的特征信息,检测所述目标主机是否已被攻击对象利用目标漏洞攻击;

其中,所述预设的特征信息包括预设的所述目标漏洞的有效负载的特征信息。

可选的,所述目标组件为weblogic服务器组件,所述目标漏洞为远程命令执行漏洞。

可选的,所述第二检测模块具体用于:

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,向所述目标主机发送预设格式的远程执行命令;

检测所述目标主机中是否存在预设文件;

在确定所述目标主机中存在预设文件的情况下,确定所述目标主机存在所述目标漏洞;

在确定所述目标主机中不存在预设文件的情况下,确定所述目标主机不存在所述目标漏洞。

漏洞检测装置300能够实现图1至图2的方法实施例的漏洞检测方法的各个过程,并达到相同的效果为避免重复,这里不再赘述。

本发明实施例的漏洞检测装置300,第一检测模块301,用于在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击,所述目标漏洞为与所述目标组件对应的漏洞;确定模块302,用于在确定所述目标主机已被攻击对象利用所述目标漏洞攻击的情况下,确定所述目标主机存在所述目标漏洞;第二检测模块303,用于在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,以检测所述目标主机是否存在所述目标漏洞。由于优先通过检测目标主机是否发送过利用目标漏洞的攻击,并仅在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,才对所述目标主机执行漏洞检测,从而可以降低通过构造恶意代码检测漏洞的概率,进而降低因构造恶意代码检测漏洞,产生较多业务无关数据的概率。

本发明实施例还提供一种漏洞检测装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一方法实施例的漏洞检测方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的漏洞检测方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

参见图4,图4是本发明又一实施提供的漏洞检测装置的结构图,如图4所示,漏洞检测装置400包括:处理器401、存储器402及存储在所述存储器402上并可在所述处理器上运行的计算机程序,漏洞检测装置400中的各个组件通过总线接口403耦合在一起,所述计算机程序被所述处理器401执行时实现如下步骤:

在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击,所述目标漏洞为与所述目标组件对应的漏洞;

在确定所述目标主机已被攻击对象利用所述目标漏洞攻击的情况下,确定所述目标主机存在所述目标漏洞;

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,对所述目标主机执行漏洞检测,以检测所述目标主机是否存在所述目标漏洞。

可选的,所述计算机程序被所述处理器401执行时还用于:

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,基于洋葱路由器tor对所述目标主机执行漏洞检测;或者

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,通过预设的至少两个用户代理ua,对所述目标主机执行漏洞检测。

可选的,所述计算机程序被所述处理器401执行时还用于:

所述在识别出使用目标组件的目标主机的情况下,检测所述目标主机是否已被攻击对象利用目标漏洞攻击之前,采用预设指纹识别方式,识别使用目标组件的目标主机。

可选的,所述预设指纹识别方式包括如下至少一项:

基于页面中主体、头部和标题中至少一项的关键字进行识别;

基于预设文件的md5值进行识别;

基于预设统一资源定位符url的关键字进行识别;

基于预设统一资源定位符url的标签模式进行识别;

基于404页面进行识别。

可选的,所述计算机程序被所述处理器401执行时还用于:

在识别出使用目标组件的目标主机的情况下,根据预设的特征信息,检测所述目标主机是否已被攻击对象利用目标漏洞攻击;

其中,所述预设的特征信息包括预设的所述目标漏洞的有效负载的特征信息。

可选的,所述目标组件为weblogic服务器组件,所述目标漏洞为远程命令执行漏洞。

可选的,所述计算机程序被所述处理器401执行时还用于:

在确定所述目标主机未被攻击对象利用所述目标漏洞攻击的情况下,向所述目标主机发送预设格式的远程执行命令;

检测所述目标主机中是否存在预设文件;

在确定所述目标主机中存在预设文件的情况下,确定所述目标主机存在所述目标漏洞;

在确定所述目标主机中不存在预设文件的情况下,确定所述目标主机不存在所述目标漏洞。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

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

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

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