CN106101088B - 清洗设备、检测设备、路由设备和防范dns攻击的方法 - Google Patents
清洗设备、检测设备、路由设备和防范dns攻击的方法 Download PDFInfo
- Publication number
- CN106101088B CN106101088B CN201610391464.9A CN201610391464A CN106101088B CN 106101088 B CN106101088 B CN 106101088B CN 201610391464 A CN201610391464 A CN 201610391464A CN 106101088 B CN106101088 B CN 106101088B
- Authority
- CN
- China
- Prior art keywords
- dns
- request
- message
- session
- reply message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文公布一种清洗设备、检测设备、路由设备和防范DNS攻击的方法,该方法包括:清洗设备接收来自检测设备发送的一个或一个以上包含域名***DNS查询请求Request报文的五元组的同步报文;根据接收到的一个或一个以上同步报文创建包含一个或一个以上会话的第一会话表;当接收到来自路由设备发送的DNS查询应答Reply报文时,判断接收到的DNS Reply报文是否命中第一会话表中的会话;当判断出接收到的DNS Reply报文命中第一会话表中的会话时,将该DNS Reply报文转发给路由设备;当判断出接收到的DNS Reply报文未命中第一会话表中的会话时,丢弃该DNS Reply报文。本发明实施例减少了在防御DNS应答泛洪攻击过程中存在的大量漏包和误杀。
Description
技术领域
本发明实施例涉及但不限于网络安全技术,尤指一种清洗设备、检测设备、路由设备和防范域名***(DNS,Domain Name System)攻击的方法。
背景技术
DNS应答泛洪(Reply Flood)攻击已成为目前网络中的主流分布式拒绝服务(DDoS,Distributed Denial of service)的攻击类型,根据其发起方式的不同,可以分为两种攻击方式,一种是通过僵尸网络直接发起的DNS攻击,一种是借助互联网中众多的开放的DNS服务器的反弹形成的反射型DNS攻击(如图1所示)。其中,由于反射型DNS攻击易实施、大流量、难追踪等特点,已成为发起大流量攻击的首选攻击手段,对用户业务及其网络带来了极大危害。
因此,需要行之有效的方法对DNS Reply Flood攻击进行防御清洗,以缓解对业务或网络的冲击。其中,可以采用旁路部署清洗设备的方式对DNS Reply Flood攻击进行防御清洗,其中,图2为现有的旁路部署清洗设备的示意图,其中,路由设备与内网(内网是受保护的局域网,如互联网数据中心(IDC))主机连接,清洗设备与路由设备直接连接,路由设备与外网主机连接,其处理流程包括以下步骤:首先,路由设备将内网用户发送的DNS查询请求(Request)报文转发给外网主机(DNS服务器);其次,路由设备将接收到的DNS查询应答(Reply)报文发送给清洗设备;最后,清洗设备确定是否将接收到的DNS Reply报文发送给内网用户。其中,清洗设备可以根据以下方式确定是否将接收到的DNS Reply报文发送给内网用户:域名过滤方式、白名单方式或探测源方式。
其中,域名过滤方式包括:清洗设备对攻击报文中的域名进行统计、排序,在攻击报文中筛选出攻击次数排名在前N的域名,过滤掉包含前N域名的DNS Reply报文;白名单方式包括:清洗设备将可信的DNS服务器的IP地址手工加入白名单,从这些IP地址过来的DNSReply报文直接放行,不是从这些IP地址过来的DNS Reply报文则直接丢弃;探测源方式包括:清洗设备收到DNS Reply报文之后,根据报文源IP地址检查是否命中DNS动态白名单,如果没有,则构造一个DNS请求(Query)报文作为探测报文发送给源IP,如果该报文的源IP是一个真实的DNS服务器,则会响应这个探测报文并发送一个DNS Reply报文,清洗设备收到这个DNS Reply报文,通过一定检查处理之后,将该源IP加入DNS动态白名单,后续命中该白名单的DNS Reply报文直接通过。
但是,上述旁路部署的清洗设备采用的确定是否将接收到的DNS Reply报文发送给内网用户的方式,当正常的DNS Reply报文中的域名属于前N域名或正常的DNS Reply报文中的源IP地址不在白名单中,则会导致误杀正常的DNS Reply报文,并且如果攻击中包含的域名比较多,由于针对每个域名的攻击流量占比都不高,则会产生有大量漏包的问题,因此在防御DNS反射攻击过程中存在的大量漏包和误杀的问题,如何解决这个问题,成为亟需解决的难题。
发明内容
本申请提供了一种清洗设备、检测设备、路由设备和防范DNS攻击的方法,能够减少在防御DNS应答泛洪攻击过程中存在的大量漏包和误杀。
为了达到本申请目的,本申请提供了一种清洗设备,包括:第一接收模块、第一会话模块、第一判断模块和第一处理模块;其中,
第一接收模块,用于接收来自检测设备发送的一个或一个以上包含域名***DNS查询请求Request报文的五元组的同步报文;接收来自路由设备发送的DNS查询应答Reply报文;
第一会话模块,用于根据接收到的一个或一个以上同步报文创建包含一个或一个以上会话的第一会话表;
第一判断模块,用于判断接收到的DNS Reply报文是否命中第一会话表中的会话;当判断出接收到的DNS Reply报文命中第一会话表中的会话时,向第一处理模块发送第一通知;当判断出接收到的DNS Reply报文未命中第一会话表中的会话时,向第一处理模块发送第二通知;
第一处理模块,用于接收到来自第一判断模块的第一通知,将该DNS Reply报文转发给路由设备;接收到来自第一判断模块的第二通知,丢弃该DNS Reply报文。
可选地,所述同步报文还包括所述DNS Request报文所携带的请求身份标识id和/或域名的散列hash值;所述第一会话模块,具体用于:
根据所述同步报文的五元组创建会话;
从所述同步报文中提取所述DNS Request报文所携带的请求id和/或域名的hash值;
将提取出的所述DNS Request报文所携带的请求id和/或域名的hash值写入创建的会话的相应字段中。
可选地,该清洗设备还包括第一获取模块,用于提取所述DNS Reply报文所携带的请求id;相应地,
所述第一判断模块,还用于在向所述第一处理模块发送所述第一通知或所述第二通知之前,判断从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id是否相同;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id相同时,向所述第一处理模块发送所述第一通知;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id不同时,向所述第一处理模块发送所述第二通知。
可选地,该清洗设备还包括第二获取模块和第一计算模块;其中,
所述第二获取模块,用于提取所述DNS Reply报文所携带的域名;
所述第一计算模块,用于计算从所述DNS Reply报文中提取出的域名的hash值;相应地,
所述第一判断模块,还用于在向所述第一处理模块发送所述第一通知或所述第二通知之前,判断计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的hash值是否相同;当判断出计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,向所述第一处理模块发送所述第一通知;当判断出计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,向所述第一处理模块发送所述第二通知。
可选地,该清洗设备还包括第一获取模块、第二获取模块和第一计算模块;其中,
所述第一获取模块,用于提取所述DNS Reply报文所携带的请求id;
所述第二获取模块,用于提取所述DNS Reply报文所携带的域名;
所述第一计算模块,用于计算从所述DNS Reply报文中提取出的域名的hash;相应地,
所述第一判断模块,还用于在向所述第一处理模块发送所述第一通知或所述第二通知之前,判断从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id是否相同;判断计算出的所述DNS Reply报文所携带的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的hash值是否相同;
当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id相同,且计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,向所述第一处理模块发送所述第一通知;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id不同时,或者计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,向所述第一处理模块发送所述第二通知。
可选地,该清洗设备还包括计时删除模块,用于在创建会话时启动一计时器;
将计时器记录的创建的会话的时长大于或等于预设时长时,在所述第一会话表中删除所述创建的会话。
本申请还提供了一种检测设备,包括:第二接收模块、第二判断模块、第二会话模块和第二处理模块;其中,
第二接收模块,用于接收来自路由设备发送的一个或一个以上域名***DNS查询请求Request报文;
第二判断模块,用于判断接收到的DNS Request报文是否命中第二会话表中的会话;当判断出接收到的DNS Request报文未命中第二会话表中的会话时,通知第二会话模块;
第二会话模块,用于接收到来自第二判断模块的通知,创建与接收到的DNSRequest报文对应的包含五元组的会话并将创建的该会话添加至第二会话表中;通知第二处理模块;
第二处理模块,用于接收到来自第二会话模块的通知,根据包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
可选地,所述第二处理模块,还用于接收到来自所述第二会话模块的通知,从接收到的所述DNS Request报文中提取出请求id和/或域名;根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
可选地,所述第二判断模块,还用于当判断出接收到的DNS Request报文命中第二会话表中的会话时,通知所述第二处理模块;相应地,
所述二处理模块,还用于接收到来自所述第二判断模块的通知,从接收到的所述DNS Request报文中提取出请求id和/或域名;根据提取出的所述请求id和/或所述域名以及包含五元组的所述会话构造同步报文并将构造出的同步报文发送给所述清洗设备。
可选地,所述第二处理模块根据提取出的所述请求id和/或所述域名以及包含五元组的所述会话构造同步报文包括:
将五元组存储在所述同步报文的相应位置;
将提取出的请求id存储在所述同步报文的相应位置;和/或,
计算提取出的域名的散列hash值并将计算出的域名的hash值存储在所述同步报文的相应位置。
本申请还提供了一种路由设备,包括:检测模块、镜像模块、第一转发模块和第二转发模块;其中,
检测模块,用于当检测到来自内网用户的DNS查询请求Request报文时,通知镜像模块;当接收到DNS查询应答Reply报文时,通知第一转发模块;当接收到来自清洗设备的DNS Reply报文时,通知第二转发模块;
镜像模块,用于接收到来自检测模块的通知,将检测到的DNS Request报文复制给检测设备;
第一转发模块,用于接收到来自检测模块的通知,将接收到的DNS Reply报文转发给清洗设备;
第二转发模块,用于接收到来自检测模块的通知,将来自清洗设备的DNS Reply报文转发给对应的内网用户。
本申请还提供了一种防范DNS攻击的方法,其特征在于,包括:
清洗设备接收来自检测设备发送的一个或一个以上包含域名***DNS查询请求Request报文的五元组的同步报文;
根据接收到的一个或一个以上同步报文创建包含一个或一个以上会话的第一会话表;
当接收到来自路由设备发送的DNS查询应答Reply报文时,判断接收到的DNSReply报文是否命中第一会话表中的会话;
当判断出接收到的DNS Reply报文命中第一会话表中的会话时,将该DNS Reply报文转发给路由设备;当判断出接收到的DNS Reply报文未命中第一会话表中的会话时,丢弃该DNS Reply报文。
可选地,该方法之前还包括:
所述路由设备检测是否有来自内网用户的DNS Request报文;当检测到来自内网用户的DNS Request报文时,将检测到所述DNS Request报文复制给检测设备;
所述检测设备判断接收到的来自所述路由设备的所述DNS Request报文是否命中第二会话表中的会话;当判断出接收到的DNS Request报文未命中第二会话表中的会话时,创建与接收到的DNS Request报文对应的包含五元组的会话并将创建的该会话添加至第二会话表中;根据包含五元组的会话构造同步报文并将构造出的同步报文发送给所述清洗设备。
可选地,所述同步报文还包括:所述DNS Request报文所携带的请求身份标识id和/或域名的散列hash值;相应地,
当判断出接收到的所述DNS Request报文未命中所述第二会话表中的会话时,该方法还包括:
所述检测设备创建与接收到的所述DNS Request报文对应的包含五元组的会话并将创建的该会话添加至所述第二会话表中;
所述检测设备从接收到的所述DNS Request报文中提取出请求id和/或域名;根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
可选地,所述同步报文还包括:所述DNS Request报文所携带的请求身份标识id和/或域名的散列hash值;相应地,
当判断出接收到的DNS Request报文命中第二会话表中的会话时,该方法还包括:
所述检测设备从接收到的DNS Request报文中提取出请求id和/或域名;根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
可选地,所述检测设备构造同步报文包括:
将五元组存储在所述同步报文的相应位置;
将提取出的请求id存储在所述同步报文的相应位置;和/或,
计算提取出的域名的散列hash值并将计算出的域名的hash值存储在所述同步报文的相应位置。
可选地,当所述同步报文还包括所述DNS Request报文所携带的请求id时,在所述将该DNS Reply报文转发给路由设备或者所述丢弃该DNS Reply报文之前,在所述判断接收到的DNS Reply报文是否命中第一会话表中的会话之后,该方法还包括:
所述清洗设备提取所述DNS Reply报文所携带的请求id;
所述清洗设备判断从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id是否相同;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id相同时,执行所述将所述DNS Reply报文转发给路由设备的步骤;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id不同时,执行所述丢弃所述DNS Reply报文的步骤。
可选地,当所述同步报文还包括所述DNS Request报文所携带的域名的hash值时,在所述将该DNS Reply报文转发给路由设备或者所述丢弃该DNS Reply报文之前,在所述判断接收到的DNS Reply报文是否命中第一会话表中的会话之后,该方法还包括:
所述清洗设备提取所述DNS Reply报文所携带的域名;
所述清洗设备计算从所述DNS Reply报文中提取出的域名的hash值;
所述清洗设备判断计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的hash值是否相同;当判断出计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,执行所述将所述DNS Reply报文转发给路由设备的步骤;当判断出计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,执行所述丢弃所述DNS Reply报文的步骤。
可选地,当所述同步报文还包括所述DNS Request报文所携带的请求身份标识id和域名的散列hash值时,在所述将该DNS Reply报文转发给路由设备或者所述丢弃该DNSReply报文之前,在所述判断接收到的DNS Reply报文是否命中第一会话表中的会话之后,该方法还包括:
所述清洗设备提取所述DNS Reply报文所携带的请求id和域名;
所述清洗设备计算从所述DNS Reply报文中提取出的域名的hash;相应地,
所述清洗设备判断从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id是否相同;判断计算出的所述DNS Reply报文所携带的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的hash值是否相同;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id相同,且计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,执行所述将所述DNS Reply报文转发给路由设备的步骤;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id不同时,或者计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,执行所述丢弃所述DNS Reply报文的步骤。
可选地,在所述判断接收到的DNS Reply报文是否命中第一会话表中的会话之前,该方法还包括:
所述清洗设备在创建会话时启动一计时器;
将计时器记录的创建的会话的时长大于或等于预设时长时,在所述第一会话表中删除所述创建的会话。
本发明实施例包括:清洗设备接收来自检测设备发送的一个或一个以上包含域名***DNS查询请求Request报文的五元组的同步报文;根据接收到的一个或一个以上同步报文创建包含一个或一个以上会话的第一会话表;当接收到来自路由设备发送的DNS查询应答Reply报文时,判断接收到的DNS Reply报文是否命中第一会话表中的会话;当判断出接收到的DNS Reply报文命中第一会话表中的会话时,将该DNS Reply报文转发给路由设备;当判断出接收到的DNS Reply报文未命中第一会话表中的会话时,丢弃该DNS Reply报文。本发明实施例由于判断接收到的DNS Reply报文是否命中第一会话表中的会话从而决定是否丢弃报文,减少了在防御DNS应答泛洪攻击过程中存在的大量漏包和误杀。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有的DNS反射攻击的示意图;
图2为现有的旁路部署清洗设备的示意图;
图3为本发明防范DNS攻击的***组成架构示意图;
图4为本发明清洗设备的结构示意图;
图5为本发明检测设备的结构示意图;
图6为本发明路由设备的结构示意图;
图7为本发明防范DNS攻击的方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图3为本发明防范DNS攻击的***组成架构示意图,如图3所示,路由设备和内网主机连接,路由设备和外网主机连接,路由设备和清洗设备直接连接以及路由设备和检测设备直接连接,其中,清洗设备和检测设备可以进行通信。下面将结合图3对清洗设备、检测设备和路由设备一一进行阐述。
图4为本发明清洗设备的结构示意图,如图4所示,包括:第一接收模块、第一会话模块、第一判断模块和第一处理模块。其中,
第一接收模块,用于接收来自检测设备发送的一个或一个以上包含域名***(DNS)查询请求(Request)报文的五元组的同步报文;接收来自路由设备发送的DNS查询应答(Reply)报文。
其中,五元组包括:源IP地址、源端口、目的IP地址、目的端口和协议号。
第一会话模块,用于根据接收到的一个或一个以上同步报文创建包含一个或一个以上会话的第一会话表。
第一判断模块,用于判断接收到的DNS Reply报文是否命中第一会话表中的会话;当判断出接收到的DNS Reply报文命中第一会话表中的会话时,向第一处理模块发送第一通知;当判断出接收到的DNS Reply报文未命中第一会话表中的会话时,向第一处理模块发送第二通知。
其中,命中是指DNS Reply报文的五元组与第一会话表中的某一个会话的五元组相同;未命中是指DNS Reply报文的五元组与第一会话表中的任一个会话的五元组均不同。
第一处理模块,用于接收到来自第一判断模块的第一通知,将该DNS Reply报文转发给路由设备;接收到来自第一判断模块的第二通知,丢弃该DNS Reply报文。
可选地,同步报文还包括DNS Request报文所携带的请求身份标识id和/或域名的散列hash值;第一会话模块,具体用于:
根据同步报文的五元组创建会话;
从同步报文中提取DNS Request报文所携带的请求id和/或域名的hash值;
将提取出的DNS Request报文所携带的请求id和/或域名的hash值写入创建的会话的相应字段中。
可选地,该清洗设备还包括第一获取模块,用于提取DNS Reply报文所携带的请求id;相应地,
第一判断模块,还用于在向第一处理模块发送第一通知或第二通知之前,判断从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id是否相同;当判断出从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id相同时,向第一处理模块发送第一通知;当判断出从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id不同时,向第一处理模块发送第二通知。
可选地,该清洗设备还包括第二获取模块和第一计算模块;其中,
第二获取模块,用于提取DNS Reply报文所携带的域名;
第一计算模块,用于计算从DNS Reply报文中提取出的域名的hash值;相应地,
第一判断模块,还用于在向第一处理模块发送第一通知或第二通知之前,判断计算出的域名的hash值和与DNS Reply报文命中的会话的相应字段中的hash值是否相同;当判断出计算出的域名的hash值和与DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,向第一处理模块发送第一通知;当判断出计算出的域名的hash值和与DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,向第一处理模块发送第二通知。
可选地,该清洗设备还包括第一获取模块、第二获取模块和第一计算模块;其中,
第一获取模块,用于提取DNS Reply报文所携带的请求id;
第二获取模块,用于提取DNS Reply报文所携带的域名;
第一计算模块,用于计算从DNS Reply报文中提取出的域名的hash;相应地,
第一判断模块,还用于在向第一处理模块发送第一通知或第二通知之前,判断从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id是否相同;判断计算出的DNS Reply报文所携带的域名的hash值和与DNS Reply报文命中的会话的相应字段中的hash值是否相同;
当判断出从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id相同,且计算出的域名的hash值和与DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,向第一处理模块发送第一通知;当判断出从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id不同时,或者计算出的域名的hash值和与DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,向第一处理模块发送第二通知。
可选地,该清洗设备还包括计时删除模块,用于在创建会话时启动一计时器;
将计时器记录的创建的会话的时长大于或等于预设时长时,在第一会话表中删除创建的会话。
图5为本发明检测设备的结构示意图,如图5所示,包括:第二接收模块、第二判断模块、第二会话模块和第二处理模块。其中,
第二接收模块,用于接收来自路由设备发送的一个或一个以上域名***(DNS)查询请求(Request)报文。
第二判断模块,用于判断接收到的DNS Request报文是否命中第二会话表中的会话;当判断出接收到的DNS Request报文未命中第二会话表中的会话时,通知第二会话模块。
第二会话模块,用于接收到来自第二判断模块的通知,创建与接收到的DNSRequest报文对应的包含五元组的会话并将创建的该会话添加至第二会话表中;通知第二处理模块。
第二处理模块,用于接收到来自第二会话模块的通知,根据包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
可选地,第二处理模块,还用于接收到来自第二会话模块的通知,从接收到的DNSRequest报文中提取出请求id和/或域名;根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
可选地,第二判断模块,还用于当判断出接收到的DNS Request报文命中第二会话表中的会话时,通知第二处理模块;相应地,
第二处理模块,还用于接收到来自第二判断模块的通知,从接收到的DNS Request报文中提取出请求id和/或域名;根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
其中,第二处理模块根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文包括:
将五元组存储在同步报文的相应位置;
将提取出的请求id存储在同步报文的相应位置;和/或,
计算提取出的域名的散列(hash)值并将计算出的域名的hash值存储在同步报文的相应位置。
可选地,第二处理模块可以计算提取出的域名的预设长度的hash值。例如,计算出的hash值的长度是4字节,关于如何计算域名的hash值属于本领域技术人员所熟知的惯用技术手段,此处不再赘述。
其中,第二处理模块构造的同步报文包括以下字段:物理地址(MAC)头、网络协议(IP)头、用户数据报协议(UDP)头、五元组。可选地,检测设备构造的同步报文包括以下字段:请求id和/或域名的hash值。检测设备构造的同步报文的格式如表1所示,其中,MAC头可以设置为14字节,IP头可以设置为20字节,UDP头可以设置为8字节,DNS查询请求报文源IP地址可以设置为4字节,DNS查询请求报文目的IP地址可以设置为4字节,DNS查询请求报文源端口可以设置为2字节,DNS查询请求报文目的端口可以设置为2字节,DNS查询请求报文协议号可以设置为2字节,DNS查询请求报文请求id可以设置为2字节,DNS查询请求报文域名的hash值可以设置为4字节。需要说明的是关于如何设置同步报文的各个字段的长度属于本领域技术人员所熟知的惯用技术手段,此处不再赘述,并不用来限制本申请。
本申请还提供了一种检测清洗设备,将图4所示的清洗设备和图5所示的检测设备所包含的模块设置在同一设备(检测清洗设备)中。
图6为本发明路由设备的结构示意图,如图6所示,包括:检测模块、镜像模块、第一转发模块和第二转发模块。其中,
检测模块,用于当检测到来自内网用户的DNS查询请求(Request)报文时,通知镜像模块;当接收到DNS查询应答(Reply)报文时,通知第一转发模块;当接收到来自清洗设备的DNS Reply报文时,通知第二转发模块;
镜像模块,用于接收到来自检测模块的通知,将检测到的DNS Request报文复制给检测设备;
第一转发模块,用于接收到来自检测模块的通知,将接收到的DNS Reply报文转发给清洗设备;
第二转发模块,用于接收到来自检测模块的通知,将来自清洗设备的DNS Reply报文转发给对应的内网用户。
针对图3所示的防范DNS攻击的***组成架构示意图,本申请提供了与之对应的如图7所示的方法,下面将阐述一下图7的对应的步骤。
图7为本发明防范DNS攻击的方法的流程图,如图7所示,包括:
步骤701:清洗设备接收来自检测设备发送的一个或一个以上包含域名***(DNS)查询请求(Request)报文的五元组的同步报文。
其中,五元组包括:源IP地址、源端口、目的IP地址、目的端口和协议号。
表1
可选地,该方法之前还包括:
路由设备检测是否有来自内网用户的DNS Request报文;当检测到来自内网用户的DNS Request报文时,将检测到DNS Request报文复制给检测设备;
检测设备判断接收到的来自路由设备的DNS Request报文是否命中第二会话表中的会话;当判断出接收到的DNS Request报文未命中第二会话表中的会话时,创建与接收到的DNS Request报文对应的包含五元组的会话并将创建的该会话添加至第二会话表中;根据包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
其中,根据包含五元组的会话构造同步报文包括:将五元组存储在同步报文的相应位置。
步骤702:根据接收到的一个或一个以上同步报文创建包含一个或一个以上会话的第一会话表。
其中,第一会话表中的任意一个会话的结构如表2所示,包括:源IP(src_ip)、目的IP(dst_ip)、源端口(src_port)、目的端口(dst_port)、协议号(protocol)和时间戳(timestamp)。
步骤703:当接收到来自路由设备发送的DNS查询应答(Reply)报文时,判断接收到的DNS Reply报文是否命中第一会话表中的会话。
其中,命中是指DNS Reply报文的五元组与第一会话表中的某一个会话的五元组相同;未命中是指DNS Reply报文的五元组与第一会话表中的任一个会话的五元组均不同。
可选地,在判断接收到的DNS Reply报文是否命中第一会话表中的会话之前,该方法还包括:
清洗设备在创建会话时启动一计时器;
将计时器记录的创建的会话的时长大于或等于预设时长时,在第一会话表中删除创建的会话。
表2
步骤704:当判断出接收到的DNS Reply报文命中第一会话表中的会话时,将该DNSReply报文转发给路由设备;当判断出接收到的DNS Reply报文未命中第一会话表中的会话时,丢弃该DNS Reply报文。
可选地,同步报文还包括:DNS Request报文所携带的请求身份标识(id)和/或域名的散列(hash)值。此时,
可选地,当判断出接收到的DNS Request报文未命中第二会话表中的会话时,该方法还包括:
检测设备创建与接收到的DNS Request报文对应的包含五元组的会话并将创建的该会话添加至第二会话表中;
检测设备从接收到的DNS Request报文中提取出请求id和/或域名;根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
可选地,当判断出接收到的DNS Request报文命中第二会话表中的会话时,该方法还包括:
检测设备从接收到的DNS Request报文中提取出请求id和/或域名;根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
其中,根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文包括:
将五元组存储在同步报文的相应位置;
将提取出的请求id存储在同步报文的相应位置;和/或,
计算提取出的域名的hash值并将计算出的域名的hash值存储在同步报文的相应位置。
其中,检测设备构造的同步报文包括以下字段:物理地址(MAC)头、网络协议(IP)头、用户数据报协议(UDP)头、五元组。可选地,检测设备构造的同步报文包括以下字段:请求id和/或域名的hash值。检测设备构造的同步报文的格式如表1所示,其中,MAC头可以设置为14字节,IP头可以设置为20字节,UDP头可以设置为8字节,DNS查询请求报文源IP地址可以设置为4字节,DNS查询请求报文目的IP地址可以设置为4字节,DNS查询请求报文源端口可以设置为2字节,DNS查询请求报文目的端口可以设置为2字节,DNS查询请求报文协议号可以设置为2字节,DNS查询请求报文请求id可以设置为2字节,DNS查询请求报文域名的hash值可以设置为4字节。需要说明的是关于如何设置同步报文的各个字段的长度属于本领域技术人员所熟知的惯用技术手段,此处不再赘述,并不用来限制本申请。
其中,当同步报文还包括DNS Request报文所携带的请求id和/或域名的hash值时,第一会话表中的任意一个会话的结构如表2所示,还可以包括表2中的请求id和/或域名的hash值(domain)。其中,时间戳是指清洗设备创建会话的时间。
可选地,当同步报文还包括DNS Request报文所携带的请求id时,在将该DNSReply报文转发给路由设备或者丢弃该DNS Reply报文之前,在判断接收到的DNS Reply报文是否命中第一会话表中的会话之后,该方法还包括:
清洗设备提取DNS Reply报文所携带的请求id;
清洗设备判断从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id是否相同;当判断出从DNS Reply报文中提取出的请求id和与DNSReply报文命中的会话的相应字段中的请求id相同时,执行将DNS Reply报文转发给路由设备的步骤;当判断出从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id不同时,执行丢弃DNS Reply报文的步骤。
可选地,当同步报文还包括DNS Request报文所携带的域名的hash值时,在将该DNS Reply报文转发给路由设备或者丢弃该DNS Reply报文之前,在判断接收到的DNSReply报文是否命中第一会话表中的会话之后,该方法还包括:
清洗设备提取DNS Reply报文所携带的域名;
清洗设备计算从DNS Reply报文中提取出的域名的hash值;
清洗设备判断计算出的域名的hash值和与DNS Reply报文命中的会话的相应字段中的hash值是否相同;当判断出计算出的域名的hash值和与DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,执行将DNS Reply报文转发给路由设备的步骤;当判断出计算出的域名的hash值和与DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,执行丢弃DNS Reply报文的步骤。
可选地,当同步报文还包括DNS Request报文所携带的请求身份标识id和域名的散列hash值时,在将该DNS Reply报文转发给路由设备或者丢弃该DNS Reply报文之前,在判断接收到的DNS Reply报文是否命中第一会话表中的会话之后,该方法还包括:
清洗设备提取DNS Reply报文所携带的请求id和域名;
清洗设备计算从DNS Reply报文中提取出的域名的hash;相应地,
清洗设备判断从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id是否相同;判断计算出的DNS Reply报文所携带的域名的hash值和与DNS Reply报文命中的会话的相应字段中的hash值是否相同;当判断出从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id相同,且计算出的域名的hash值和与DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,执行将DNS Reply报文转发给路由设备的步骤;当判断出从DNS Reply报文中提取出的请求id和与DNS Reply报文命中的会话的相应字段中的请求id不同时,或者计算出的域名的hash值和与DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,执行丢弃DNSReply报文的步骤。
需要说明的是,本步骤中通过请求id和/或域名的hash值判断是否命中DNS Reply报文命中的会话的相应字段中的字段,从而避免了由于五元组相同而请求id和/或域名不同的数据包被漏包的风险。
本发明实施方式中,清洗设备根据接收到的一个或一个以上同步报文创建包含一个或一个以上会话的第一会话表并判断接收到的DNS Reply报文是否命中第一会话表中的会话,当命中第一会话表中的会话时,将该DNS Reply报文转发给路由设备,当未命中第一会话表中的会话时,丢弃该DNS Reply报文,减少了在防御DNS应答泛洪攻击过程中存在的大量漏包和误杀。进一步地,通过请求id和/或域名的hash值判断是否命中DNS Reply报文命中的会话的相应字段中的字段,从而避免了由于五元组相同而请求id和/或域名不同的数据包被漏包的风险。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (20)
1.一种清洗设备,其特征在于,包括:第一接收模块、第一会话模块、第一判断模块和第一处理模块;其中,
第一接收模块,用于接收来自检测设备发送的一个或一个以上包含域名***DNS查询请求Request报文的五元组的同步报文;接收来自路由设备发送的DNS查询应答Reply报文;
第一会话模块,用于根据接收到的一个或一个以上同步报文创建包含一个或一个以上会话的第一会话表;
第一判断模块,用于判断接收到的DNS Reply报文是否命中第一会话表中的会话;当判断出接收到的DNS Reply报文命中第一会话表中的会话时,向第一处理模块发送第一通知;当判断出接收到的DNS Reply报文未命中第一会话表中的会话时,向第一处理模块发送第二通知;
第一处理模块,用于接收到来自第一判断模块的第一通知,将该DNS Reply报文转发给路由设备;接收到来自第一判断模块的第二通知,丢弃该DNS Reply报文。
2.根据权利要求1所述的清洗设备,其特征在于,所述同步报文还包括所述DNSRequest报文所携带的请求身份标识id和/或域名的散列hash值;所述第一会话模块,具体用于:
根据所述同步报文的五元组创建会话;
从所述同步报文中提取所述DNS Request报文所携带的请求id和/或域名的hash值;
将提取出的所述DNS Request报文所携带的请求id和/或域名的hash值写入创建的会话的相应字段中。
3.根据权利要求2所述的清洗设备,其特征在于,该清洗设备还包括第一获取模块,用于提取所述DNS Reply报文所携带的请求id;相应地,
所述第一判断模块,还用于在向所述第一处理模块发送所述第一通知或所述第二通知之前,判断从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id是否相同;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id相同时,向所述第一处理模块发送所述第一通知;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id不同时,向所述第一处理模块发送所述第二通知。
4.根据权利要求2所述的清洗设备,其特征在于,该清洗设备还包括第二获取模块和第一计算模块;其中,
所述第二获取模块,用于提取所述DNS Reply报文所携带的域名;
所述第一计算模块,用于计算从所述DNS Reply报文中提取出的域名的hash值;相应地,
所述第一判断模块,还用于在向所述第一处理模块发送所述第一通知或所述第二通知之前,判断计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的hash值是否相同;当判断出计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,向所述第一处理模块发送所述第一通知;当判断出计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,向所述第一处理模块发送所述第二通知。
5.根据权利要求2所述的清洗设备,其特征在于,该清洗设备还包括第一获取模块、第二获取模块和第一计算模块;其中,
所述第一获取模块,用于提取所述DNS Reply报文所携带的请求id;
所述第二获取模块,用于提取所述DNS Reply报文所携带的域名;
所述第一计算模块,用于计算从所述DNS Reply报文中提取出的域名的hash;相应地,
所述第一判断模块,还用于在向所述第一处理模块发送所述第一通知或所述第二通知之前,判断从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id是否相同;判断计算出的所述DNS Reply报文所携带的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的hash值是否相同;
当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id相同,且计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,向所述第一处理模块发送所述第一通知;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id不同时,或者计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,向所述第一处理模块发送所述第二通知。
6.根据权利要求1-5任一项所述的清洗设备,其特征在于,该清洗设备还包括计时删除模块,用于在创建会话时启动一计时器;
将计时器记录的创建的会话的时长大于或等于预设时长时,在所述第一会话表中删除所述创建的会话。
7.一种检测设备,其特征在于,包括:第二接收模块、第二判断模块、第二会话模块和第二处理模块;其中,
第二接收模块,用于接收来自路由设备发送的一个或一个以上域名***DNS查询请求Request报文;
第二判断模块,用于判断接收到的DNS Request报文是否命中第二会话表中的会话;当判断出接收到的DNS Request报文未命中第二会话表中的会话时,通知第二会话模块;
第二会话模块,用于接收到来自第二判断模块的通知,创建与接收到的DNS Request报文对应的包含五元组的会话并将创建的该会话添加至第二会话表中;通知第二处理模块;
第二处理模块,用于接收到来自第二会话模块的通知,根据包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
8.根据权利要求7所述的检测设备,其特征在于,所述第二处理模块,还用于接收到来自所述第二会话模块的通知,从接收到的所述DNS Request报文中提取出请求id和/或域名;根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
9.根据权利要求7所述的检测设备,其特征在于,所述第二判断模块,还用于当判断出接收到的DNS Request报文命中第二会话表中的会话时,通知所述第二处理模块;相应地,
所述二处理模块,还用于接收到来自所述第二判断模块的通知,从接收到的所述DNSRequest报文中提取出请求id和/或域名;根据提取出的所述请求id和/或所述域名以及包含五元组的所述会话构造同步报文并将构造出的同步报文发送给所述清洗设备。
10.根据权利要求8或9所述的检测设备,其特征在于,所述第二处理模块根据提取出的所述请求id和/或所述域名以及包含五元组的所述会话构造同步报文包括:
将五元组存储在所述同步报文的相应位置;
将提取出的请求id存储在所述同步报文的相应位置;和/或,
计算提取出的域名的散列hash值并将计算出的域名的hash值存储在所述同步报文的相应位置。
11.一种路由设备,其特征在于,包括:检测模块、镜像模块、第一转发模块和第二转发模块;其中,
检测模块,用于当检测到来自内网用户的DNS查询请求Request报文时,通知镜像模块;当接收到DNS查询应答Reply报文时,通知第一转发模块;当接收到来自清洗设备的DNSReply报文时,通知第二转发模块;
镜像模块,用于接收到来自检测模块的通知,将检测到的DNS Request报文复制给检测设备;
第一转发模块,用于接收到来自检测模块的通知,将接收到的DNS Reply报文转发给清洗设备;
第二转发模块,用于接收到来自检测模块的通知,将来自清洗设备的DNS Reply报文转发给对应的内网用户。
12.一种防范DNS攻击的方法,其特征在于,包括:
清洗设备接收来自检测设备发送的一个或一个以上包含域名***DNS查询请求Request报文的五元组的同步报文;
根据接收到的一个或一个以上同步报文创建包含一个或一个以上会话的第一会话表;
当接收到来自路由设备发送的DNS查询应答Reply报文时,判断接收到的DNS Reply报文是否命中第一会话表中的会话;
当判断出接收到的DNS Reply报文命中第一会话表中的会话时,将该DNS Reply报文转发给路由设备;当判断出接收到的DNS Reply报文未命中第一会话表中的会话时,丢弃该DNS Reply报文。
13.根据权利要求12所述的方法,其特征在于,该方法之前还包括:
所述路由设备检测是否有来自内网用户的DNS Request报文;当检测到来自内网用户的DNS Request报文时,将检测到所述DNS Request报文复制给检测设备;
所述检测设备判断接收到的来自所述路由设备的所述DNS Request报文是否命中第二会话表中的会话;当判断出接收到的DNS Request报文未命中第二会话表中的会话时,创建与接收到的DNS Request报文对应的包含五元组的会话并将创建的该会话添加至第二会话表中;根据包含五元组的会话构造同步报文并将构造出的同步报文发送给所述清洗设备。
14.根据权利要求13所述的方法,其特征在于,所述同步报文还包括:所述DNS Request报文所携带的请求身份标识id和/或域名的散列hash值;相应地,
当判断出接收到的所述DNS Request报文未命中所述第二会话表中的会话时,该方法还包括:
所述检测设备创建与接收到的所述DNS Request报文对应的包含五元组的会话并将创建的该会话添加至所述第二会话表中;
所述检测设备从接收到的所述DNS Request报文中提取出请求id和/或域名;根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
15.根据权利要求13所述的方法,其特征在于,所述同步报文还包括:所述DNS Request报文所携带的请求身份标识id和/或域名的散列hash值;相应地,
当判断出接收到的DNS Request报文命中第二会话表中的会话时,该方法还包括:
所述检测设备从接收到的DNS Request报文中提取出请求id和/或域名;根据提取出的请求id和/或域名以及包含五元组的会话构造同步报文并将构造出的同步报文发送给清洗设备。
16.根据权利要求14或15所述的方法,其特征在于,所述检测设备构造同步报文包括:
将五元组存储在所述同步报文的相应位置;
将提取出的请求id存储在所述同步报文的相应位置;和/或,
计算提取出的域名的散列hash值并将计算出的域名的hash值存储在所述同步报文的相应位置。
17.根据权利要求16所述的方法,其特征在于,当所述同步报文还包括所述DNSRequest报文所携带的请求id时,在所述将该DNS Reply报文转发给路由设备或者所述丢弃该DNS Reply报文之前,在所述判断接收到的DNS Reply报文是否命中第一会话表中的会话之后,该方法还包括:
所述清洗设备提取所述DNS Reply报文所携带的请求id;
所述清洗设备判断从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id是否相同;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id相同时,执行所述将所述DNS Reply报文转发给路由设备的步骤;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id不同时,执行所述丢弃所述DNS Reply报文的步骤。
18.根据权利要求16所述的方法,其特征在于,当所述同步报文还包括所述DNSRequest报文所携带的域名的hash值时,在所述将该DNS Reply报文转发给路由设备或者所述丢弃该DNS Reply报文之前,在所述判断接收到的DNS Reply报文是否命中第一会话表中的会话之后,该方法还包括:
所述清洗设备提取所述DNS Reply报文所携带的域名;
所述清洗设备计算从所述DNS Reply报文中提取出的域名的hash值;
所述清洗设备判断计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的hash值是否相同;当判断出计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,执行所述将所述DNS Reply报文转发给路由设备的步骤;当判断出计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,执行所述丢弃所述DNS Reply报文的步骤。
19.根据权利要求16所述的方法,其特征在于,当所述同步报文还包括所述DNSRequest报文所携带的请求身份标识id和域名的散列hash值时,在所述将该DNS Reply报文转发给路由设备或者所述丢弃该DNS Reply报文之前,在所述判断接收到的DNS Reply报文是否命中第一会话表中的会话之后,该方法还包括:
所述清洗设备提取所述DNS Reply报文所携带的请求id和域名;
所述清洗设备计算从所述DNS Reply报文中提取出的域名的hash;相应地,
所述清洗设备判断从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id是否相同;判断计算出的所述DNS Reply报文所携带的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的hash值是否相同;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id相同,且计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值相同时,执行所述将所述DNS Reply报文转发给路由设备的步骤;当判断出从所述DNS Reply报文中提取出的请求id和与所述DNS Reply报文命中的会话的相应字段中的请求id不同时,或者计算出的域名的hash值和与所述DNS Reply报文命中的会话的相应字段中的域名的hash值不同时,执行所述丢弃所述DNS Reply报文的步骤。
20.根据权利要求12-15、17-19任一项所述的方法,其特征在于,在所述判断接收到的DNS Reply报文是否命中第一会话表中的会话之前,该方法还包括:
所述清洗设备在创建会话时启动一计时器;
将计时器记录的创建的会话的时长大于或等于预设时长时,在所述第一会话表中删除所述创建的会话。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610391464.9A CN106101088B (zh) | 2016-06-04 | 2016-06-04 | 清洗设备、检测设备、路由设备和防范dns攻击的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610391464.9A CN106101088B (zh) | 2016-06-04 | 2016-06-04 | 清洗设备、检测设备、路由设备和防范dns攻击的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106101088A CN106101088A (zh) | 2016-11-09 |
CN106101088B true CN106101088B (zh) | 2019-05-24 |
Family
ID=57448183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610391464.9A Active CN106101088B (zh) | 2016-06-04 | 2016-06-04 | 清洗设备、检测设备、路由设备和防范dns攻击的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106101088B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685962B (zh) * | 2016-12-29 | 2020-06-23 | 广东睿江云计算股份有限公司 | 一种反射型ddos攻击流量的防御***及方法 |
CN108769034B (zh) * | 2018-06-01 | 2021-02-26 | 杭州安恒信息技术股份有限公司 | 一种实时在线监测远控木马控制端ip地址的方法及装置 |
CN111885089A (zh) * | 2020-08-06 | 2020-11-03 | 四川长虹电器股份有限公司 | 基于层次分析法的DNS服务器DDoS攻击防御方法 |
CN112583692B (zh) * | 2020-12-04 | 2023-03-24 | ***通信集团黑龙江有限公司 | 流量清洗的方法、装置、设备及计算机存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976307A (zh) * | 2005-11-28 | 2007-06-06 | 日立通讯技术株式会社 | Dns服务器装置 |
CN101299724A (zh) * | 2008-07-04 | 2008-11-05 | 杭州华三通信技术有限公司 | 流量清洗的方法、***和设备 |
CN101431449A (zh) * | 2008-11-04 | 2009-05-13 | 中国科学院计算技术研究所 | 一种网络流量清洗*** |
CN101505218A (zh) * | 2009-03-18 | 2009-08-12 | 杭州华三通信技术有限公司 | 攻击报文的检测方法和装置 |
CN102316082A (zh) * | 2010-07-06 | 2012-01-11 | 杭州华三通信技术有限公司 | 一种防御网站DDoS攻击的方法和流量清洗设备 |
CN103078869A (zh) * | 2013-01-16 | 2013-05-01 | 华为技术有限公司 | 一种加速会话转发的***及其方法 |
CN104753946A (zh) * | 2015-04-01 | 2015-07-01 | 浪潮电子信息产业股份有限公司 | 一种基于网络流量元数据的安全分析框架 |
US9350644B2 (en) * | 2012-04-13 | 2016-05-24 | Zscaler. Inc. | Secure and lightweight traffic forwarding systems and methods to cloud based network security systems |
-
2016
- 2016-06-04 CN CN201610391464.9A patent/CN106101088B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976307A (zh) * | 2005-11-28 | 2007-06-06 | 日立通讯技术株式会社 | Dns服务器装置 |
CN101299724A (zh) * | 2008-07-04 | 2008-11-05 | 杭州华三通信技术有限公司 | 流量清洗的方法、***和设备 |
CN101431449A (zh) * | 2008-11-04 | 2009-05-13 | 中国科学院计算技术研究所 | 一种网络流量清洗*** |
CN101431449B (zh) * | 2008-11-04 | 2011-05-04 | 中国科学院计算技术研究所 | 一种网络流量清洗*** |
CN101505218A (zh) * | 2009-03-18 | 2009-08-12 | 杭州华三通信技术有限公司 | 攻击报文的检测方法和装置 |
CN102316082A (zh) * | 2010-07-06 | 2012-01-11 | 杭州华三通信技术有限公司 | 一种防御网站DDoS攻击的方法和流量清洗设备 |
US9350644B2 (en) * | 2012-04-13 | 2016-05-24 | Zscaler. Inc. | Secure and lightweight traffic forwarding systems and methods to cloud based network security systems |
CN103078869A (zh) * | 2013-01-16 | 2013-05-01 | 华为技术有限公司 | 一种加速会话转发的***及其方法 |
CN104753946A (zh) * | 2015-04-01 | 2015-07-01 | 浪潮电子信息产业股份有限公司 | 一种基于网络流量元数据的安全分析框架 |
Also Published As
Publication number | Publication date |
---|---|
CN106101088A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jin et al. | Hop-count filtering: an effective defense against spoofed DDoS traffic | |
CN106101088B (zh) | 清洗设备、检测设备、路由设备和防范dns攻击的方法 | |
CN103095675B (zh) | Arp欺骗攻击检测***及方法 | |
CN108063765B (zh) | 适于解决网络安全的sdn*** | |
EP2257024B1 (en) | Method, network apparatus and network system for defending distributed denial of service ddos attack | |
CN106453215B (zh) | 一种网络攻击的防御方法、装置及*** | |
CN109450841B (zh) | 一种基于云+端设备按需联动模式的抗大规模DDoS攻击的防御方法 | |
US20060075491A1 (en) | Network overload detection and mitigation system and method | |
CN107241301A (zh) | 防御反射攻击的方法、装置和*** | |
CN107135187A (zh) | 网络攻击的防控方法、装置及*** | |
CN103609089B (zh) | 一种防止附连到子网的主机上拒绝服务攻击的方法及装置 | |
CN108809923A (zh) | 在检测DDoS攻击时的流量过滤的***和方法 | |
CN105812318B (zh) | 用于在网络中防止攻击的方法、控制器和*** | |
CN107623663A (zh) | 处理网络流量的方法及装置 | |
CN105323259B (zh) | 一种防止同步包攻击的方法和装置 | |
CN104283882B (zh) | 一种路由器的智能安全防护方法 | |
CN108737447A (zh) | 用户数据报协议流量过滤方法、装置、服务器及存储介质 | |
CN103428224A (zh) | 一种智能防御DDoS攻击的方法和装置 | |
WO2008131658A1 (fr) | Procédé et dispositif pour fureter le dhcp | |
CN107666473A (zh) | 一种攻击检测的方法及控制器 | |
EP2081356A1 (en) | Method of and telecommunication apparatus for SIP anomaly detection in IP networks | |
CN104796423B (zh) | Arp双向主动防御方法 | |
CN107306255A (zh) | 防御流量攻击方法、预设列表生成方法、装置及清洗设备 | |
CN107454065A (zh) | 一种UDP Flood攻击的防护方法及装置 | |
CN110022303A (zh) | Arp双向防御***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |