发明内容
基于此,有必要针对上述技术问题,提供一种能够简化漏洞的搭建方式的漏洞模拟方法、装置、计算机设备和存储介质。
一种漏洞模拟方法,应用于漏洞模拟端,所述方法包括:
接收攻击端发送的目标请求;
将所述目标请求中的流量特征与预设的漏洞模拟文件中的至少一条特征匹配规则进行匹配,确定匹配成功的目标特征匹配规则;
根据所述目标特征匹配规则,确定所述目标请求的流量类型;
若所述目标请求的流量类型为攻击流量,则将所述预设的漏洞模拟文件中与所述目标特征匹配规则相对应的目标响应数据返回至所述攻击端。
在其中一个实施例中,所述方法还包括:
若所述目标请求的流量类型为检测流量,则将所述预设的漏洞模拟文件中与所述目标特征匹配规则相对应的漏洞参数返回至所述攻击端。
在其中一个实施例中,所述漏洞参数包括漏洞版本。
在其中一个实施例中,所述根据所述目标特征匹配规则,确定所述目标请求的流量类型,包括:
在所述预设的漏洞模拟文件中,读取构建有特征匹配规则与流量类型对应关系的表格;
在所述表格中,查找与所述目标特征匹配规则相对应的流量类型,确定为所述目标请求的流量类型。
在其中一个实施例中,所述方法还包括:
若所述目标请求中的流量特征与预设的漏洞模拟文件中的所有特征匹配规则均匹配失败,则输出针对所述目标请求的报错信息。
在其中一个实施例中,所述若所述目标请求的流量类型为攻击流量,则将所述预设的漏洞模拟文件中与所述目标特征匹配规则相对应的目标响应数据返回至所述攻击端,包括:
若所述目标请求的流量类型为攻击流量,则获取所述预设的漏洞模拟文件中与所述目标特征匹配规则相对应的初始响应数据和模板语言;
根据所述模板语言对所述初始响应数据进行转换,得到指定格式的目标响应数据,其中,所述指定格式与所述模板语言相对应;
将所述目标响应数据返回至所述攻击端。
在其中一个实施例中,所述方法还包括:
响应于所述漏洞模拟端的开启信号,从本地硬盘中读取所述预设的漏洞模拟文件。
一种漏洞模拟装置,用于漏洞模拟端,所述装置包括:
请求接收模块,用于接收攻击端发送的目标请求;
规则匹配模块,用于将所述目标请求中的流量特征与预设的漏洞模拟文件中的至少一条特征匹配规则进行匹配,确定匹配成功的目标特征匹配规则;
类型确定模块,用于根据所述目标特征匹配规则,确定所述目标请求的流量类型;
数据返回模块,用于若所述目标请求的流量类型为攻击流量,则将所述预设的漏洞模拟文件中与所述目标特征匹配规则相对应的目标响应数据返回至所述攻击端。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收攻击端发送的目标请求;
将所述目标请求中的流量特征与预设的漏洞模拟文件中的至少一条特征匹配规则进行匹配,确定匹配成功的目标特征匹配规则;
根据所述目标特征匹配规则,确定所述目标请求的流量类型;
若所述目标请求的流量类型为攻击流量,则将所述预设的漏洞模拟文件中与所述目标特征匹配规则相对应的目标响应数据返回至所述攻击端。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收攻击端发送的目标请求;
将所述目标请求中的流量特征与预设的漏洞模拟文件中的至少一条特征匹配规则进行匹配,确定匹配成功的目标特征匹配规则;
根据所述目标特征匹配规则,确定所述目标请求的流量类型;
若所述目标请求的流量类型为攻击流量,则将所述预设的漏洞模拟文件中与所述目标特征匹配规则相对应的目标响应数据返回至所述攻击端。
上述漏洞模拟方法、装置、计算机设备和存储介质,将攻击端发送的目标请求中的流量特征与漏洞模拟文件中的特征匹配规则进行匹配,确定目标特征匹配规则,进而确定目标请求的流量类型,若目标请求的流量类型为攻击流量,则将漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。本申请采用用于漏洞模拟的模板文件,该模板文件中配置有与攻击流量相匹配的特征匹配规则、响应于攻击端的响应数据等,并通过规则匹配的方式确定返回至攻击端的响应数据,如此可实现模拟真实漏洞环境的目的,而无需在软件***或硬件设备中搭建真实的漏洞环境,简化了漏洞的搭建方式,且降低了成本。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的漏洞模拟方法,可以应用于如图1所示的应用环境中。其中,攻击端102通过网络与漏洞模拟端104进行通信。攻击端102向漏洞模拟端104发出目标请求。漏洞模拟端104接收到该目标请求,先将目标请求中的流量特征与预设的漏洞模拟文件中的至少一条特征匹配规则进行匹配,确定匹配成功的目标特征匹配规则,然后根据目标特征匹配规则,确定目标请求的流量类型,最后若目标请求的流量类型为攻击流量,则将预设的漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。
其中,攻击端102可全部或部分通过软件、硬件及其组合来实现。漏洞模拟端104可全部或部分通过软件、硬件及其组合来实现。当攻击端102和漏洞模拟端104都由软件实现时,攻击端102和漏洞模拟端104可同时安装在同一计算机设备中,也可以分别安装在不同的计算机设备中。该计算机设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,也可以是独立的服务器或者是多个服务器组成的服务器集群。
在一个实施例中,如图2所示,提供了一种漏洞模拟方法,以该方法应用于图1中的漏洞模拟端为例进行说明,包括以下步骤:
步骤S202,接收攻击端发送的目标请求。
其中,攻击端用于发起针对网络流量的攻击。
具体地,漏洞模拟端通过监听指定端口,在攻击端向漏洞模拟端发出目标请求后,可及时接收到该目标请求。
步骤S204,将目标请求中的流量特征与预设的漏洞模拟文件中的至少一条特征匹配规则进行匹配,确定匹配成功的目标特征匹配规则。
其中,漏洞模拟文件是指用于模拟漏洞的模板文件。根据不同协议特性,预设响应数据为模板文件。漏洞模拟文件中配置有:用于与流量特征匹配的特征匹配规则、用于响应攻击端请求的响应数据以及用于对响应数据的格式进行动态调整的模板语言。漏洞模拟文件用于实现对特定漏洞模拟。
具体地,漏洞模拟端首先解析出目标请求中的流量特征,例如请求头、请求方法、域名、请求路径、传参信息(例如query位置处的信息、body位置处的信息)等等。然后,漏洞模拟端将该流量特征与预设的漏洞模拟文件中的至少一条特征匹配规则进行匹配,得到匹配成功的目标特征匹配规则。
步骤S206,根据目标特征匹配规则,确定目标请求的流量类型。
其中,特征匹配规则与流量类型预先建立了对应关系。
具体地,漏洞模拟端根据目标特征匹配规则,查找对应的流量类型,并确定为目标请求的流量类型。可选地,流量类型包括检测流量或攻击流量中的一种或多种。
步骤S208,若目标请求的流量类型为攻击流量,则将预设的漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。
具体地,若目标请求的流量类型为攻击流量,则漏洞模拟端将漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。可见,本实施例完全根据模板文件生成对应响应,模拟漏洞网络流量间的通讯,从而完成攻击流量全流程检测。
上述漏洞模拟方法中,将攻击端发送的目标请求中的流量特征与漏洞模拟文件中的特征匹配规则进行匹配,确定目标特征匹配规则,进而确定目标请求的流量类型,若目标请求的流量类型为攻击流量,则将漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。本方法采用用于漏洞模拟的模板文件,该模板文件中配置有与攻击流量相匹配的特征匹配规则、响应于攻击端的响应数据等,并通过规则匹配的方式确定返回至攻击端的响应数据,如此可实现模拟真实漏洞环境的目的,而无需在软件***或硬件设备中搭建真实的漏洞环境,简化了漏洞的搭建方式,且降低了成本。
在一个实施例中,该方法还包括以下步骤:
步骤S209,若目标请求的流量类型为检测流量,则将预设的漏洞模拟文件中与目标特征匹配规则相对应的漏洞参数返回至攻击端。
其中,漏洞参数是指与漏洞相关的参数。可选地,漏洞参数包括漏洞版本、漏洞类型等等。
具体地,若目标请求的流量类型为获取漏洞参数等检测流量,则漏洞模拟端从预设的漏洞模拟文件中读取与目标特征匹配规则相对应的漏洞参数,并将该漏洞参数返回至攻击端,以此来诱导攻击端完成漏洞攻击。
本实施例中,在漏洞模拟文件中预先配置有作为检测流量请求的漏洞参数响应,这样在攻击端请求待检测数据时,将待检测数据-漏洞参数返回至攻击端,使得漏洞模拟更贴合于真实场景,有利于提高漏洞模拟的准确性。
在一个实施例中,涉及上述步骤S206“根据目标特征匹配规则,确定目标请求的流量类型”的一种可能的实现方式。在上述实施例的基础上,步骤S206具体可以通过以下步骤实现:
步骤S2062,在预设的漏洞模拟文件中,读取构建有特征匹配规则与流量类型对应关系的表格;
步骤S2064,在表格中,查找与目标特征匹配规则相对应的流量类型,确定为目标请求的流量类型。
其中,预先在漏洞模拟文件中,将特征匹配规则、流量类型及两者间对应关系以表格形式存储。
具体地,漏洞模拟端在预设的漏洞模拟文件中,读取构建有特征匹配规则与流量类型对应关系的表格,并在该表格中,查找与目标特征匹配规则相对应的流量类型,确定为目标请求的流量类型。
本实施例中,通过查表,可快速确定目标特征匹配规则对应的流量类型,有利于提高漏洞模拟效率。
在一个实施例中,该方法还包括以下步骤:
步骤S205,若目标请求中的流量特征与预设的漏洞模拟文件中的所有特征匹配规则均匹配失败,则输出针对目标请求的报错信息。
具体地,若目标请求中的流量特征与预设的漏洞模拟文件中的所有特征匹配规则均匹配失败,即漏洞模拟文件中没有配置该流量特征对应的特征匹配规则,表明该流量特征可能是新的流量特征,对此,漏洞模拟端输出针对目标请求的报错信息。用户在获知该报错信息后,可在漏洞模拟文件中添加该流量特征对应的特征匹配规则以及响应数据等等,如此在漏洞模拟端再次接收到该流量特征后,可成功匹配到特征匹配规则。
本实施例中,针对匹配失败的流量特征输出报错信息,以告知用户及时新增新的特征匹配规则,有利于提高漏洞攻击检测的准确性。
在一个实施例中,涉及上述步骤S208“若目标请求的流量类型为攻击流量,则将预设的漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端”的一种可能的实现方式。在上述实施例的基础上,步骤S208具体可以通过以下步骤实现:
步骤S2082,若目标请求的流量类型为攻击流量,则获取预设的漏洞模拟文件中与目标特征匹配规则相对应的初始响应数据和模板语言;
步骤S2084,根据模板语言对初始响应数据进行转换,得到指定格式的目标响应数据;
步骤S2086,将目标响应数据返回至攻击端。
其中,模板语言用于定义响应数据的格式,例如可以是图片格式、音频格式等等。可以理解,指定格式与模板语言相对应。该指定格式为解析得到的攻击流量所请求的数据格式。
具体地,若目标请求的流量类型为攻击流量,则漏洞模拟端获取预设的漏洞模拟文件中与目标特征匹配规则相对应的初始响应数据和模板语言,然后根据模板语言对初始响应数据进行转换,构建响应于该攻击流量所需格式的目标响应数据,最后将目标响应数据返回至攻击端。
本实施例中,可根据攻击请求动态地输出不同格式的响应数据。
在一个实施例中,该方法还包括以下步骤:
步骤S201,响应于漏洞模拟端的开启信号,从本地硬盘中读取预设的漏洞模拟文件。
具体地,在漏洞模拟端开启时,漏洞模拟端从本地硬盘中读取预设的漏洞模拟文件。该本地硬盘是指漏洞模拟端所在计算机设备中的硬盘。
本实施例中,在漏洞模拟端开启时主动读取本地漏洞模拟文件,保证漏洞攻击检测的顺利执行。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种漏洞模拟装置,包括:
请求接收模块302,用于接收攻击端发送的目标请求;
规则匹配模块304,用于将目标请求中的流量特征与预设的漏洞模拟文件中的至少一条特征匹配规则进行匹配,确定匹配成功的目标特征匹配规则;
类型确定模块306,用于根据目标特征匹配规则,确定目标请求的流量类型;
数据返回模块308,用于若目标请求的流量类型为攻击流量,则将预设的漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。
上述漏洞模拟装置中,将攻击端发送的目标请求中的流量特征与漏洞模拟文件中的特征匹配规则进行匹配,确定目标特征匹配规则,进而确定目标请求的流量类型,若目标请求的流量类型为攻击流量,则将漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。本装置采用用于漏洞模拟的模板文件,该模板文件中配置有与攻击流量相匹配的特征匹配规则、响应于攻击端的响应数据等,并通过规则匹配的方式确定返回至攻击端的响应数据,如此可实现模拟真实漏洞环境的目的,而无需在软件***或硬件设备中搭建真实的漏洞环境,简化了漏洞的搭建方式,且降低了成本。
在一个实施例中,该装置还包括:
参数返回模块,用于若目标请求的流量类型为检测流量,则将预设的漏洞模拟文件中与目标特征匹配规则相对应的漏洞参数返回至攻击端。
在一个实施例中,类型确定模块306具体用于在预设的漏洞模拟文件中,读取构建有特征匹配规则与流量类型对应关系的表格;在表格中,查找与目标特征匹配规则相对应的流量类型,确定为目标请求的流量类型。
在一个实施例中,该装置还包括:
信息输出模块,用于若目标请求中的流量特征与预设的漏洞模拟文件中的所有特征匹配规则均匹配失败,则输出针对目标请求的报错信息。
在一个实施例中,数据返回模块308具体用于若目标请求的流量类型为攻击流量,则获取预设的漏洞模拟文件中与目标特征匹配规则相对应的初始响应数据和模板语言;根据模板语言对初始响应数据进行转换,得到指定格式的目标响应数据;将目标响应数据返回至攻击端。
在一个实施例中,该装置还包括:
文件读取模块,用于响应于漏洞模拟端的开启信号,从本地硬盘中读取预设的漏洞模拟文件。
关于漏洞模拟装置的具体限定可以参见上文中对于漏洞模拟方法的限定,在此不再赘述。上述漏洞模拟装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种漏洞模拟方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收攻击端发送的目标请求;
将目标请求中的流量特征与预设的漏洞模拟文件中的至少一条特征匹配规则进行匹配,确定匹配成功的目标特征匹配规则;
根据目标特征匹配规则,确定目标请求的流量类型;
若目标请求的流量类型为攻击流量,则将预设的漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。
上述计算机设备中,将攻击端发送的目标请求中的流量特征与漏洞模拟文件中的特征匹配规则进行匹配,确定目标特征匹配规则,进而确定目标请求的流量类型,若目标请求的流量类型为攻击流量,则将漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。本计算机设备采用用于漏洞模拟的模板文件,该模板文件中配置有与攻击流量相匹配的特征匹配规则、响应于攻击端的响应数据等,并通过规则匹配的方式确定返回至攻击端的响应数据,如此可实现模拟真实漏洞环境的目的,而无需在软件***或硬件设备中搭建真实的漏洞环境,简化了漏洞的搭建方式,且降低了成本。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标请求的流量类型为检测流量,则将预设的漏洞模拟文件中与目标特征匹配规则相对应的漏洞参数返回至攻击端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在预设的漏洞模拟文件中,读取构建有特征匹配规则与流量类型对应关系的表格;在表格中,查找与目标特征匹配规则相对应的流量类型,确定为目标请求的流量类型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标请求中的流量特征与预设的漏洞模拟文件中的所有特征匹配规则均匹配失败,则输出针对目标请求的报错信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标请求的流量类型为攻击流量,则获取预设的漏洞模拟文件中与目标特征匹配规则相对应的初始响应数据和模板语言;根据模板语言对初始响应数据进行转换,得到指定格式的目标响应数据;将目标响应数据返回至攻击端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
响应于漏洞模拟端的开启信号,从本地硬盘中读取预设的漏洞模拟文件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收攻击端发送的目标请求;
将目标请求中的流量特征与预设的漏洞模拟文件中的至少一条特征匹配规则进行匹配,确定匹配成功的目标特征匹配规则;
根据目标特征匹配规则,确定目标请求的流量类型;
若目标请求的流量类型为攻击流量,则将预设的漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。
上述计算机可读存储介质中,将攻击端发送的目标请求中的流量特征与漏洞模拟文件中的特征匹配规则进行匹配,确定目标特征匹配规则,进而确定目标请求的流量类型,若目标请求的流量类型为攻击流量,则将漏洞模拟文件中与目标特征匹配规则相对应的目标响应数据返回至攻击端。本计算机可读存储介质采用用于漏洞模拟的模板文件,该模板文件中配置有与攻击流量相匹配的特征匹配规则、响应于攻击端的响应数据等,并通过规则匹配的方式确定返回至攻击端的响应数据,如此可实现模拟真实漏洞环境的目的,而无需在软件***或硬件设备中搭建真实的漏洞环境,简化了漏洞的搭建方式,且降低了成本。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标请求的流量类型为检测流量,则将预设的漏洞模拟文件中与目标特征匹配规则相对应的漏洞参数返回至攻击端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在预设的漏洞模拟文件中,读取构建有特征匹配规则与流量类型对应关系的表格;在表格中,查找与目标特征匹配规则相对应的流量类型,确定为目标请求的流量类型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标请求中的流量特征与预设的漏洞模拟文件中的所有特征匹配规则均匹配失败,则输出针对目标请求的报错信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标请求的流量类型为攻击流量,则获取预设的漏洞模拟文件中与目标特征匹配规则相对应的初始响应数据和模板语言;根据模板语言对初始响应数据进行转换,得到指定格式的目标响应数据;将目标响应数据返回至攻击端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
响应于漏洞模拟端的开启信号,从本地硬盘中读取预设的漏洞模拟文件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。