防御反射攻击的方法、装置和系统与流程

文档序号:11215699阅读:371来源:国知局
防御反射攻击的方法、装置和系统与流程

本发明涉及互联网安全领域,具体而言,涉及一种防御反射攻击的方法、装置和系统。



背景技术:

dns反射攻击已成为目前网络中的主流ddos攻击类型,如图1所示,其原理是攻击者利用控制的大量僵尸主机向互联网中众多的开放dns服务器发送dns请求,但请求中的源ip地址是被攻击者的ip,这样借助开放dns服务器的反弹,形成了dns反射攻击。dns反射攻击由于易实施、大流量、难追踪等特点,已成为发起大流量攻击的首选手段,对用户业务及其网络带来极大危害。因此,需要行之有效的方法对dns反射攻击进行防御清洗,以缓解对业务或网络的冲击。

为了对dns反射攻击进行防御清洗,可以采用域名过滤和白名单两种技术方法。域名过滤方法通过对攻击报文中的域名进行统计、排序,过滤掉包含topn域名的dnsreply报文,对于包含较少域名的攻击来说,如10个以下,能取得很好的防御效果,但是如果攻击中包含的域名比较多,针对每个域名的攻击流量占比都不高,则会有较多漏包,并可能误杀正常的dnsreply报文。白名单方法通过将业务对应的dns服务器的ip地址手工加入白名单,从这些ip地址过来的dnsreply报文直接放行,不是从这些ip地址过来的dnsreply报文则直接丢弃,该方法需要将所有相关的dns服务器地址都加入白名单,否则将影响业务,因此需要用户非常熟悉其网络中的各种业务,除了对用户技术能力要求比较高以外,只有针对小型网络的防护才较为可能。

为了克服上述两种方法的缺陷,可以采用会话检查方法,ddos清洗设备根据内网用户发送的dnsrequest报文创建五元组会话,当收到dnsreply报文之后,根据报文五元组查找会话,如果能够命中会话,则放行报文,如果命中不了会话,将丢弃报文。该方法中的清洗设备必须直路部署,即必须保证入流量和出流量都要实时经过ddos清洗设备。但是,直路部署存在这样几个问题:第一,部署难度高,为避免引入单点故障,需考虑冗余;第二,部署成本高,直路部署需要清洗设备的处理能力和链路带宽完全匹配,因此提高了用户的成本;第三,部署场景受限,类似城域网防护等需要保护整个网络流量的情况下,无法做到直路部署。同时,会话检查本身也需要针 对dns反射进行增强,目前的会话信息只记录了五元组信息,无法对dns报文的特有信息进行检查。

由于会话检查方法需要将清洗设备直路部署,当在清洗设备旁路部署的情况下,该方法会出现漏包或者误杀,无法有效防御dns反射攻击。

针对现有技术在清洗设备旁路部署的场景下,当前技术在防御反射攻击过程中存在漏包和误杀的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种防御反射攻击的方法、装置和系统,以至少解决现有技术在清洗设备旁路部署的场景下,当前技术在防御反射攻击过程中存在漏包和误杀的技术问题。

根据本发明实施例的一个方面,提供了一种防御反射攻击的方法,包括:检测设备获取访问主机发出的请求报文,并获取请求报文对应的会话;检测设备将请求报文对应的会话同步至清洗设备;其中,在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

根据本发明实施例的另一方面,还提供了一种防御反射攻击的方法,包括:清洗设备接收检测设备同步的会话,其中,会话为检测设备根据访问主机发出的请求报文获取到的会话;在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

根据本发明实施例的另一方面,还提供了一种防御反射攻击的装置,包括:第一获取模块,用于获取访问主机发出的请求报文,并获取请求报文对应的会话;同步模块,用于将请求报文对应的会话同步至清洗设备;其中,在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

根据本发明实施例的另一方面,还提供了一种防御反射攻击的装置,包括:第二接收模块,用于接收检测设备同步的会话,其中,会话为检测设备根据访问主机发出的请求报文获取到的会话;查询模块,用于在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

根据本发明实施例的另一方面,还提供了一种防御反射攻击的方法,包括:接收 响应报文;根据响应报文查询是否存在与响应报文匹配的会话;基于查询结果确定响应报文是否为攻击报文。

根据本发明实施例的另一方面,还提供了一种防御反射攻击的系统,包括:访问主机,用于发出请求报文;路由设备,连接于访问主机和响应服务器之间,用于将访问主机发送的请求报文转发至响应服务器;检测设备,旁路部署在路由设备上,用于通过路由设备获取访问主机发出的请求报文,并获取请求报文对应的会话;清洗设备,旁路部署在路由设备上,用于接收检测设备同步的请求报文对应的会话,并在接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

在本发明实施例中,检测设备可以获取访问主机发出的请求报文,以及请求报文对应的会话,并将请求报文对应的会话同步至清洗设备,清洗设备在接收到任意的响应报文之后,可以根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文,直接丢弃该响应报文。本方案可以通过检测设备将访问主机发出的请求报文对应的会话同步至清洗设备,由清洗设备根据同步得到的会话对响应服务器返回的响应报文进行清洗,实现对反射攻击流量进行清洗的目的。

容易注意到,由于检测设备获取访问主机发出的全部请求报文,仅将请求报文对应的会话同步至清洗设备,清洗设备仅接收检测设备同步的请求报文对应的对话,并不直接接收访问主机发出的请求报文,因此,通过本申请实施例所提供的方案,可以实现在清洗设备不需要直路部署的条件下,对反射攻击流量进行清洗,达到防御反射攻击的效果。

由此,本发明提供的方案解决了现有技术在清洗设备旁路部署的场景下,当前技术在防御反射攻击过程中存在漏包和误杀的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术的一种dns反射攻击原理的示意图;

图2是根据本申请实施例的一种防御反射攻击的方法的计算机终端的硬件结构框图;

图3是根据本申请实施例一的一种防御反射攻击的方法的流程图;

图4是根据本申请实施例一的一种可选的防御反射攻击的系统的示意图;

图5是根据本申请实施例一的一种可选的检测设备处理方法的流程图;

图6是根据本申请实施例一的一种可选的会话数据结构的示意图;

图7是根据本申请实施例一的一种可选的同步报文格式的示意图;

图8是根据本申请实施例一的一种可选的清洗设备处理方法的流程图;

图9是根据本申请实施例一的另一种可选的清洗设备处理方法的流程图;

图10是根据本申请实施例一的一种可选的防御反射攻击的方法的交互图;

图11是根据本申请实施例二的一种防御反射攻击的方法的流程图;

图12是根据本申请实施例三的一种防御反射攻击的装置的示意图;

图13是根据本申请实施例三的一种可选的防御反射攻击的装置的示意图;

图14是根据本申请实施例三的一种可选的防御反射攻击的装置的示意图;

图15是根据本申请实施例三的一种可选的防御反射攻击的装置的示意图;

图16是根据本申请实施例四的一种防御反射攻击的装置的示意图;

图17是根据本申请实施例四的一种可选的防御反射攻击的装置的示意图;

图18是根据本申请实施例四的一种可选的防御反射攻击的装置的示意图;

图19是根据本申请实施例五的一种防御反射攻击的系统的示意图;

图20是根据本申请实施例六的一种防御反射攻击的方法的流程图;以及

图21是根据本申请实施例的一种计算机终端的结构框图。

具体实施方式

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

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这 样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

ddos攻击:分布式拒绝服务,distributeddenialofservice的简写,以分散攻击源来黑进指定网站的黑客方式。ddos的攻击方式有很多种,最基本的dos攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的相应。

流量清洗:主要原理是在收到ddos攻击的大流量时,把流量牵引到安全的地方进行清洗,然后把正常的报文返回至目标主机。

五元组信息:源ip地址,源端口,目的ip地址,目的端口和传输层协议。

实施例1

