本发明涉及漏洞扫描技术领域,尤其是涉及一种漏洞的扫描方法及装置。
背景技术:
网络和信息安全技术已经经历了多年的发展,现如今,针对网络资产的漏洞扫描技术成为了信息安全领域的重点研究对象。
现有的网络资产的漏洞扫描器的一般扫描过程为:
步骤一:人工在漏洞扫描器中设置好待扫描资产名称及待扫描资产的存储地址,然后向漏洞扫描器下发扫描开始指令。
步骤二:漏洞扫描器根据扫描资产的存储地址,通过预设的网络协议与存储地址所对应的设备建立链接,对资产进行漏洞扫描。
步骤三:扫描器反馈对资产进行漏洞扫描的扫描结果。
上述漏洞扫描器需要有人工主动设置待扫描资产名称及待扫描资产的存储地址,来发起漏洞扫描操作,具有人力成本较高的技术问题。
技术实现要素:
有鉴于此,本发明的目的在于提供一种漏洞扫描的方法及装置,以缓解传统的漏洞扫描器扫描漏洞时存在的人力成本较高的技术问题。
第一方面,本发明实施例提供了一种漏洞的扫描方法,应用于探测器,所述探测器安装在终端设备和服务器之间,所述方法包括:
所述探测器获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求,其中,所述漏洞扫描请求中包括所述资产的名称信息;
所述探测器根据所述名称信息,读取所述资产的地址信息,其中,所述地址信息为预先基于所述用户的历史访问信息建立的地址信息,所述历史访问信息包括历史访问的资产的名称信息和地址信息;
所述探测器向所述资产的漏洞扫描器推送所述地址信息,以便所述漏洞扫描器对所述资产进行漏洞扫描。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,在获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求之前,所述方法包括:
在所述用户通过所述终端设备访问任意一个资产时,获取所述任意一个资产的地址信息;
将所述任意一个资产的地址信息和所述任意一个资产的名称信息对应地存储在所述探测器的存储器中。
结合第一方面第第一种可能得实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,在所述用户通过终端设备访问任意一个资产时,获取所述任意一个资产的地址信息,包括:
在所述用户通过所述终端设备访问任意一个资产时,所述探测器获取所述终端设备发送的访问请求;
根据所述访问请求,确定传送所述访问请求的通信协议,其中,所述通信协议为所述终端设备和所述服务器之间传输所述访问请求的协议;
对所述通信协议进行解析,得到所述访问请求的数据格式;
基于所述数据格式,在所述访问请求中查询地址信息。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,将所述任意一个资产的地址信息和所述任意一个资产的名称信息对应地存储在所述探测器的存储器中,包括:
在所述访问请求中查询得到所述任意一个资产的地址信息的之后,向所述存储器中缓存所述地址信息。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述地址信息包括:
存储所述资产的服务器地址或者所述资产的统一资源定位符。
第二方面,本发明实施例还提供一种漏洞的扫描装置,所述装置安装在终端设备和服务器之间,所述装置包括:
第一获取模块,用于获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求,其中,所述漏洞扫描请求中包括所述资产的名称信息;
读取模块,用于根据所述名称信息,读取所述资产的地址信息,其中,所述地址信息为预先基于所述用户的历史访问信息建立的地址信息,所述历史访问信息包括历史访问的资产的名称信息和地址信息;
推送模块,用于向所述资产的漏洞扫描器推送所述地址信息,以便所述漏洞扫描器对所述资产进行漏洞扫描。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述装置包括:
第二获取模块,用于在获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求之前,在所述用户通过所述终端设备访问任意一个资产时,获取所述任意一个资产的地址信息;
存储模块,用于将所述任意一个资产的地址信息和所述任意一个资产的名称信息对应地存储在所述装置的存储器中。
结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述第二获取模块包括:
获取单元,用于在所述用户通过所述终端设备访问任意一个资产时,获取所述终端设备发送的访问请求;
确定单元,用于根据所述访问请求,确定传送所述访问请求的通信协议,其中,所述通信协议为所述终端设备和所述服务器之间传输所述访问请求的协议;
解析单元,用于对所述通信协议进行解析,得到所述访问请求的数据格式;
查询单元,用于基于所述数据格式,在所述访问请求中查询地址信息。
结合第二方面的第二种可能的实施方式,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述存储模块用于:
在所述访问请求中查询得到所述任意一个资产的地址信息的之后,向所述存储器中缓存所述地址信息。
结合第二方面,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述地址信息包括:
存储所述资产的服务器地址或者所述资产的统一资源定位符。
本发明实施例带来了以下有益效果:该种漏洞的扫描方法中包括获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求,根据漏洞扫描请求中的资产的名称信息读取资产的地址信息,然后向资产的漏洞扫描器推送地址信息,以便漏洞扫描器对资产进行漏洞扫描,其中,地址信息为预先基于用户的历史访问信息建立的地址信息,从而无需用户输入地址信息,缓解了传统的漏洞扫描器扫描漏洞时存在的人力成本较高的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种漏洞的扫描方法的流程图;
图2为本发明实施例一提供的另一种漏洞的扫描方法的流程图;
图3为本发明实施例二提供的一种漏洞的扫描方法的结构框图;
图4为本发明实施例二提供的另一种漏洞的扫描方法的结构框图;
图5为本发明实施例二提供的第二获取模块的结构框图。
图标:100-第二获取模块;101-获取单元;102-确定单元;103-解析单元;104-查询单元;200-存储模块;300-第一获取模块;400-读取模块;500-推送模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前漏洞扫描器需要有人工主动设置待扫描资产名称及待扫描资产的存储地址来发起漏洞扫描操作,具有人力成本较高的技术问题。基于此,本发明实施例提供的一种漏洞的扫描方法及装置,可以缓解传统的漏洞扫描器扫描漏洞时存在的人力成本较高的技术问题。
实施例一
本发明实施例提供的一种漏洞的扫描方法,如图1所示,应用于探测器,探测器安装在终端设备和服务器之间,该种漏洞的扫描方法包括:
步骤s103,探测器获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求,其中,漏洞扫描请求中包括资产的名称信息。
步骤s104,探测器根据名称信息,读取资产的地址信息,其中,地址信息为预先基于用户的历史访问信息建立的地址信息,历史访问信息包括历史访问的资产的名称信息和地址信息。
步骤s105,探测器向资产的漏洞扫描器推送地址信息,以便漏洞扫描器对资产进行漏洞扫描。
需要说明的是,探测器安装在终端设备和服务器之间,是指终端设备能够访问探测器,且探测器可以访问服务器。其中,终端设备包括用户使用的用户主机,服务器包括存储资产的资产主机。进一步,探测器可以部署在用户主机能够访问的任意主机上,也可以部署到用户主机上或者资产主机上。
在本发明实施例中,该种漏洞的扫描方法中包括获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求,根据漏洞扫描请求中的资产的名称信息读取资产的地址信息,然后向资产的漏洞扫描器推送地址信息,以便漏洞扫描器对资产进行漏洞扫描,其中,地址信息为预先基于用户的历史访问信息建立的地址信息,从而无需用户输入地址信息,缓解了传统的漏洞扫描器扫描漏洞时存在的人力成本较高的技术问题。
本发明实施例的一个可选实施方式中,如图2所示,在获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求之前,漏洞的扫描方法,包括:
步骤s101,在用户通过终端设备访问任意一个资产时,获取任意一个资产的地址信息。
步骤s102,将任意一个资产的地址信息和任意一个资产的名称信息对应地存储在探测器的存储器中。
本发明实施例中,在用户通过终端设备访问任意一个资产时,获取任意一个资产的地址信息,使得用户通过终端设备访问的所有资产的地址信息和名称信息都对应地存储在了探测器的存储器中,即,对用户通过终端设备访问任意一个资产的进程进行了分析和过滤,从而有利于获取传统的扫描器进行漏洞扫描过程中不能发现或者难以发现的资产。
本发明实施例的另一个可选实施方式中,在用户通过终端设备访问任意一个资产时,获取任意一个资产的地址信息,包括:
在用户通过终端设备访问任意一个资产时,探测器获取终端设备发送的访问请求。
具体地,在用户通过终端设备访问任意一个资产时,用户通过终端设备发出一段数据报文,用以表示用户对资产进行操作,本发明实施例中的数据报文为通过一种通信协议进行通信的过程中所传递的数据报文,因而,数据报文中包含了相应通信协议所对应的格式数据。
此外,用户不局限于真正的操作人员,还应包含任何处于使用者角色一方的设备。
根据访问请求,确定传送访问请求的通信协议,其中,通信协议为终端设备和服务器之间传输访问请求的协议。
具体地,对访问请求中的数据报文进行解析,确定出传送访问请求的通信协议。
对通信协议进行解析,得到访问请求的数据格式;
基于数据格式,在访问请求中查询地址信息。
以对web资产进行漏洞扫描为例,终端设备发送了访问web资产的访问请求,探测器可以对访问请求进行安全套接层(securesocketslayer,简称ssl)解密后,对访问请求中的数据报文进行解析,然后确定出webhttp协议,进一步,对webhttp协议的访问请求进行解码,对访问请求的数据报文进行过滤,提取所关心的资产的地址信息。
具体地,例如用户在终端设备中通过浏览器发起访问https://www.dbapp.com/admin/login.php所对应的web资产时,探测器收到这样的链接请求后,进行ssl解密,然后解密出http协议和存放web资产的资产主机的地址信息。接下来,探测器和资产主机进行通信,资产主机作出相应的响应而向探测器推送https://www.dbapp.com/admin/login.php所对应的资产,探测器经过通信中的加密、编码等工作后将https://www.dbapp.com/admin/login.php所对应的资产推送给终端设备。在后续的漏洞扫描器扫描上述web资产时,探测器将终端设备和存放web资产的资产主机之间的通信信道信息推送给漏洞扫描器,有利于漏洞扫描器对web资产进行漏洞扫描的便捷性。
本发明实施例的另一个可选实施方式中,将任意一个资产的地址信息和任意一个资产的名称信息对应地存储在探测器的存储器中,包括:
在访问请求中查询得到任意一个资产的地址信息的之后,向存储器中缓存地址信息。
具体地,向存储器中缓存地址信息后,存储器对地址信息进行持久存储,存储器可以设置通用的软件开发工具包(softwaredevelopmentkit,简称sdk)接口,以便于接入各种异构的漏洞扫描器,使漏洞扫描器对存储器中存有的地址信息相对应的资产进行漏洞扫描。
本发明实施例的另一个可选实施方式中,地址信息包括:
存储资产的服务器地址或者资产的统一资源定位符。
具体地,地址信息可以为诸如192.168.54.200格式的服务器地址,也可以为诸如https://www.dbapp.com/admin/login.php格式的资源的统一资源定位符(uniformresourcelocator,简称url)。
实施例二
本发明实施例提供的一种漏洞的扫描装置,如图3所示,漏洞的扫描装置安装在终端设备和服务器之间,漏洞的扫描装置包括:
第一获取模块300,用于获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求,其中,漏洞扫描请求中包括资产的名称信息;
读取模块400,用于根据名称信息,读取资产的地址信息,其中,地址信息为预先基于用户的历史访问信息建立的地址信息,历史访问信息包括历史访问的资产的名称信息和地址信息;
推送模块500,用于向资产的漏洞扫描器推送地址信息,以便漏洞扫描器对资产进行漏洞扫描。
在本发明实施例中,第一获取模块300获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求,读取模块400根据漏洞扫描请求中的资产的名称信息读取资产的地址信息,然后推送模块500向资产的漏洞扫描器推送地址信息,以便漏洞扫描器对资产进行漏洞扫描,其中,地址信息为预先基于用户的历史访问信息建立的地址信息,从而该漏洞的扫描装置无需用户输入地址信息,缓解了传统的漏洞扫描器扫描漏洞时存在的人力成本较高的技术问题。
本发明实施例的另一个可选实施方式中,如图4所示,漏洞的扫描装置还包括:
第二获取模块100,用于在获取用户发送的对资产的漏洞进行扫描的漏洞扫描请求之前,在用户通过终端设备访问任意一个资产时,获取任意一个资产的地址信息;
存储模块200,用于将任意一个资产的地址信息和任意一个资产的名称信息对应地存储在装置的存储器中。
本发明实施例的另一个可选实施方式,如图5所示,第二获取模块100包括:
获取单元101,用于在用户通过终端设备访问任意一个资产时,获取终端设备发送的访问请求;
确定单元102,用于根据访问请求,确定传送访问请求的通信协议,其中,通信协议为终端设备和服务器之间传输访问请求的协议;
解析单元103,用于对通信协议进行解析,得到访问请求的数据格式;
查询单元104,用于基于数据格式,在访问请求中查询地址信息。
本发明实施例的另一个可选实施方式中,存储模块200用于:
在访问请求中查询得到任意一个资产的地址信息的之后,向存储器中缓存地址信息。
本发明实施例的另一个可选实施方式中,地址信息包括:
存储资产的服务器地址或者资产的统一资源定位符。
本发明实施例所提供的漏洞的扫描方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。