根据本申请实施例,还提供了一种防御反射攻击的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图2是根据本申请实施例的一种防御反射攻击的方法的计算机终端的硬件结构框图。如图2所示,计算机终端20可以包括一个或多个(图中仅示出一个)处理器202(处理器202可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器204、以及用于通信功能的传输模块206。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。

存储器204可用于存储应用软件的软件程序以及模块,如本申请实施例中的防御反射攻击的方法对应的程序指令/模块,处理器202通过运行存储在存储器204内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的防御反射攻击的方法。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204 可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端20。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端20的通信供应商提供的无线网络。在一个实例中,传输装置206包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置206可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在上述运行环境下,本申请提供了如图3所示的防御反射攻击的方法。图3是根据本申请实施例一的一种防御反射攻击的方法的流程图,如图3所示,上述方法可以包括如下步骤:

步骤s32,检测设备获取访问主机发出的请求报文,并获取请求报文对应的会话。

具体的,上述步骤中的检测设备可以旁路部署在路由设备上,通过路由设备获取访问主机发出的请求报文,访问主机可以是路由设备建立的局域网内的主机,即内网主机。上述步骤中的请求报文可以是dnsrequest报文,也可以是udprequest报文,但不仅限于此。

在一种可选的方案中,为了减轻检测设备的压力,路由设备在接收到访问主机发出的请求报文之后,可以只将访问主机发出的请求报文镜像到检测设备上,并禁止将请求报文发送至清洗设备。检测设备在获取到路由设备镜像的请求报文之后,根据访问主机发出的请求报文,得到相应的会话信息。

例如,以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。图4是根据本申请实施例一的一种可选的防御反射攻击的系统的示意图,如图4所示,检测设备和清洗设备旁路部署在路由设备上,内网主机和外网主机通过路由设备连接。内网主机可以将dnsrequest报文(即图中的出流量)发送至路由设备,路由设备在接收到内网主机发出的dnsrequest报文之后,将该dnsrequest报文发送至外网主机,同时仅将dnsrequest报文镜像到检测设备上(即图中的出流量镜像),检测设备对镜像过来的dnsrequest报文进行实时监测,记录所有传出外网的dnsrequest报文信息,建立相应的会话表,并将会话信息实时同步到清洗设备(即图中的同步信息)。

步骤s34,检测设备将请求报文对应的会话同步至清洗设备;其中,在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如 果查询失败,则确定响应报文为攻击报文。

具体的,上述步骤中的清洗设备可以旁路部署在路由设备上,通过路由设备实时接收响应服务器任意时刻返回的响应报文,响应服务器可以是与路由设备通过网络连接的主机,即外网主机。上述步骤中的响应报文可以是dnsreply报文,也可以是udpreply报文,但不仅限于此,响应报文的类型与请求报文的类型相同。

在一种可选的方案中,路由设备在接收到响应服务器任意时刻返回的响应报文之后,可以将接收到的响应报文发送到清洗设备上,并禁止将响应报文发送至检测设备。清洗设备可以将同步得到的会话信息保存在本地,并在接收到任意一个响应报文之后,查询本地是否存在与该响应报文匹配的会话,如果查询失败,即接收到的响应报文与同步得到的会话信息不匹配,则确定该响应报文为攻击报文,丢弃该响应报文;如果查询成功,即接收到的响应报文与同步得到的会话信息匹配,则确定该响应报文为安全报文,将该响应报文返回至路由设备,路由设备将该响应报文返回至访问主机。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图4所示,路由设备可以在接收到外网主机返回的dnsreply报文(即图中的入流量)之后,仅将dnsreply报文发送到清洗设备,清洗设备根据同步得到的会话信息,对接收到的dnsreply报文进行清洗,查询同步得到的会话信息中是否存在与dnsreply报文匹配的会话。如果查询到同步得到的会话信息中存在与该dnsreply报文匹配的会话,则确定该dnsreply报文为安全报文,将该dnsreply报文(即图中的清洗后流量)返回至路由设备,由路由设备返回至内网主机。如果查询到同步得到的会话信息中不存在与该dnsreply报文匹配的会话,则确定该dnsreply报文为攻击报文,清洗设备直接将丢弃该dnsreply报文。

由上可知,本申请上述实施例一公开的方案中,检测设备可以获取访问主机发出的请求报文,以及请求报文对应的会话,并将请求报文对应的会话同步至清洗设备,清洗设备在接收到任意的响应报文之后,可以根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文,直接丢弃该响应报文。本方案可以通过检测设备将访问主机发出的请求报文对应的会话同步至清洗设备,由清洗设备根据同步得到的会话对响应服务器返回的响应报文进行清洗,实现对反射攻击流量进行清洗的目的。

容易注意到,由于检测设备获取访问主机发出的全部请求报文,仅将请求报文对应的会话同步至清洗设备,清洗设备仅接收检测设备同步的请求报文对应的对话,并不直接接收访问主机发出的请求报文,因此,通过本申请实施例所提供的方案,可以实现在清洗设备不需要直路部署的条件下,对反射攻击流量进行清洗,达到防御反射 攻击的效果。

由此,本申请提供的上述实施例一的方案解决了现有技术在清洗设备旁路部署的场景下,当前技术在防御反射攻击过程中存在漏包和误杀的技术问题。

此处需要说明的是,本申请不限于应用于dns反射攻击的防御,还可以应用于所有其他类型的udp反射攻击,例如:ntp反射攻击、snmp反射攻击等攻击的防御。

根据本申请上述实施例,步骤s32,获取请求报文对应的会话,可以包括如下步骤:

步骤s322,检测设备接收请求报文,并解析得到请求报文的五元组信息。

具体的,上述步骤中的五元组信息可以是源ip、目的ip、源端口、目的端口和协议号。

步骤s324,检测设备在本地查找是否存在与请求报文的五元组信息匹配的会话。

步骤s326,在成功查找到与请求报文的五元组信息匹配的会话的情况下,检测设备将查找到的会话作为请求报文对应的会话。

步骤s328,在查找失败的情况下,检测设备根据五元组信息创建新的会话。

图5是根据本申请实施例一的一种可选的检测设备处理方法的流程图,例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图5所示,检测设备在接收到路由设备镜像的访问主机发送的请求报文之后,判断该请求报文是否为dnsrequest报文,如果确定访问主机发送的是dnsrequest报文,则解析得到dnsrequest报文五元组信息,根据五元组信息在本地查找会话,判断是否在本地查找到会话,如果查找到,则将查找到的会话作为请求报文对应的会话;如果未查找到,则根据五元组信息创建会话。

此处需要说明的是,如果根据请求报文可以在本地查找到匹配的会话,则确定该请求报文对应的会话存在,无需创建会话。

通过上述步骤s322至步骤s328所提供的方案,检测设备可以根据请求报文的五元组信息创建请求报文对应的会话,从而实现清洗设备可以通过同步得到的会话信息对响应报文进行清洗。

根据本申请上述实施例,在步骤s32,获取请求报文对应的会话之后,上述方法还可以包括如下步骤:

步骤s362,检测设备提取请求报文中的报文信息,其中,报文信息至少包括如下 信息:第一查询标识和第一域名信息。

具体的,上述步骤中的第一查询标识可以是请求报文中的请求id(queryid),第一域名信息可以是请求报文中的请求域名。

步骤s364,检测设备将请求报文中的第一域名信息进行加密处理,得到请求报文对应的验证码。

具体的,上述步骤中的加密处理可以是哈希算法,但不仅限于此,其他类型的加密处理也可以实现本申请的目的。

在一种可选的方案中,检测设备可以通过哈希算法对第一域名信息进行处理,得到第一域名信息的验证码,即请求域名的哈希(hash)值。

步骤s366,检测设备将请求报文的第一查询标识和对应的验证码保存至请求报文对应的会话中。

图6是根据本申请实施例一的一种可选的会话数据结构的示意图,例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,结合图5和6,对本申请上述实施例进行说明。检测设备在接收到路由设备镜像的访问主机发送的dnsrequest报文之后,可以提取dnsrequest报文中的queryid和域名,将queryid写入会话的id字段。计算出域名的4字节hash值,将域名的hash值记录到会话的domain字段。

通过上述步骤s362至步骤s366所提供的方案,检测设备可以将第一查询标识和第一域名信息等报文信息保存至请求报文对应的会话中,从而实现对dns报文的特有信息进行检查,提高防御反射攻击的准确度。

根据本申请上述实施例,步骤s34,检测设备将请求报文对应的会话同步至清洗设备,可以包括如下步骤:

步骤s342,检测设备根据请求报文对应的会话生成同步报文,其中,同步报文至少包括:请求报文的五元组信息、第一查询标识和对应的验证码。

图7是根据本申请实施例一的一种可选的同步报文格式的示意图,如图7所示,在一种可选的方案中,同步报文中包括dnsrequest报文的五元组信息,queryid和请求域名的hash值。

步骤s344,检测设备将同步报文发送至清洗设备。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对 本申请上述实施例进行说明。如图5所示,检测设备创建完成会话之后,可以根据会话信息构造同步报文,并将同步报文发送给清洗设备。

通过上述步骤s342至步骤s344所提供的方案,检测设备可以根据会话生成同步报文,并发送至清洗设备,而不是直接将会话发送给清洗设备,减少资源消耗,提升资源利用率。

根据本申请上述实施例,在步骤s34,检测设备将同步报文发送至清洗设备之后,上述方法还可以包括如下步骤:

步骤s382,清洗设备提取同步报文中携带的五元组信息。

步骤s384,清洗设备基于同步报文中的五元组信息创建同步报文对应的会话。

步骤s386,清洗设备将同步报文中携带的第一查询标识和验证码写入同步报文对应的会话中,其中,同步报文对应的会话用于清洗响应服务器返回的响应报文。

图8是根据本申请实施例一的一种可选的清洗设备处理方法的流程图,例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图8所示,清洗设备在接收到检测设备发送的同步报文之后,可以提取同步报文中所携带的五元组信息,根据五元组信息创建会话,并将同步报文中的queryid和hash值写入创建好的会话相应的字段中。

通过上述步骤s382至步骤s386所提供的方案,清洗设备可以根据接收到的同步报文,在本地建立相应的会话,并在会话相应的字段记录相应的内容,从而实现清洗设备在接收到响应报文之后,可以通过查找本地是否存在匹配的会话,提高匹配查询速度。

根据本申请上述实施例,步骤s34,根据响应报文查询是否存在与响应报文匹配的会话,可以包括如下步骤:

步骤s346,清洗设备提取响应报文中的五元组信息。

步骤s348,清洗设备如果查询得到与响应报文的五元组信息相匹配的同步报文,则确定存在与响应报文匹配的会话;其中,在清洗设备确定存在与响应报文匹配的会话的情况下,确定响应报文为安全报文。

图9是根据本申请实施例一的另一种可选的清洗设备处理方法的流程图,例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图9所示,清洗设备可以在接收到路由设备发送的dnsreply报 文之后,提取报文中的五元组信息,并在本地查询该五元组信息是否与会话中记录的五元组信息是否相同,如果相同,则确定存在与dnsreply报文匹配的会话,从而确定该响应报文为安全报文,将该响应报文返回至路由设备,由路由设备返回至内网主机;如果不存在,则确定不存在与dnsreply报文匹配的会话,从而确定该响应报文为攻击报文,直接丢弃。

通过上述步骤s346至步骤s348所提供的方案,清洗设备可以通过查询与响应报文的五元组信息相匹配的同步报文,确定是否存在与响应报文匹配的会话,从而实现根据同步过来的会话信息,对反射攻击流量进行清洗的目的。

根据本申请上述实施例,在步骤s348,清洗设备确定存在与响应报文匹配的会话之后,并确定响应报文为安全报文之前,上述方法还可以包括如下步骤:

步骤s3402,清洗设备提取响应报文中的第二查询标识和第二域名信息。

具体的,上述步骤中的第二查询标识可以是响应报文中的请求id,第二域名信息可以是响应报文中的请求域名。

步骤s3404,清洗设备将第二域名信息进行加密处理,得到加密结果。

具体的,上述步骤中的加密处理可以是哈希算法,但不仅限于此,其他类型的加密处理也可以实现本申请的目的。

在一种可选的方案中,清洗设备可以通过哈希算法对第二域名信息进行处理,得到第二域名信息的加密结果,即请求域名的哈希(hash)值。

此处需要说明的是,为了保证验证码能够对加密结果进行验证,检测设备对第一域名信息的处理算法与清洗设备对第二域名信息的处理方法必须相同。

步骤s3406,清洗设备将响应报文的第二查询标识和加密结果分别与请求报文的第一查询标识和对应的验证码进行比较,其中,如果响应报文的第二查询标识与请求报文的第一查询标识相同,且响应报文对应的加密结果与请求报文对应的验证码一致,则确定响应报文为安全报文;如果响应报文的第二查询标识与请求报文的第一查询标识不同,和/或响应报文对应的加密结果与请求报文对应的验证码不一致,则确定响应报文为攻击报文,并丢弃攻击报文。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图9所示,如果清洗设备确定存在与dnsreply报文匹配的会话,即查询到与该五元组信息匹配的同步报文之后,可以提取dnsreply报文的queryid和请求域名,计算出请求域名的4字节hash值,将queryid和hash 值与查询得到的会话中的id字段和domain字段中的信息进行比较,如果相等,则确定该dnsreply报文为安全报文,转发至路由设备;如果不等,则直接丢弃该dnsreply报文。

通过上述步骤s3402至步骤s3406所提供的方案,不仅实现清洗设备可以通过响应报文的五元组信息对响应报文进行清洗,还可以对报文中特有的信息进行检查,提高防御反射攻击的准确度。

下面结合图4、图5、图8、图9和图10详细介绍本申请的一种优选实施例。

如图10所示,以dns反射攻击为应用场景,提供了一种可选的防御反射攻击的方法,该方法可以包括如下步骤s101至步骤s108:

步骤s101,访问主机190发送dns请求报文至路由设备192。

可选的,路由设备可以接收访问主机,即内网主机发送的dns请求报文。

步骤s102,路由设备192将dns请求报文转发到响应服务器194的同时,将dns请求报文镜像到检测设备196。

可选的,路由设备在接收到内网主机发送的报文之后,将报文转发到外网的响应服务器,即外网主机的同时,为了减轻检测设备的压力,将报文镜像到检测设备。

步骤s103,检测设备196根据dns请求报文获取会话,并将会话同步至清洗设备198。

可选的,检测设备接收到dns请求报文之后,可以根据报文的五元组信息查找会话,如果查找到,可以将查找到的会话作为dns请求报文对应的会话;如果查找不到,则根据五元组信息创建新的会话,同时提取出报文中的第一查询标识(即queryid)和第一域名信息(即请求域名),将queryid写入到会话中id字段。计算出请求域名的4字节hash值,将hash值记录到会话中的domain字段,获取到会话之后,根据会话信息构造同步报文,同步报文中包含会话的五元组信息和id、domain信息,之后将同步报文发送给清洗设备。

步骤s104,响应服务器194返回dns响应报文至路由设备192。

可选的,路由设备接收到的dns响应报文可以是响应服务器接收到访问主机的dns请求报文返回的dns响应报文,也可以是响应服务器接收到攻击者发送的请求报文之后返回的dns响应报文。

步骤s105,路由设备192将dns响应报文发送至清洗设备198。

可选的,路由设备将响应服务器,即外网主机返回的dns响应报文发送至清洗设备。

步骤s106,清洗设备198根据同步的会话确定接收到的dns响应报文是否为安全报文。

可选的,清洗设备接收到同步报文之后,根据同步报文中所携带的会话五元组信息创建会话,并将id字段和domain字段的信息写入会话相应字段。在接收到路由设备发送的dns响应报文之后,根据报文的五元组信息查找会话,如果查找不到会话,则丢弃报文;如果查找到会话,则提取出报文中的queryid和请求域名,计算出请求域名的4字节hash值,将queryid和hash值与会话中记录的id、domain信息进行比较,如果相等,则确定该dns响应报文为安全报文,如果不等,则丢弃该dns响应报文。

步骤s107,清洗设备198将安全报文返回至路由设备192。

步骤s108,路由设备192将安全报文返回至访问主机190。

可选的,清洗设备将清洗后的dns响应报文返回至路由设备,并由路由设备返回至访问主机,即内网主机。

通过上述步骤s101至步骤s108,提供了一种检测设备和清洗设备联动的同步会话检测方案,检测设备可以获取访问主机发出的请求报文,以及请求报文对应的会话,并将请求报文对应的会话同步至清洗设备,清洗设备在接收到任意的响应报文之后,可以根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文,直接丢弃该响应报文;如果查询成功,则确定响应报文为安全报文,返回至路由设备,并由路由设备返回至访问主机,从而,实现在清洗设备不需要直路部署的条件下,对反射攻击流量进行清洗,达到防御反射攻击的效果。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存 储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

实施例2

根据本申请实施例,还提供了一种防御反射攻击的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请提供了如图11所示的防御反射攻击的方法。图11是根据本申请实施例二的一种防御反射攻击的方法的流程图,如图11所示,上述方法可以包括如下步骤:

步骤s112,清洗设备接收检测设备同步的会话,其中,会话为检测设备根据访问主机发出的请求报文获取到的会话。

具体的,上述步骤中的清洗设备可以旁路部署在路由设备上,通过路由设备实时接收响应服务器任意时刻返回的响应报文,响应服务器可以是与路由设备通过网络连接的主机,即外网主机。上述步骤中的检测设备可以旁路部署在路由设备上,通过路由设备获取访问主机发出的请求报文,访问主机可以是路由设备建立的局域网内的主机,即内网主机。上述步骤中的请求报文可以是dnsrequest报文,也可以是udprequest报文,但不仅限于此。

在一种可选的方案中,为了减轻检测设备的压力,路由设备在接收到访问主机发出的请求报文之后,可以只将访问主机发出的请求报文镜像到检测设备上,并禁止将请求报文发送至清洗设备。检测设备在获取到路由设备镜像的请求报文之后,根据访问主机发出的请求报文,得到相应的会话信息,并将会话信息同步至清洗设备。

例如,以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图4所示,检测设备和清洗设备旁路部署在路由设备上,内网主机和外网主机通过路由设备连接。内网主机可以将dnsrequest报文(即图中的出流量)发送至路由设备,路由设备在接收到内网主机发出的dnsrequest报文之后,将该dnsrequest报文发送至外网主机,同时仅将dnsrequest报文镜像到检测设备上(即图中的出流量镜像),检测设备对镜像过来的dnsrequest报文进行实时监测,记录所有传出外网的dnsrequest报文信息,建立相应的会话表,并将会话信息实时同步到清洗设备(即图中的同步信息)。

步骤s114,在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

具体的,上述步骤中的响应报文可以是dnsreply报文,也可以是udpreply报文,但不仅限于此,响应报文的类型与请求报文的类型相同。

在一种可选的方案中,路由设备在接收到响应服务器任意时刻返回的响应报文之后,可以将接收到的响应报文发送到清洗设备上,并禁止将响应报文发送至检测设备。清洗设备可以将同步得到的会话信息保存在本地,并在接收到任意一个响应报文之后,查询本地是否存在与该响应报文匹配的会话,如果查询失败,即接收到的响应报文与同步得到的会话信息不匹配,则确定该响应报文为攻击报文,丢弃该响应报文;如果查询成功,即接收到的响应报文与同步得到的会话信息匹配,则确定该响应报文为安全报文,将该响应报文返回至路由设备,路由设备将该响应报文返回至访问主机。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图4所示,路由设备可以在接收到外网主机返回的dnsreply报文(即图中的入流量)之后,仅将dnsreply报文发送到清洗设备,清洗设备根据同步得到的会话信息,对接收到的dnsreply报文进行清洗,查询同步得到的会话信息中是否存在与dnsreply报文匹配的会话。如果查询到同步得到的会话信息中存在与该dnsreply报文匹配的会话,则确定该dnsreply报文为安全报文(即图中的清洗后流量),将该dnsreply报文返回至路由设备,由路由设备返回至内网主机。如果查询到同步得到的会话信息中不存在与该dnsreply报文匹配的会话,则确定该dnsreply报文为攻击报文,清洗设备直接将丢弃该dnsreply报文。

由上可知,本申请上述实施例二公开的方案中,清洗设备接收检测设备同步的会话,在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。本方案可以通过清洗设备根据同步得到的会话对响应服务器返回的响应报文进行清洗,实现对反射攻击流量进行清洗的目的。

容易注意到,由于检测设备获取访问主机发出的全部请求报文,仅将请求报文对应的会话同步至清洗设备,清洗设备仅接收检测设备同步的请求报文对应的对话,并不直接接收访问主机发出的请求报文,因此,通过本申请实施例所提供的方案,可以实现在清洗设备不需要直路部署的条件下,对反射攻击流量进行清洗,达到防御反射攻击的效果。

由此,本申请提供的上述实施例二的方案解决了现有技术在清洗设备旁路部署的场景下,当前技术在防御反射攻击过程中存在漏包和误杀的技术问题。

此处需要说明的是,本申请不限于应用于dns反射攻击的防御,还可以应用于所有其他类型的udp反射攻击,例如:ntp反射攻击、snmp反射攻击等攻击的防御。

根据本申请上述实施例,步骤s112,检测设备根据访问主机发出的请求报文获取到的会话,可以包括如下步骤:

步骤s1122,检测设备接收请求报文,并解析得到请求报文的五元组信息。

具体的,上述步骤中的五元组信息可以是源ip、目的ip、源端口、目的端口和协议号。

步骤s1124,检测设备在本地查找是否存在与请求报文的五元组信息匹配的会话。

步骤s1126,在成功查找到与请求报文的五元组信息匹配的会话的情况下,检测设备将查找到的会话作为请求报文对应的会话。

步骤s1128,在查找失败的情况下,检测设备根据五元组信息创建新的会话。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图5所示,检测设备在接收到路由设备镜像的访问主机发送的请求报文之后,判断该请求报文是否为dnsrequest报文,如果确定访问主机发送的是dnsrequest报文,则解析得到dnsrequest报文五元组信息,根据五元组信息在本地查找会话,判断是否在本地查找到会话,如果查找到,则将查找到的会话作为请求报文对应的会话;如果未查找到,则根据五元组信息创建会话。

此处需要说明的是,如果根据请求报文可以在本地查找到匹配的会话,则确定该请求报文对应的会话存在,无需创建会话。

通过上述步骤s1122至步骤s1128所提供的方案,检测设备可以根据请求报文的五元组信息创建请求报文对应的会话,从而实现清洗设备可以通过同步得到的会话信息对响应报文进行清洗。

根据本申请上述实施例,在步骤s112,检测设备根据访问主机发出的请求报文获取到的会话之后,上述方法还可以包括如下步骤:

步骤s1162,检测设备提取请求报文中的报文信息,其中,报文信息至少包括如下信息:第一查询标识和第一域名信息。

具体的,上述步骤中的第一查询标识可以是请求报文中的请求id(queryid),第一域名信息可以是请求报文中的请求域名。

步骤s1164,检测设备将请求报文中的第一域名信息进行加密处理,得到请求报文对应的验证码。

具体的,上述步骤中的加密处理可以是哈希算法,但不仅限于此,其他类型的加 密处理也可以实现本申请的目的。

在一种可选的方案中,检测设备可以通过哈希算法对第一域名信息进行处理,得到第一域名信息的验证码,即请求域名的哈希(hash)值。

步骤s1166,检测设备将请求报文的第一查询标识和对应的验证码保存至请求报文对应的会话中。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,结合图5和6,对本申请上述实施例进行说明。检测设备在接收到路由设备镜像的访问主机发送的dnsrequest报文之后,可以提取dnsrequest报文中的queryid和域名,将queryid写入会话的id字段。计算出域名的4字节hash值,将域名的hash值记录到会话的domain字段。

通过上述步骤s1162至步骤s1166所提供的方案,检测设备可以将第一查询标识和第一域名信息等报文信息保存至请求报文对应的会话中,从而实现对dns报文的特有信息进行检查,提高防御反射攻击的准确度。

根据本申请上述实施例,在步骤s112,清洗设备接收检测设备同步的会话之前,上述方法还可以包括如下步骤:

步骤s1102,检测设备根据请求报文对应的会话生成同步报文,其中,同步报文至少包括:请求报文的五元组信息、第一查询标识和对应的验证码。

如图7所示,在一种可选的方案中,同步报文中包括dnsrequest报文的五元组信息,queryid和请求域名的hash值。

步骤s1104,检测设备将同步报文发送至清洗设备。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图5所示,检测设备创建完成会话之后,可以根据会话信息构造同步报文,并将同步报文发送给清洗设备。

通过上述步骤s1102至步骤s1104所提供的方案,检测设备可以根据会话生成同步报文,并发送至清洗设备,而不是直接将会话发送给清洗设备,减少资源消耗,提升资源利用率。

根据本申请上述实施例,在步骤s112,清洗设备接收检测设备同步的会话之后,上述方法还可以包括如下步骤:

步骤s1182,清洗设备提取同步报文中携带的五元组信息。

步骤s1184,清洗设备基于同步报文中的五元组信息创建同步报文对应的会话。

步骤s1186,清洗设备将同步报文中携带的第一查询标识和验证码写入同步报文对应的会话中,其中,同步报文对应的会话用于清洗响应服务器返回的响应报文。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图8所示,清洗设备在接收到检测设备发送的同步报文之后,可以提取同步报文中所携带的会话五元组信息,根据五元组信息创建会话,并将同步报文中的queryid和hash值写入创建好的会话相应的字段中。

通过上述步骤s1182至步骤s1186所提供的方案,清洗设备可以根据接收到的同步报文,在本地建立相应的会话,并在会话相应的字段记录相应的内容,从而实现清洗设备在接收到响应报文之后,可以通过查找本地是否存在匹配的会话,提高匹配查询速度。

根据本申请上述实施例,步骤s114,根据响应报文查询是否存在与响应报文匹配的会话,可以包括如下步骤:

步骤s1142,清洗设备提取响应报文中的五元组信息。

步骤s1144,清洗设备如果查询得到与响应报文的五元组信息相匹配的同步报文,则确定存在与响应报文匹配的会话;其中,在清洗设备确定存在与响应报文匹配的会话的情况下,确定响应报文为安全报文。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图9所示,清洗设备可以在接收到路由设备发送的dnsreply报文之后,提取报文中的五元组信息,并在本地查询该五元组信息是否与会话中记录的五元组信息是否相同,如果相同,则确定存在与dnsreply报文匹配的会话,从而确定该响应报文为安全报文,将该响应报文返回至路由设备,由路由设备返回至内网主机;如果不存在,则确定不存在与dnsreply报文匹配的会话,从而确定该响应报文为攻击报文,直接丢弃。

通过上述步骤s1142至步骤s1144所提供的方案,清洗设备可以通过查询与响应报文的五元组信息相匹配的同步报文,确定是否存在与响应报文匹配的会话,从而实现根据同步过来的会话信息,对反射攻击流量进行清洗的目的。

根据本申请上述实施例,在步骤s1144,清洗设备确定存在与响应报文匹配的会话之后,并确定响应报文为安全报文之前,上述方法还可以包括如下步骤:

步骤s11462,清洗设备提取响应报文中的第二查询标识和第二域名信息。

具体的,上述步骤中的第二查询标识可以是响应报文中的请求id,第二域名信息可以是响应报文中的请求域名。

步骤s11464,清洗设备将第二域名信息进行加密处理,得到加密结果。

具体的,上述步骤中的加密处理可以是哈希算法,但不仅限于此,其他类型的加密处理也可以实现本申请的目的。

在一种可选的方案中,清洗设备可以通过哈希算法对第二域名信息进行处理,得到第二域名信息的加密结果,即请求域名的哈希(hash)值。

此处需要说明的是,为了保证验证码能够对加密结果进行验证,检测设备对第一域名信息的处理算法与清洗设备对第二域名信息的处理方法必须相同。

步骤s11466,清洗设备将响应报文的第二查询标识和加密结果分别与请求报文的第一查询标识和对应的验证码进行比较,其中,如果响应报文的第二查询标识与请求报文的第一查询标识相同,且响应报文对应的加密结果与请求报文对应的验证码一致,则确定响应报文为安全报文;如果响应报文的第二查询标识与请求报文的第一查询标识不同,和/或响应报文对应的加密结果与请求报文对应的验证码不一致,则确定响应报文为攻击报文,并丢弃攻击报文。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图9所示,如果清洗设备确定存在与dnsreply报文匹配的会话,即查询到与该五元组信息匹配的同步报文之后,可以提取dnsreply报文的queryid和请求域名,计算出请求域名的4字节hash值,将queryid和hash值与查询得到的会话中的id字段和domain字段中的信息进行比较,如果相等,则确定该dnsreply报文为安全报文,转发至路由设备;如果不等,则直接丢弃该dnsreply报文。

通过上述步骤s11462至步骤s11466所提供的方案,不仅可以实现清洗设备可以通过响应报文的五元组信息对响应报文进行清洗,还可以对报文中特有的信息进行检查,提高防御反射攻击的准确度。

实施例3

根据本申请实施例,还提供了一种用于实施上述防御反射攻击的方法的防御反射攻击的装置,如图12所示,该装置包括:第一获取模块122和同步模块124。

其中,第一获取模块122用于获取访问主机发出的请求报文,并获取请求报文对应的会话;同步模块124用于将请求报文对应的会话同步至清洗设备;其中,在清洗 设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

具体的,检测设备可以旁路部署在路由设备上,通过路由设备获取访问主机发出的请求报文,访问主机可以是路由设备建立的局域网内的主机,即内网主机。清洗设备可以旁路部署在路由设备上,通过路由设备实时接收响应服务器任意时刻返回的响应报文,响应服务器可以是与路由设备通过网络连接的主机,即外网主机。上述的请求报文可以是dnsrequest报文,也可以是udprequest报文,响应报文可以是dnsreply报文,也可以是udpreply报文,但不仅限于此,响应报文的类型与请求报文的类型相同。

此处需要说明的是,上述第一获取模块122和同步模块124对应于实施例一中的步骤s32至步骤s34,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端20中。

由上可知,本申请上述实施例三公开的方案中,检测设备可以获取访问主机发出的请求报文,以及请求报文对应的会话,并将请求报文对应的会话同步至清洗设备,清洗设备在接收到任意的响应报文之后,可以根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文,直接丢弃该响应报文。本方案可以通过检测设备将访问主机发出的请求报文对应的会话同步至清洗设备,由清洗设备根据同步得到的会话对响应服务器返回的响应报文进行清洗,实现对反射攻击流量进行清洗的目的。

容易注意到,由于检测设备获取访问主机发出的全部请求报文,仅将请求报文对应的会话同步至清洗设备,清洗设备仅接收检测设备同步的请求报文对应的对话,并不直接接收访问主机发出的请求报文,因此,通过本申请实施例所提供的方案,可以实现在清洗设备不需要直路部署的条件下,对反射攻击流量进行清洗,达到防御反射攻击的效果。

由此,本申请提供的上述实施例三的方案解决了现有技术在清洗设备旁路部署的场景下,当前技术在防御反射攻击过程中存在漏包和误杀的技术问题。

此处需要说明的是,本申请不限于应用于dns反射攻击的防御,还可以应用于所有其他类型的udp反射攻击,例如:ntp反射攻击、snmp反射攻击等攻击的防御。

根据本申请上述实施例,如图13所示,第一获取模块122可以包括:解析子模块132,查找子模块134,处理子模块136和创建子模块138。

其中,解析子模块132用于接收请求报文,并解析得到请求报文的五元组信息;查找子模块134用于在本地查找是否存在与请求报文的五元组信息匹配的会话;处理子模块136用于在成功查找到与请求报文的五元组信息匹配的会话的情况下,将查找到的会话作为请求报文对应的会话;创建子模块138用于在查找失败的情况下,根据五元组信息创建新的会话。

具体的,上述步骤中的五元组信息可以是源ip、目的ip、源端口、目的端口和协议号。

此处需要说明的是,如果根据请求报文可以在本地查找到匹配的会话,则确定该请求报文对应的会话存在,,无需创建会话。

此处还需要说明的是,上述解析子模块132,查找子模块134,处理子模块136和创建子模块138对应于实施例一中的步骤s322至步骤s328,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端20中。

通过上述方案,检测设备可以根据请求报文的五元组信息创建请求报文对应的会话,从而实现清洗设备可以通过同步得到的会话信息对响应报文进行清洗。

根据本申请上述实施例,如图14所示,上述装置还可以包括:第一提取模块142,第一处理模块144和保存模块146。

其中,第一提取模块142用于提取请求报文中的报文信息,其中,报文信息至少包括如下信息:第一查询标识和第一域名信息;第一处理模块144用于将请求报文中的第一域名信息进行加密处理,得到请求报文对应的验证码;保存模块146用于将请求报文的第一查询标识和对应的验证码保存至请求报文对应的会话中。

具体的,上述的第一查询标识可以是请求报文中的请求id(queryid),第一域名信息可以是请求报文中的请求域名。上述的加密处理可以是哈希算法,但不仅限于此,其他类型的加密处理也可以实现本申请的目的。

此处需要说明的是,上述第一提取模块142,第一处理模块144和保存模块146对应于实施例一中的步骤s362至步骤s366,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端20中。

通过上述方案,检测设备可以将第一查询标识和第一域名信息等报文信息保存至请求报文对应的会话中,从而实现对dns报文的特有信息进行检查,提高防御反射攻 击的准确度。

根据本申请上述实施例,如图15所示,同步模块124可以包括:生成子模块152和发送子模块154。

其中,生成子模块152用于根据请求报文对应的会话生成同步报文,其中,同步报文至少包括:请求报文的五元组信息、第一查询标识和对应的验证码;发送子模块154用于检测设备将同步报文发送至清洗设备。

此处需要说明的是,上述生成子模块152和发送子模块154对应于实施例一中的步骤s342至步骤s344,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端20中。

通过上述方案,检测设备可以根据会话生成同步报文,并发送至清洗设备,而不是直接将会话发送给清洗设备,减少资源消耗,提升资源利用率。

实施例4

根据本申请实施例,还提供了一种用于实施上述防御反射攻击的方法的防御反射攻击的装置,如图16所示,该装置包括:第二接收模块162和查询模块164。

其中,第二接收模块162用于接收检测设备同步的会话,其中,会话为检测设备根据访问主机发出的请求报文获取到的会话;查询模块164用于在接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

具体的,清洗设备可以旁路部署在路由设备上,通过路由设备实时接收响应服务器任意时刻返回的响应报文,响应服务器可以是与路由设备通过网络连接的主机,即外网主机。检测设备可以旁路部署在路由设备上,通过路由设备获取访问主机发出的请求报文,访问主机可以是路由设备建立的局域网内的主机,即内网主机。上述的请求报文可以是dnsrequest报文,也可以是udprequest报文,响应报文可以是dnsreply报文,也可以是udpreply报文,但不仅限于此,响应报文的类型与请求报文的类型相同。

此处需要说明的是,上述第二接收模块162和查询模块164对应于实施例二中的步骤s112至步骤s114,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端20中。

由上可知,本申请上述实施例四公开的方案中,清洗设备接收检测设备同步的会话,在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。本方案可以通过清洗设备根据同步得到的会话对响应服务器返回的响应报文进行清洗,实现对反射攻击流量进行清洗的目的。

容易注意到,由于检测设备获取访问主机发出的全部请求报文,仅将请求报文对应的会话同步至清洗设备,清洗设备仅接收检测设备同步的请求报文对应的对话,并不直接接收访问主机发出的请求报文,因此,通过本申请实施例所提供的方案,可以实现在清洗设备不需要直路部署的条件下,对反射攻击流量进行清洗,达到防御反射攻击的效果。

由此,本申请提供的上述实施例四的方案解决了现有技术在清洗设备旁路部署的场景下,当前技术在防御反射攻击过程中存在漏包和误杀的技术问题。

此处需要说明的是,本申请不限于应用于dns反射攻击的防御,还可以应用于所有其他类型的udp反射攻击,例如:ntp反射攻击、snmp反射攻击等攻击的防御。

根据本申请上述实施例,如图17所示,查询模块164可以包括:提取子模块172和确定子模块174。

提取子模块172,用于提取响应报文中的五元组信息;确定子模块174,用于如果查询得到与响应报文的五元组信息相匹配的信息,则确定存在与响应报文匹配的会话;其中,在确定存在与响应报文匹配的会话的情况下,确定响应报文为安全报文。

此处需要说明的是,上述提取子模块172和确定子模块174对应于实施例二中的步骤s1142至步骤s1144,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端20中。

通过上述方案,清洗设备可以通过查询与响应报文的五元组信息相匹配的同步报文,确定是否存在与响应报文匹配的会话,从而实现根据同步过来的会话信息,对反射攻击流量进行清洗的目的。

根据本申请上述实施例,如图18所示,请求报文至少包括如下信息:第一查询标识和第一域名信息,且检测设备将请求报文中的第一域名信息进行加密处理,得到请求报文对应的验证码,并将请求报文的第一查询标识和对应的验证码保存至请求报文对应的会话中,其中,上述装置还可以包括:第二提取模块182,第二处理模块184和比较模块186。

其中,第二提取模块182用于提取响应报文中的第二查询标识和第二域名信息;第二处理模块184用于将第二域名信息进行加密处理,得到加密结果;比较模块186用于将响应报文的第二查询标识和加密结果分别与请求报文的第一查询标识和对应的验证码进行比较,其中,如果响应报文的第二查询标识与请求报文的第一查询标识相同,且响应报文对应的加密结果与请求报文对应的验证码一致,则确定响应报文为安全报文;如果响应报文的第二查询标识与请求报文的第一查询标识不同,和/或响应报文对应的加密结果与请求报文对应的验证码不一致,则确定响应报文为攻击报文,并丢弃攻击报文。

具体的,上述的第一查询标识可以是请求报文中的请求id,第一域名信息可以是请求报文中的请求域名。上述的第二查询标识可以是响应报文中的请求id,第二域名信息可以是响应报文中的请求域名。上述的加密处理可以是哈希算法,但不仅限于此,其他类型的加密处理也可以实现本申请的目的。

此处需要说明的是,为了保证验证码能够对加密结果进行验证,检测设备对第一域名信息的处理算法与清洗设备对第二域名信息的处理方法必须相同。

此处还需要说明的是,上述第二提取模块182,第二处理模块184和比较模块186对应于实施例二中的步骤s11462至步骤s11466,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端20中。

通过上述方案,不仅可以实现清洗设备可以通过响应报文的五元组信息对响应报文进行清洗,还可以对报文中特有的信息进行检查,提高防御反射攻击的准确度。

实施例5

根据本申请实施例,还提供了一种用于实施上述防御反射攻击的方法的防御反射攻击的系统,如图19所示,该系统包括:访问主机190,路由设备192,响应服务器194,检测设备196和清洗设备198。

其中,访问主机190,用于发出请求报文;路由设备192,连接于访问主机190和响应服务器194之间,用于将访问主机发送的请求报文转发至响应服务器;检测设备196,旁路部署在路由设备194上,用于通过路由设备获取访问主机发出的请求报文,并获取请求报文对应的会话;清洗设备198,旁路部署在路由设备194上,用于接收检测设备同步的请求报文对应的会话,并在接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

具体的,上述访问主机可以是路由设备建立的局域网内的主机,即内网主机。上述响应服务器可以是与路由设备通过网络连接的主机,即外网主机。上述清洗设备可以通过路由设备实时接收响应服务器任意时刻返回的响应报文。上述请求报文可以是dnsrequest报文,也可以是udprequest报文,响应报文可以是dnsreply报文,也可以是udpreply报文,但不仅限于此,响应报文的类型与请求报文的类型相同。

在一种可选的方案中,为了减轻检测设备的压力,路由设备在接收到访问主机发出的请求报文之后,可以只将访问主机发出的请求报文镜像到检测设备上,并禁止将请求报文发送至清洗设备。检测设备在获取到路由设备镜像的请求报文之后,根据访问主机发出的请求报文,得到相应的会话信息。路由设备在接收到响应服务器任意时刻返回的响应报文之后,可以将接收到的响应报文发送到清洗设备上,并禁止将响应报文发送至检测设备。清洗设备可以将同步得到的会话信息保存在本地,并在接收到任意一个响应报文之后,查询本地是否存在与该响应报文匹配的会话,如果查询失败,即接收到的响应报文与同步得到的会话信息不匹配,则确定该响应报文为攻击报文,丢弃该响应报文;如果查询成功,即接收到的响应报文与同步得到的会话信息匹配,则确定该响应报文为安全报文,将该响应报文返回至路由设备,路由设备将该响应报文返回至访问主机。

例如,以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图4所示,检测设备和清洗设备旁路部署在路由设备上,内网主机和外网主机通过路由设备连接。内网主机可以将dnsrequest报文(即图中的出流量)发送至路由设备,路由设备在接收到内网主机发出的dnsrequest报文之后,将该dnsrequest报文发送至外网主机,同时仅将dnsrequest报文镜像到检测设备上(即图中的出流量镜像),检测设备对镜像过来的dnsrequest报文进行实时监测,记录所有传出外网的dnsrequest报文信息,建立相应的会话表,并将会话信息实时同步到清洗设备(即图中的同步信息)。路由设备可以在接收到外网主机返回的dnsreply报文(即图中的入流量)之后,仅将dnsreply报文发送到清洗设备,清洗设备根据同步得到的会话信息,对接收到的dnsreply报文进行清洗,查询同步得到的会话信息中是否存在与dnsreply报文匹配的会话。如果查询到同步得到的会话信息中存在与该dnsreply报文匹配的会话,则确定该dnsreply报文为安全报文,将该dnsreply报文(即图中的清洗后流量)返回至路由设备,由路由设备返回至内网主机。如果查询到同步得到的会话信息中不存在与该dnsreply报文匹配的会话,则确定该dnsreply报文为攻击报文,清洗设备直接将丢弃该dnsreply报文。

由上可知,本申请上述实施例五公开的方案中,检测设备可以获取访问主机发出的请求报文,以及请求报文对应的会话,并将请求报文对应的会话同步至清洗设备, 清洗设备在接收到任意的响应报文之后,可以根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文,直接丢弃该响应报文。本方案可以通过检测设备将访问主机发出的请求报文对应的会话同步至清洗设备,由清洗设备根据同步得到的会话对响应服务器返回的响应报文进行清洗,实现对反射攻击流量进行清洗的目的。

容易注意到,由于检测设备获取访问主机发出的全部请求报文,仅将请求报文对应的会话同步至清洗设备,清洗设备仅接收检测设备同步的请求报文对应的对话,并不直接接收访问主机发出的请求报文,因此,通过本申请实施例所提供的方案,可以实现在清洗设备不需要直路部署的条件下,对反射攻击流量进行清洗,达到防御反射攻击的效果。

由此,本申请提供的上述实施例五的方案解决了现有技术在清洗设备旁路部署的场景下,当前技术在防御反射攻击过程中存在漏包和误杀的技术问题。

此处需要说明的是,本申请不限于应用于dns反射攻击的防御,还可以应用于所有其他类型的udp反射攻击,例如:ntp反射攻击、snmp反射攻击等攻击的防御。

根据本申请上述实施例,检测设备196还用于接收请求报文,并解析得到请求报文的五元组信息;在本地查找是否存在与请求报文的五元组信息匹配的会话;在成功查找到与请求报文的五元组信息匹配的会话的情况下,检测设备将查找到的会话作为请求报文对应的会话;在查找失败的情况下,检测设备根据五元组信息创建新的会话。

具体的,上述步骤中的五元组信息可以是源ip、目的ip、源端口、目的端口和协议号。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图5所示,检测设备在接收到路由设备镜像的访问主机发送的请求报文之后,判断该请求报文是否为dnsrequest报文,如果确定访问主机发送的是dnsrequest报文,则解析得到dnsrequest报文五元组信息,根据五元组信息在本地查找会话,判断是否在本地查找到会话,如果查找到,则将查找到的会话作为请求报文对应的会话;如果未查找到,则根据五元组信息创建会话。

此处需要说明的是,如果根据请求报文可以在本地查找到匹配的会话,则确定该请求报文对应的会话存在,无需创建会话。

通过上述方案,检测设备可以根据请求报文的五元组信息创建请求报文对应的会话,从而实现清洗设备可以通过同步得到的会话信息对响应报文进行清洗。

根据本申请上述实施例,检测设备196还用于提取请求报文中的报文信息,其中,报文信息至少包括如下信息:第一查询标识和第一域名信息;将请求报文中的第一域名信息进行加密处理,得到请求报文对应的验证码;将请求报文的第一查询标识和对应的验证码保存至请求报文对应的会话中。

具体的,上述的第一查询标识可以是请求报文中的请求id(queryid),第一域名信息可以是请求报文中的请求域名。上述的加密处理可以是哈希算法,但不仅限于此,其他类型的加密处理也可以实现本申请的目的。

在一种可选的方案中,检测设备可以通过哈希算法对第一域名信息进行处理,得到第一域名信息的验证码,即请求域名的哈希(hash)值。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,结合图5和6,对本申请上述实施例进行说明。检测设备在接收到路由设备镜像的访问主机发送的dnsrequest报文之后,可以提取dnsrequest报文中的queryid和域名,将queryid写入会话的id字段。计算出域名的4字节hash值,将域名的hash值记录到会话的domain字段。

通过上述方案,检测设备可以将第一查询标识和第一域名信息等报文信息保存至请求报文对应的会话中,从而实现对dns报文的特有信息进行检查,提高防御反射攻击的准确度。

根据本申请上述实施例,检测设备196还用于根据请求报文对应的会话生成同步报文,其中,同步报文至少包括:请求报文的五元组信息、第一查询标识和对应的验证码;将同步报文发送至清洗设备。

如图7所示,在一种可选的方案中,同步报文中包括dnsrequest报文的五元组信息,queryid和请求域名的hash值。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图5所示,检测设备创建完成会话之后,可以根据会话信息构造同步报文,并将同步报文发送给清洗设备。

通过上述方案,检测设备可以根据会话生成同步报文,并发送至清洗设备,而不是直接将会话发送给清洗设备,减少资源消耗,提升资源利用率。

根据本申请上述实施例,清洗设备198还用于提取同步报文中携带的五元组信息;基于同步报文中的五元组信息创建同步报文对应的会话;将同步报文中携带的第一查询标识和验证码写入同步报文对应的会话中,其中,同步报文对应的会话用于清洗响 应服务器返回的响应报文。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图8所示,清洗设备在接收到检测设备发送的同步报文之后,可以提取同步报文中所携带的会话五元组信息,根据五元组信息创建会话,并将同步报文中的queryid和hash值写入创建好的会话相应的字段中。

通过上述方案,清洗设备可以根据接收到的同步报文,在本地建立相应的会话,并在会话相应的字段记录相应的内容,从而实现清洗设备在接收到响应报文之后,可以通过查找本地是否存在匹配的会话,提高匹配查询速度。

根据本申请上述实施例,清洗设备198还用于提取响应报文中的五元组信息;如果查询得到与响应报文的五元组信息相匹配的同步报文,则确定存在与响应报文匹配的会话;其中,在清洗设备确定存在与响应报文匹配的会话的情况下,确定响应报文为安全报文。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图9所示,清洗设备可以在接收到路由设备发送的dnsreply报文之后,提取报文中的五元组信息,并在本地查询是否存在与该五元组信息匹配的同步报文,如果存在,则确定存在与dnsreply报文匹配的会话,从而确定该响应报文为安全报文,将该响应报文返回至路由设备,由路由设备返回至内网主机;如果不存在,则确定不存在与dnsreply报文匹配的会话,从而确定该响应报文为攻击报文,直接丢弃。

通过上述方案,清洗设备可以通过查询与响应报文的五元组信息相匹配的同步报文,确定是否存在与响应报文匹配的会话,从而实现根据同步过来的会话信息,对反射攻击流量进行清洗的目的。

根据本申请上述实施例,清洗设备198还用于提取响应报文中的第二查询标识和第二域名信息;将第二域名信息进行加密处理,得到加密结果;将响应报文的第二查询标识和加密结果分别与请求报文的第一查询标识和对应的验证码进行比较,其中,如果响应报文的第二查询标识与请求报文的第一查询标识相同,且响应报文对应的加密结果与请求报文对应的验证码一致,则确定响应报文为安全报文;如果响应报文的第二查询标识与请求报文的第一查询标识不同,和/或响应报文对应的加密结果与请求报文对应的验证码不一致,则确定响应报文为攻击报文,并丢弃攻击报文。

具体的,上述的第二查询标识可以是响应报文中的请求id,第二域名信息可以是响应报文中的请求域名。上述的加密处理可以是哈希算法,但不仅限于此,其他类型 的加密处理也可以实现本申请的目的。

在一种可选的方案中,清洗设备可以通过哈希算法对第二域名信息进行处理,得到第二域名信息的加密结果,即请求域名的哈希(hash)值。

此处需要说明的是,为了保证验证码能够对加密结果进行验证,检测设备对第一域名信息的处理算法与清洗设备对第二域名信息的处理方法必须相同。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。如图9所示,如果清洗设备确定存在与dnsreply报文匹配的会话,即查询到与该五元组信息匹配的同步报文之后,可以提取dnsreply报文的queryid和请求域名,计算出请求域名的4字节hash值,将queryid和hash值与查询得到的会话中的id字段和domain字段中的信息进行比较,如果相等,则确定该dnsreply报文为安全报文,转发至路由设备;如果不等,则直接丢弃该dnsreply报文。

通过上述方案,不仅实现清洗设备可以通过响应报文的五元组信息对响应报文进行清洗,还可以对报文中特有的信息进行检查,提高防御反射攻击的准确度。

实施例6

根据本申请实施例,还提供了一种防御反射攻击的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请提供了如图20所示的防御反射攻击的方法。图20是根据本申请实施例二的一种防御反射攻击的方法的流程图,如图20所示,上述方法可以包括如下步骤:

步骤s202,清洗设备接收响应报文,该响应报文可以是清洗设备在任意时刻或时段内接收到的响应报文。

具体的,上述步骤中的清洗设备可以旁路部署在路由设备上,通过路由设备实时接收响应服务器任意时刻返回的响应报文,响应服务器可以是与路由设备通过网络连接的主机,即外网主机。上述步骤中的响应报文可以是dnsreply报文,也可以是udpreply报文,但不仅限于此,响应报文的类型与请求报文的类型相同。

在一种可选的方案中,为路由设备在接收到访问主机发出的请求报文之后,访问主机可以是路由设备建立的局域网内的主机,即内网主机,将请求报文报送至响应服务器,在接收到响应服务器任意时刻返回的响应报文之后,将响应报文发送给清洗设 备。

例如,以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。检测设备旁路部署在路由设备上,内网主机和外网主机通过路由设备连接。内网主机可以将dnsrequest报文发送至路由设备,路由设备在接收到内网主机发出的dnsrequest报文之后,将该dnsrequest报文发送至外网主机,路由设备可以在接收到外网主机返回的dnsreply报文,将dnsreply报文发送到清洗设备。

步骤s204,清洗设备根据响应报文查询是否存在与响应报文匹配的会话。

步骤s206,清洗设备基于查询结果确定响应报文是否为攻击报文。

在一种可选的方案中,路由设备可以在接收到请求报文之后,获取请求报文对应的会话,并发送给请求设备。清洗设备在接收到任意一个响应报文之后,查询是否存在与该响应报文匹配的会话,如果查询失败,则确定该响应报文为攻击报文,丢弃该响应报文;如果查询成功,则确定该响应报文为安全报文,将该响应报文返回至路由设备,路由设备将该响应报文返回至访问主机。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。路由设备对dnsrequest报文进行实时监测,记录所有传出外网的dnsrequest报文信息,建立相应的会话表,并将会话信息实时同步到清洗设备。清洗设备根据会话信息,对接收到的dnsreply报文进行清洗,查询是否存在与dnsreply报文匹配的会话。如果查询到存在与该dnsreply报文匹配的会话,则确定该dnsreply报文为安全报文,将该dnsreply报文返回至路由设备,由路由设备返回至内网主机。如果查询到不存在与该dnsreply报文匹配的会话,则确定该dnsreply报文为攻击报文,清洗设备直接将丢弃该dnsreply报文。

由上可知,本申请上述实施例六公开的方案中,清洗设备接收响应报文,在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。本方案可以通过清洗设备根据会话对响应服务器返回的响应报文进行清洗,实现对反射攻击流量进行清洗的目的。

容易注意到,由于清洗设备仅接收路由设备同步的请求报文对应的对话,并不直接接收访问主机发出的请求报文,因此,通过本申请实施例所提供的方案,可以实现在清洗设备不需要直路部署的条件下,对反射攻击流量进行清洗,达到防御反射攻击的效果。

由此,本申请提供的上述实施例六的方案解决了现有技术在清洗设备旁路部署的 场景下,当前技术在防御反射攻击过程中存在漏包和误杀的技术问题。

此处需要说明的是,本申请不限于应用于dns反射攻击的防御,还可以应用于所有其他类型的udp反射攻击,例如:ntp反射攻击、snmp反射攻击等攻击的防御。

根据本申请上述实施例,在步骤s204,根据响应报文查询是否存在与响应报文匹配的会话之前,上述方法还可以包括如下步骤:

步骤s203,根据访问主机发出的请求报文获取对应的会话。

在一种可选的方案中,路由设备在接收到访问主机发出的请求报文之后,根据访问主机发出的请求报文,得到相应的会话信息。

例如,以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。内网主机可以将dnsrequest报文发送至路由设备,路由设备在接收到内网主机发出的dnsrequest报文之后,记录所有传出外网的dnsrequest报文信息,建立相应的会话表。

根据本申请上述实施例,步骤s203,根据所述响应报文查询是否存在与所述响应报文匹配的会话,可以包括如下步骤:

步骤s2032,接收请求报文,并解析得到请求报文的五元组信息。

具体的,上述步骤中的五元组信息可以是源ip、目的ip、源端口、目的端口和协议号。

步骤s2034,查找是否存在与请求报文的五元组信息匹配的会话。

步骤s2036,在成功查找到与请求报文的五元组信息匹配的会话的情况下,查找到的会话作为请求报文对应的会话。

步骤s2038,在查找失败的情况下,根据五元组信息创建新的会话,新的会话为请求报文对应的会话。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。路由设备在接收到访问主机发送的请求报文之后,判断该请求报文是否为dnsrequest报文,如果确定访问主机发送的是dnsrequest报文,则解析得到dnsrequest报文五元组信息,根据五元组信息查找是否存在与五元组信息匹配的会话,如果查找到,则将查找到的会话作为dnsrequest报文对应的会话;如果未查找到,则根据五元组信息创建会话,并将创建好的会话作为dnsrequest报文对应的会话。

此处需要说明的是,如果根据请求报文可以查找到匹配的会话,则确定该请求报文对应的会话存在,无需创建新的会话。

通过上述步骤s2032至步骤s2038所提供的方案,路由设备可以根据请求报文的五元组信息创建请求报文对应的会话,从而实现清洗设备可以通过会话信息对响应报文进行清洗。

根据本申请上述实施例,步骤s204,清洗设备根据响应报文查询是否存在与响应报文匹配的会话,可以包括如下步骤:

步骤s2042,清洗设备提取响应报文中的五元组信息。

步骤s2044,清洗设备查询是否存在与响应报文的五元组信息相匹配的会话;其中,如果查询失败,则确定响应报文为攻击报文,如果查询成功,确定响应报文为安全报文。

例如,仍以请求报文是dnsrequest报文,响应报文是dnsreply报文为例,对本申请上述实施例进行说明。清洗设备可以在接收到路由设备发送的dnsreply报文之后,提取报文中的五元组信息,并查询该五元组信息是否与会话中记录的五元组信息相同,如果相同,则确定存在与dnsreply报文匹配的会话,从而确定该响应报文为安全报文,将该响应报文返回至路由设备,由路由设备返回至内网主机;如果不存在,则确定不存在与dnsreply报文匹配的会话,从而确定该响应报文为攻击报文,直接丢弃。

通过上述步骤s2042至步骤s2044所提供的方案,清洗设备可以通过查询是否存在与响应报文的五元组信息相匹配的会话,确定是否存在与响应报文匹配的会话,从而实现根据会话信息,对反射攻击流量进行清洗的目的。

实施例7

本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行防御反射攻击的方法中以下步骤的程序代码:检测设备获取访问主机发出的请求报文,并获取请求报文对应的会话;检测设备将请求报文对应的会话同步至清洗设备;其中,在清洗设备接收到任意的响应报文 之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

可选地,图21是根据本申请实施例的一种计算机终端的结构框图。如图21所示,该计算机终端a可以包括:一个或多个(图中仅示出一个)处理器211、存储器213、以及传输装置215。

其中,存储器213可用于存储软件程序以及模块,如本申请实施例中的防御反射攻击的方法和装置对应的程序指令/模块,处理器211通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的防御反射攻击的方法。存储器213可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器213可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端a。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

处理器211可以通过传输装置215调用存储器213存储的信息及应用程序,以执行下述步骤:检测设备获取访问主机发出的请求报文,并获取请求报文对应的会话;检测设备将请求报文对应的会话同步至清洗设备;其中,在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

可选的,上述处理器211还可以执行如下步骤的程序代码:检测设备通过路由设备获取访问主机发出的请求报文,其中,检测设备旁路部署在路由设备上,路由设备将访问主机发出的请求报文镜像到检测设备上,并禁止将请求报文发送至清洗设备。

可选的,上述处理器211还可以执行如下步骤的程序代码:清洗设备通过路由设备实时接收响应服务器任意时刻返回的响应报文,其中,清洗设备旁路部署在路由设备上,路由设备将响应服务器任意时刻返回的响应报文发送到清洗设备上,并禁止将响应报文发送至检测设备。

可选的,上述处理器211还可以执行如下步骤的程序代码:检测设备接收请求报文,并解析得到请求报文的五元组信息;检测设备在本地查找是否存在与请求报文的五元组信息匹配的会话;在成功查找到与请求报文的五元组信息匹配的会话的情况下,检测设备将查找到的会话作为请求报文对应的会话;在查找失败的情况下,检测设备根据五元组信息创建新的会话。

可选的,上述处理器211还可以执行如下步骤的程序代码:检测设备提取请求报 文中的报文信息,其中,报文信息至少包括如下信息:第一查询标识和第一域名信息;检测设备将请求报文中的第一域名信息进行加密处理,得到请求报文对应的验证码;检测设备将请求报文的第一查询标识和对应的验证码保存至请求报文对应的会话中。

可选的,上述处理器211还可以执行如下步骤的程序代码:检测设备根据请求报文对应的会话生成同步报文,其中,同步报文至少包括:请求报文的五元组信息、第一查询标识和对应的验证码;检测设备将同步报文发送至清洗设备。

可选的,上述处理器211还可以执行如下步骤的程序代码:清洗设备提取同步报文中携带的五元组信息;清洗设备基于同步报文中的五元组信息创建同步报文对应的会话;清洗设备将同步报文中携带的第一查询标识和验证码写入同步报文对应的会话中,其中,同步报文对应的会话用于清洗响应服务器返回的响应报文。

可选的,上述处理器211还可以执行如下步骤的程序代码:清洗设备提取响应报文中的五元组信息;清洗设备如果查询得到与响应报文的五元组信息相匹配的同步报文,则确定存在与响应报文匹配的会话;其中,在清洗设备确定存在与响应报文匹配的会话的情况下,确定响应报文为安全报文。

可选的,上述处理器211还可以执行如下步骤的程序代码:清洗设备提取响应报文中的第二查询标识和第二域名信息;清洗设备将第二域名信息进行加密处理,得到加密结果;清洗设备将响应报文的第二查询标识和加密结果分别与请求报文的第一查询标识和对应的验证码进行比较,其中,如果响应报文的第二查询标识与请求报文的第一查询标识相同,且响应报文对应的加密结果与请求报文对应的验证码一致,则确定响应报文为安全报文;如果响应报文的第二查询标识与请求报文的第一查询标识不同,和/或响应报文对应的加密结果与请求报文对应的验证码不一致,则确定响应报文为攻击报文,并丢弃攻击报文。

采用本申请实施例,检测设备可以获取访问主机发出的请求报文,以及请求报文对应的会话,并将请求报文对应的会话同步至清洗设备,清洗设备在接收到任意的响应报文之后,可以根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文,直接丢弃该响应报文。本方案可以通过检测设备将访问主机发出的请求报文对应的会话同步至清洗设备,由清洗设备根据同步得到的会话对响应服务器返回的响应报文进行清洗,实现对反射攻击流量进行清洗的目的,进而解决了现有技术在清洗设备旁路部署的场景下,当前技术在防御反射攻击过程中存在漏包和误杀的技术问题。

本领域普通技术人员可以理解,图21所示的结构仅为示意,计算机终端也可以是 智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图21其并不对上述电子装置的结构造成限定。例如,计算机终端20还可包括比图21中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图21所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

实施例8

本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的防御反射攻击的方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:检测设备获取访问主机发出的请求报文,并获取请求报文对应的会话;检测设备将请求报文对应的会话同步至清洗设备;其中,在清洗设备接收到任意的响应报文之后,根据响应报文查询是否存在与响应报文匹配的会话,如果查询失败,则确定响应报文为攻击报文。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:检测设备通过路由设备获取访问主机发出的请求报文,其中,检测设备旁路部署在路由设备上,路由设备将访问主机发出的请求报文镜像到检测设备上,并禁止将请求报文发送至清洗设备。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:清洗设备通过路由设备实时接收响应服务器任意时刻返回的响应报文,其中,清洗设备旁路部署在路由设备上,路由设备将响应服务器任意时刻返回的响应报文发送到清洗设备上,并禁止将响应报文发送至检测设备。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:检测设备接收请求报文,并解析得到请求报文的五元组信息;检测设备在本地查找是否存在与请求报文的五元组信息匹配的会话;在成功查找到与请求报文的五元组信息匹配的会话的情况下,检测设备将查找到的会话作为请求报文对应的会话;在查找失败的情况下,检测设备根据五元组信息创建新的会话。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:检测设备提取请求报文中的报文信息,其中,报文信息至少包括如下信息:第一查询标识和第一域名信息;检测设备将请求报文中的第一域名信息进行加密处理,得到请求报文对应的验证码;检测设备将请求报文的第一查询标识和对应的验证码保存至请求报文对应的会话中。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:检测设备根据请求报文对应的会话生成同步报文,其中,同步报文至少包括:请求报文的五元组信息、第一查询标识和对应的验证码;检测设备将同步报文发送至清洗设备。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:清洗设备提取同步报文中携带的五元组信息;清洗设备基于同步报文中的五元组信息创建同步报文对应的会话;清洗设备将同步报文中携带的第一查询标识和验证码写入同步报文对应的会话中,其中,同步报文对应的会话用于清洗响应服务器返回的响应报文。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:清洗设备提取响应报文中的五元组信息;清洗设备如果查询得到与响应报文的五元组信息相匹配的同步报文,则确定存在与响应报文匹配的会话;其中,在清洗设备确定存在与响应报文匹配的会话的情况下,确定响应报文为安全报文。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:清洗设备提取响应报文中的第二查询标识和第二域名信息;清洗设备将第二域名信息进行加密处理,得到加密结果;清洗设备将响应报文的第二查询标识和加密结果分别与请求报文的第一查询标识和对应的验证码进行比较,其中,如果响应报文的第二查询标识与请求报文的第一查询标识相同,且响应报文对应的加密结果与请求报文对应的验证码一致,则确定响应报文为安全报文;如果响应报文的第二查询标识与请求报文的第一查询标识不同,和/或响应报文对应的加密结果与请求报文对应的验证码不一致,则确定响应报文为攻击报文,并丢弃攻击报文。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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