CN104079421A - 一种域名系统防护的方法和系统 - Google Patents

一种域名系统防护的方法和系统 Download PDF

Info

Publication number
CN104079421A
CN104079421A CN201310102214.5A CN201310102214A CN104079421A CN 104079421 A CN104079421 A CN 104079421A CN 201310102214 A CN201310102214 A CN 201310102214A CN 104079421 A CN104079421 A CN 104079421A
Authority
CN
China
Prior art keywords
dns
qps
threshold
duration
domain name
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.)
Granted
Application number
CN201310102214.5A
Other languages
English (en)
Other versions
CN104079421B (zh
Inventor
姜欣
杜建凤
郭志刚
吴茜
李旬
李鹏
李可
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Group Beijing Co Ltd
Original Assignee
China Mobile Group Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Group Beijing Co Ltd filed Critical China Mobile Group Beijing Co Ltd
Priority to CN201310102214.5A priority Critical patent/CN104079421B/zh
Publication of CN104079421A publication Critical patent/CN104079421A/zh
Application granted granted Critical
Publication of CN104079421B publication Critical patent/CN104079421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种域名系统防护的方法和系统,通过自我学习IP地址组和域名组的DNS流量特征,并自动识别哪些二维矩阵元素的DNS流量异常,再通过矩阵内的元素之间的关系判断出异常元素,通过两个函数解析时延阈值、解析成功率阈值对比分析,可以对异常流量进行分类并触发不同处理机制,两种处理机制都规避了现有方案所导致的DNS故障发生后到备份中心DNS服务器启用之间会有一个很长的时间段DNS无法服务的问题。

Description

一种域名系统防护的方法和系统
技术领域
本发明涉及传输与IP技术领域,尤其涉及一种域名系统防护的方法和系统。
背景技术
目前规范中的DNS解析流程如下(以www.sina.com.cn解析为例):
(1)用户主机将域名查询请求发给本地DNS服务器;
(2)本地DNS服务器收到请求后在本地域名数据库及缓存中查找,如果查找到相关记录,就将该域名对应的IP地址发给用户主机;
(3)若DNS服务器在本地域名数据库及缓存中未查询到相关记录,本地DNS服务器向自己的根域服务器发出解析请求;
(4)根域DNS服务器返回cn域的DNS服务器的IP地址;
(5)本地DNS服务器再将请求交给管理cn域的DNS服务器;
(6)cn域DNS服务器返回com.cn域的DNS服务器的地址;
(7)本地DNS服务器再次把请求交给管理com.cn域的DNS服务器,管理com.cn域的DNS服务器再返回sina.com.cn域名服务器的地址;
(8)最终,本地DNS服务器从sina.com.cn域名服务器获得www.sina.com.cn网站服务器的IP地址结果,并将结果返回给接入用户。
由上述流程可以发现,DNS流程是访问互联网的访问,如果DNS不可用,将导致整个互联网不可访问。然而,由于DNS却是互联网中的一个安全薄弱环节,针对DNS系统的网络攻击能够轻易将整个互联网攻瘫。
在众多DNS的网络攻击中,基于DNS应用层的DDOS攻击又是最常见、危害最大的攻击类型,在现有技术中,规避DNS DDOS攻击的方法为BGP牵引的方式,其原理如下:
1、某城域网设置有Local DNS,作为本城域网用户访问互联网的DNS服务器;
2、若该城域网遭受到DDOS类的网络攻击,会接收到大量可成功解析或不能成功解析的域名解析请求,大大消耗DNS系统资源及DNS接入互联网的带宽,最终导致本地的Local DNS服务器不可用;
3、需要在骨干网或本城域网内部设置一台处理能力非常强的DNS备份中心,在基于DNS的DDOS攻击发生时,能够处理大量的域名请求;
4、此时,需要DNS备份中心发布之前城域网Local DNS的服务地址,并将该IGP路由重分发至BGP路由中;
5、BGP协议将该路由从骨干网AS传导至城域网的AS;
6、城域网的BGP协议需要接受该路由,并将其泛洪至本AS内的所有设备及用户;
7、此时,用户无需调整DNS地址,就可以使用DNS服务,从而恢复访问互联网的能力。
但是在现有技术方案中,缺少DDOS攻击发现的方法和手段,尤其是当只是针对某些域名组或攻击来源于某些IP组的时候,常常会因为部分域名的大量请求或来源于部分IP的攻击,导致整个DNS系统瘫痪,从而使得所有用户无法访问所有域名。
另外,在现有技术方案中,只有人工发现DNS被攻击后,才能在备份中心上发布被攻击DNS服务器的路由,路由需要经过路由器的数据配置以及在AS之间的传递、收敛后,用户才可以使用,通常在故障发生后到备份中心DNS服务器启用之间会有一个很长的时间段,这部分时间用户是无法访问互联网的,大大降低了用户感知。
发明内容
为了解决现有技术中存在的无法发现攻击、故障处理时间长的技术问题,本发明提出一种域名系统防护的方法和系统,能够自动识别异常流量,并根据异常流量的不同种类,采取不同处理机制,规避了现有方案所导致的DNS故障发生后到备份中心DNS服务器启用之间会有一个很长的时间段DNS无法服务的问题。
本发明一方面提供了一种域名系统防护的方法,包括以下步骤:
构建IP地址组和域名组的二维矩阵A(i,j),分别统计每一个IP地址组对应每一个域名组A(i,j)在之前第一时长T1内的每秒查询率QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate;
将第一时长T1均分成不少于2个第二时长T2,每隔第二时长T2,更新第一时长T1内的QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,并计算最近第二时长T2内的QPS均值A(i,j).QPS、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate;
针对每一个IP地址组对应每一个域名组A(i,j),分别设置处理阈值,包括QPS阈值A(i,j).Threshold_QPS、解析时延阈值A(i,j).Threshold_Delay和解析成功率阈值A(i,j).Threshold_SuccessRate;
在第二时长T2时间后,更新最新第一时长T1内的QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,计算QPS阈值A(i,j).Threshold_QPS、解析时延阈值A(i,j).Threshold_Delay和解析成功率阈值A(i,j).Threshold_SuccessRate,并计算第二时长T2内的QPS均值A(i,j).QPS、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate;
将第二时长T2内的QPS均值A(i,j).QPS与第一时长T1内的QPS阈值A(i,j).Threshold_QPS进行比较,判断二维矩阵A(i,j)中DNS流量异常的元素以及DNS流量异常的域名和IP地址;
将第二时长T2内的解析成功率A(i,j).SuccessRate和平均解析时延A(i,j).Delay与第一时长T1内的解析成功率阈值A(i,j).Threshold_SuccessRate和解析时延阈值A(i,j).Threshold_Delay进行比较,判断异常流量的种类,并进行对应的处理。
本发明另一方面提供了一种域名系统防护的系统,包括数据单元、计算单元和处置单元,其中,
数据单元用于存储IP地址组和域名组的二维矩阵A(i,j);
计算单元用于获取每一个IP地址组对应每一个域名组A(i,j)在之前第一时长T1内的每秒查询率QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,计算第二时长T2内的QPS均值A(i,j).QPS、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,设置第一时长T1内的QPS阈值A(i,j).Threshold_QPS、解析时延阈值A(i,j).Threshold_Delay和解析成功率阈值A(i,j).Threshold_SuccessRate;
处置单元用于将第二时长T2内的QPS均值A(i,j).QPS与第一时长T1内的QPS阈值A(i,j).Threshold_QPS进行比较,判断二维矩阵A(i,j)中DNS流量异常的元素以及DNS流量异常的域名和IP地址,将第二时长T2内的解析成功率A(i,j).SuccessRate和平均解析时延A(i,j).Delay与第一时长T1内的解析成功率阈值A(i,j).Threshold_SuccessRate和解析时延阈值A(i,j).Threshold_Delay进行比较,判断异常流量的种类,并进行对应的处理。
本发明的技术方案通过自我学习各(IP地址组,域名组)的DNS流量特征,并自动识别哪些二维矩阵元素的DNS流量异常,再通过矩阵内的元素之间的关系判断出异常A(i,∑)、A(∑,j)及A(i,j)元素,通过两个函数A(i,j).Threshold_Delay、A(i,j).Threshold_SuccessRate对比分析,可以对异常流量进行分类并触发不同处理机制。两种处理机制都规避了现有方案所导致的DNS故障发生后到备份中心DNS服务器启用之间会有一个很长的时间段DNS无法服务的问题。
附图说明
图1是本发明实施例中域名系统防护的流程图。
图2是本发明实施例中域名系统防护的系统结构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细描述。
本发明的技术方案是通过构造的(IP地址组,域名组)二维矩阵A(i,j)以及其相关的三项函数A(i,j).QPS、A(i,j).Delay、A(i,j).SuccessRate通过自我学习各(IP地址组,域名组)的DNS流量特征,通过流量特征与函数A(i,j).Threshold_QPS的对比能够判断出那些二维矩阵元素的DNS流量异常,再通过矩阵内的元素之间的关系判断出哪部分域名以及哪些源IP地址的DNS请求流量异常,在判断出异常A(i,∑)、A(∑,j)及A(i,j)元素后,通过另外两个函数A(i,j).Threshold_Delay、A(i,j).Threshold_SuccessRate对比分析,可以发现异常流量是可解析流量、不可解析延迟大流量以及不可解析延迟小流量,分别触发两种处理机制。两种处理机制的共性都是通过DNS防护模块不将流量转发至本地的LocalDNS系统;针对可解析流量和不可解析延迟小流量的场景,通过源/IP地址修改模式将DNS请求转发至备份中心后再转发给用户,针对不可解析延迟大流量的情境,本身启用迭代查询能力,并将错误的解析结果伪造为一个正确的解析结果,正确解析结果的IP是预设的IP地址。
图1是本发明实施例中域名系统防护的流程图。如图1所示,该域名系统防护的流程包括以下步骤:
步骤101、用户DNS请求流量到达DNS服务器前端的DNS防护设备。
步骤102、DNS防护设备判断报文目的地址是否是DNS系统发布的DNS服务地址,如果是,让报文通过,如果否,丢弃报文。
步骤103、DNS防护设备判断报文的传输层协议(UDP或TCP)目的端口是否是53,如果是,让报文通过,如果否,丢弃报文。
步骤104、DNS防护设备判断报文是否是规范的IP/UDP/TCP报文,如果是,让报文通过,如果否,丢弃报文。
步骤105、构建IP地址组和域名组的二维矩阵A(i,j),可自定义构建IP list分组,构建时可考虑通过不同用户接入网络(2G/3G/WLAN/BRAS/集团客户等等)、不同运营商、不同地区的IP地址范围综合考虑进行分组;可自定义构建不同的Domain list分组,建议同一个Domain list分组的域名有一定的相关性,比如:可采用泛域名方式,将同一个网站的所有域名构建成一个Domain list。A(∑,∑)代表所有IP的所有域名组,A(i,∑)代表IP list i的所有域名组,A(∑,j)代表域名Domain list j的所有IP组。请见表1。
表1
Domain list1 Domain list2 Domain list3 Domain list4 ……
IP list1 A(1,1) A(1,2) A(1,3) A(1,4) ……
IP list2 A(2,1) A(2,2) A(2,3) A(2,4) ……
IP list3 A(3,1) A(3,2) A(3,3) A(3,4) ……
IP list4 A(4,1) A(4,2) A(4,3) A(4,4) ……
IP list5 A(5,1) A(5,2) A(5,3) A(5,4) ……
IP list6 A(6,1) A(6,2) A(6,3) A(6,4) ……
…… …… …… …… …… ……
步骤106、分别统计每一个IP地址组对应每一个域名组A(i,j)在之前第一时长T1内的每秒查询率(Query Per Second,QPS)均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate。
其中,A(i,j).QPS:源IP地址为IP list i,解析域名为Domain listj,在之前T1时间范围内的QPS均值。A(i,j).QPS_max表示源IP地址为IP list i,解析域名为Domain list j,在之前T1时间范围内的QPS峰值;
A(i,j).Delay:源IP地址为IP list i,解析域名为Domain list j,在之前T1时间范围内的平均解析时延;
A(i,j).SuccessRate:源IP地址为IP list i,解析域名为Domain listj,在之前T1时间成功域名解析数量(DNS响应报文中RCODE为0)与总体请求解析数量的比例。
步骤107、将第一时长T1均分成不少于2个第二时长T2,即T1=N*T2,其中N是预设值。每隔第二时长T2,更新第一时长T1内的QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,并计算最近第二时长T2内的QPS均值A(i,j).QPS、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate。
步骤108、针对每一个IP地址组对应每一个域名组A(i,j),分别设置处理阈值,包括QPS阈值A(i,j).Threshold_QPS、解析时延阈值A(i,j).Threshold_Delay和解析成功率阈值A(i,j).Threshold_SuccessRate。其中,
QPS阈值为在之前第一时长T1时间内,A(i,j)的QPS均值的N1倍与A(i,j)的QPS峰值的N2倍之和,即A(i,j).Threshold_QPS=N1×A(i,j).QPS+N2×A(i,j).QPS_max,
解析时延阈值为在之前第一时长T1时间内,A(i,j)平均解析时延的N3倍,即A(i,j).Threshold_Delay=N3×A(i,j).Delay,
解析成功率阈值为在之前第一时长T1时间内,A(i,j)解析成功率的N4倍,即A(i,j).Threshold_SuccessRate=N4×A(i,j).SuccessRate,
其中N1、N2、N3和N4为预设值。
在第二时长T2时间后,更新最新第一时长T1内的QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,计算QPS阈值A(i,j).Threshold_QPS、解析时延阈值A(i,j).Threshold_Delay和解析成功率阈值A(i,j).Threshold_SuccessRate,并计算第二时长T2内的QPS均值A(i,j).QPS、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate。
步骤109、将第二时长T2内的QPS均值A(i,j).QPS与第一时长T1内的QPS阈值A(i,j).Threshold_QPS进行比较,判断二维矩阵A(i,j)中DNS流量异常的元素以及DNS流量异常的域名和IP地址。本步骤进一步包括:
将第二时长T2内的QPS均值A(i,j).QPS与第一时长T1内的QPS阈值A(i,j).Threshold_QPS对比,
如果A(i,j).QPS=<A(i,j).Threshold_QPS,则不做任何处理,表示流量正常,如果A(i,j).QPS>A(i,j).Threshold_QPS,则表示流量异常,可能存在网络攻击;
步骤110、汇集所有流量异常的A(i,j)元素,如表2所示,标灰区域是网络流量异常的(IP地址组,域名组)元素。
表2
Domain list1 Domain list2 Domain list3 Domain list4 ……
IP list1 A(1,1) A(1,2) A(1,3) A(1,4) ……
IP list2 A(2,1) A(2,2) A(2,3) A(2,4) ……
IP list3 A(3,1) A(3,2) A(3,3) A(3,4) ……
IP list4 A(4,1) A(4,2) A(4,3) A(4,4) ……
IP list5 A(5,1) A(5,2) A(5,3) A(5,4) ……
IP list6 A(6,1) A(6,2) A(6,3) A(6,4) ……
…… …… …… …… …… ……
步骤111、对IP地址组和域名组的二维矩阵A(i,j)异常流量元素进行分析,如果一个域名组的列中流量异常的元素多于第一预设值K1个,则初步认定域名收到网络攻击,如果一个IP地址组的行中流量异常的元素多于第二预设值L1个,则初步认定IP地址组是一个网络攻击源,如果是离散的元素流量异常,则初步认定是特定域名收到了特定IP源的网络攻击。如表2所示,可以判断A(∑,2)及A(3,4)遭到了网络攻击,也就是Domain list 2的域名组可能遭到了离散IP的攻击,Domain list 4可能遭到了源为IP list 3的网络攻击。
步骤112、针对已经标示出来的异常流量元素,将第二时长T2内解析成功率A(i,j).SuccessRate与第一时长T1内解析成功率阈值A(i,j).Threshold_SuccessRate进行对比:
如果A(i,j).SuccessRate>A(i,j).Threshold_SuccessRate或者一个预设常量x%,则判断DNS系统遭到了大量可解析域名的资源消耗型网络攻击,并转至步骤114,将这部分异常流量通过DNS防护设备进行转发。
如果A(i,j).SuccessRate<A(i,j).Threshold_SuccessRate或者一个预设常量x%,判断DNS系统遭到NXdomain DDOS攻击、ICP DNS服务器servfailure导致的异常DNS请求流量以及其它由于Local DNS不可正确解析部分域名所导致的网络异常流量情况,并转至步骤113。
步骤113、将第二时长T2内平均解析时延A(i,j).Delay与第一时长T1内解析时延阈值A(i,j).Threshold_Delay进行比较:
如果A(i,j).Delay<A(i,j).Threshold_Delay,则判断是不可解析延迟小流量,并转至步骤114,将这部分异常流量通过DNS防护设备进行转发。即说明虽然解析成功率比较低,但解析时延还是在可接受范围之内,可采用上述步骤的处理方式,通过DNS防护模块/设备,将A(i,j)元素的DNS请求报文经过源/目的IP地址修改后转发给备份中心,在DNS备份中心反馈解析结果后,再将该报文的源/目的IP地址进行修改后将该DNS响应报文反馈给用户。
如果A(i,j).Delay>=A(i,j).Threshold_Delay,则判断是不可解析延迟大流量,并转至步骤117。
步骤114、配置启用的备份中心数量及流量转发给若干备份中心之前的权重。
步骤115、DNS防护模块修改源/目IP地址将报文转发给备份中心。
步骤116、收到备份中心响应后再修改源/目IP地址将报文转发给用户。
DNS防护设备的实现原理设计如下:此时DNS防护设备在面向internet侧应配置并发布两个或两个以上的IP地址,如地址6.6.6.6用于面向用户,地址7.7.7.7用于面向DNS备份中心,当收到用户请求流量需要转发时,DNS防护设备将DNS请求的源IP地址改写为DNS防护设备的地址,将目的IP地址改写为DNS备份中心的地址,将请求流量转发至DNS备份中心,在收到DNS备份中心的响应后,DNS防护设备将响应报文的源IP地址改写为DNS服务器的地址,将目的地址改写为用户的地址,将DNS的响应报文转发至用户,降低了本地DNS sever的负荷及网络攻击的潜在可能,另一方面对于用户来说完全是透明的,用户完全以为还是由DNS sever进行服务。同时,备份中心可以有多个,例如有A、B、C三个DNS备份中心,同时DNS防护模块/设备转发至A、B、C的报文比例可以实现配置,比如,如果DNS防护模块/设备需要转发100个DNS请求报文,A、B、C三个DNS备份中心的权重配比为4:4:2,则DNS防护模块/设备转发给DNS备份中心A的报文数目是40个,转发给DNS备份中心B的报文数目是40个,转发给DNS备份中心C的报文数目是20个。
步骤117、DNS防护模块代理DNS服务器发起迭代查询。
步骤118、判断DNS响应结果的RCODE是否为0,如果是0,则转至步骤120,如果否,则转至步骤119。
步骤119、ROCDE改为0构造A记录地址为预设服务器地址。
步骤120、DNS防护模块伪造源IP为DNS地址将解析结果反馈用户。
即如果A(i,j).Delay>=A(i,j).Delay_QPS,则说明解析成功率比较低,同时解析时延也比较大,如果再转发,时延会进一步增大,此时,DNS防护设备如果接收到源IP地址为IP list i的,请求域名为Domain listj的解析请求,进行迭代查询,在收到的解析结果响应中,如果响应结果的RCODE不为0,则伪造一个RCODE为0的解析结果A,域名为请求域名,解析结果为预设置的服务器IP地址1.1.1.1,所述伪造解析结果A记录的TTL值设为第三时长T3,其中T3>T2。
为了实现上述流程,本发明实施例还提供了一种域名系统防护的系统。图2是本发明实施例中域名系统防护的系统结构示意图。如图2所示,该域名系统防护的系统包括数据单元201、计算单元202和处置单元203。
数据单元用于存储IP地址组和域名组的二维矩阵A(i,j)。
计算单元用于获取每一个IP地址组对应每一个域名组A(i,j)在之前第一时长T1内的QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,计算第二时长T2内的QPS均值A(i,j).QPS、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,设置第一时长T1内的QPS阈值A(i,j).Threshold_QPS、解析时延阈值A(i,j).Threshold_Delay和解析成功率阈值A(i,j).Threshold_SuccessRate。
处置单元用于将第二时长T2内的QPS均值A(i,j).QPS与第一时长T1内的QPS阈值A(i,j).Threshold_QPS进行比较,判断二维矩阵A(i,j)中DNS流量异常的元素以及DNS流量异常的域名和IP地址,将第二时长T2内的解析成功率A(i,j).SuccessRate和平均解析时延A(i,j).Delay与第一时长T1内的解析成功率阈值A(i,j).Threshold_SuccessRate和解析时延阈值A(i,j).Threshold_Delay进行比较,判断异常流量的种类,并进行对应的处理。
还包括DNS防护设备和DNS备份中心。DNS防护设备用于在面向互联网侧配置并发布不少于两个的IP地址,其中地址6.6.6.6用于面向用户,地址7.7.7.7用于面向DNS备份中心,当收到用户请求流量需要转发时,DNS防护设备将DNS请求的源IP地址改写为DNS防护设备的地址,将目的IP地址改写为DNS备份中心的地址,将请求流量转发至DNS备份中心;在收到DNS备份中心的响应后,DNS防护设备将响应报文的源IP地址改写为DNS服务器的地址,将目的地址改写为用户的地址,将DNS的响应报文转发至用户。DNS防护设备还用于判断报文目的地址是否是DNS系统发布的DNS服务地址,如果是,让报文通过,如果否,丢弃报文;用于判断报文的传输层协议目的端口是否是53,如果是,让报文通过,如果否,丢弃报文;用于判断报文是否是规范的IP/UDP/TCP报文,如果是,让报文通过,如果否,丢弃报文。
DNS备份中心用于处理流量。另外该系统还包括服务器,如果域名无法解析,且大量用户访问这个域名,由于要执行迭代查询会消耗大量的系统资源,通过一个预设的一个服务器,将该服务器的IP地址和域名绑定,可以保证用户每次解析成功,更重要的是可以减缓对系统资源的消耗。
本发明的技术方案通过自我学习各(IP地址组,域名组)的DNS流量特征,并自动识别哪些二维矩阵元素的DNS流量异常,再通过矩阵内的元素之间的关系判断出异常A(i,∑)、A(∑,j)及A(i,j)元素,通过两个函数A(i,j).Threshold_Delay、A(i,j).Threshold_SuccessRate对比分析,可以对异常流量进行分类并触发不同处理机制。两种处理机制都规避了现有方案所导致的DNS故障发生后到备份中心DNS服务器启用之间会有一个很长的时间段DNS无法服务的问题。
应说明的是:以上实施例仅用以说明本发明而非限制,本发明也并不仅限于上述举例,一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围中。

Claims (14)

1.一种域名系统防护的方法,其特征在于,包括以下步骤:
构建IP地址组和域名组的二维矩阵A(i,j),分别统计每一个IP地址组对应每一个域名组A(i,j)在之前第一时长T1内的每秒查询率QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate;
将第一时长T1均分成不少于2个第二时长T2,每隔第二时长T2,更新第一时长T1内的QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,并计算最近第二时长T2内的QPS均值A(i,j).QPS、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate;
针对每一个IP地址组对应每一个域名组A(i,j),分别设置处理阈值,包括QPS阈值A(i,j).Threshold_QPS、解析时延阈值A(i,j).Threshold_Delay和解析成功率阈值A(i,j).Threshold_SuccessRate;
在第二时长T2时间后,更新最新第一时长T1内的QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,计算QPS阈值A(i,j).Threshold_QPS、解析时延阈值A(i,j).Threshold_Delay和解析成功率阈值A(i,j).Threshold_SuccessRate,并计算第二时长T2内的QPS均值A(i,j).QPS、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate;
将第二时长T2内的QPS均值A(i,j).QPS与第一时长T1内的QPS阈值A(i,j).Threshold_QPS进行比较,判断二维矩阵A(i,j)中DNS流量异常的元素以及DNS流量异常的域名和IP地址;
将第二时长T2内的解析成功率A(i,j).SuccessRate和平均解析时延A(i,j).Delay与第一时长T1内的解析成功率阈值A(i,j).Threshold_SuccessRate和解析时延阈值A(i,j).Threshold_Delay进行比较,判断异常流量的种类,并进行对应的处理。
2.根据权利要求1所述的一种域名系统防护的方法,其特征在于,所述针对每一个IP地址组对应每一个域名组A(i,j),分别设置处理阈值,包括QPS阈值A(i,j).Threshold_QPS、解析时延阈值A(i,j).Threshold_Delay和解析成功率阈值A(i,j).Threshold_SuccessRate,进一步包括以下步骤:
QPS阈值为在之前第一时长T1时间内,A(i,j)的QPS均值的N1倍与A(i,j)的QPS峰值的N2倍之和,即A(i,j).Threshold_QPS=N1×A(i,j).QPS+N2×A(i,j).QPS_max,
解析时延阈值为在之前第一时长T1时间内,A(i,j)平均解析时延的N3倍,即A(i,j).Threshold_Delay=N3×A(i,j).Delay,
解析成功率阈值为在之前第一时长T1时间内,A(i,j)解析成功率的N4倍,即A(i,j).Threshold_SuccessRate=N4×A(i,j).SuccessRate,
其中N1、N2、N3和N4为预设值。
3.根据权利要求1所述的一种域名系统防护的方法,其特征在于,所述将第一时长T1均分成不少于2个第二时长T2是T1=N*T2,其中N是预设值。
4.根据权利要求1所述的一种域名系统防护的方法,其特征在于,所述将第二时长T2内的QPS均值A(i,j).QPS与第一时长T1内的QPS阈值A(i,j).Threshold_QPS进行比较,判断二维矩阵A(i,j)中DNS流量异常的元素以及DNS流量异常的域名和IP地址,进一步包括以下步骤:
将第二时长T2内的QPS均值A(i,j).QPS与第一时长T1内的QPS阈值A(i,j).Threshold_QPS对比,
如果A(i,j).QPS=<A(i,j).Threshold_QPS,则不做任何处理,流量正常,如果A(i,j).QPS>A(i,j).Threshold_QPS,则流量异常;
汇集所有流量异常的A(i,j)元素;
对IP地址组和域名组的二维矩阵A(i,j)异常流量元素进行分析,如果一个域名组的列中流量异常的元素多于第一预设值K1个,则认定所述域名收到网络攻击,如果一个IP地址组的行中流量异常的元素多于第二预设值L1个,则认定所述IP地址组是一个网络攻击源,如果是离散的元素流量异常,则认定是特定域名收到了特定IP源的网络攻击。
5.根据权利要求4所述的一种域名系统防护的方法,其特征在于,所述将第二时长T2内的解析成功率A(i,j).SuccessRate和平均解析时延A(i,j).Delay与第一时长T1内的解析成功率阈值A(i,j).Threshold_SuccessRate和解析时延阈值A(i,j).Threshold_Delay进行比较,判断异常流量的种类,并进行对应的处理,进一步包括以下步骤:
针对标示出的异常流量元素,将第二时长T2内解析成功率A(i,j).SuccessRate与第一时长T1内解析成功率阈值A(i,j).Threshold_SuccessRate进行对比:
如果A(i,j).SuccessRate>A(i,j).Threshold_SuccessRate或者一个预设常量x%,则判断DNS系统遭到了大量可解析域名的资源消耗型网络攻击,将这部分异常流量通过DNS防护设备进行转发;
如果A(i,j).SuccessRate<A(i,j).Threshold_SuccessRate或者一个预设常量x%,判断DNS系统遭到NXdomain DDOS攻击、ICP DNS服务器servfailure导致的异常DNS请求流量以及其它由于Local DNS不可正确解析部分域名所导致的网络异常流量情况,将第二时长T2内平均解析时延A(i,j).Delay与第一时长T1内解析时延阈值A(i,j).Threshold_Delay进行比较:
如果A(i,j).Delay<A(i,j).Threshold_Delay,则判断是不可解析延迟小流量,将这部分异常流量通过DNS防护设备进行转发;
如果A(i,j).Delay>=A(i,j).Threshold_Delay,则判断是不可解析延迟大流量,DNS防护设备如果接收到源IP地址为IP list i的,请求域名为Domain list j的解析请求,进行迭代查询,在收到的解析结果响应中,如果响应结果的RCODE不为0,则伪造一个RCODE为0的解析结果A,域名为请求域名,解析结果为预设置的服务器IP地址1.1.1.1,所述伪造解析结果A记录的TTL值设为第三时长T3,其中T3>T2。
6.根据权利要求5所述的一种域名系统防护的方法,其特征在于,所述异常流量通过DNS防护设备进行转发,进一步包括以下步骤:
DNS防护设备在面向互联网侧配置并发布不少于两个的IP地址,其中地址6.6.6.6用于面向用户,地址7.7.7.7用于面向DNS备份中心;
当收到用户请求流量需要转发时,DNS防护设备将DNS请求的源IP地址改写为DNS防护设备的地址,将目的IP地址改写为DNS备份中心的地址,将请求流量转发至DNS备份中心;
在收到DNS备份中心的响应后,DNS防护设备将响应报文的源IP地址改写为DNS服务器的地址,将目的地址改写为用户的地址,将DNS的响应报文转发至用户。
7.根据权利要求6所述的一种域名系统防护的方法,其特征在于,所述DNS备份中心包括不少于两个DNS备份中心。
8.根据权利要求1所述的一种域名系统防护的方法,其特征在于,还包括以下步骤:
DNS防护设备判断报文目的地址是否是DNS系统发布的DNS服务地址,如果是,让报文通过,如果否,丢弃报文。
9.根据权利要求1所述的一种域名系统防护的方法,其特征在于,还包括以下步骤:
DNS防护设备判断报文的传输层协议目的端口是否是53,如果是,让报文通过,如果否,丢弃报文。
10.根据权利要求1所述的一种域名系统防护的方法,其特征在于,还包括以下步骤:
DNS防护设备判断报文是否是规范的IP/UDP/TCP报文,如果是,让报文通过,如果否,丢弃报文。
11.一种域名系统防护的系统,其特征在于,包括数据单元、计算单元和处置单元,其中,
数据单元用于存储IP地址组和域名组的二维矩阵A(i,j);
计算单元用于获取每一个IP地址组对应每一个域名组A(i,j)在之前第一时长T1内的每秒查询率QPS均值A(i,j).QPS、QPS峰值A(i,j).QPS_max、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,计算第二时长T2内的QPS均值A(i,j).QPS、平均解析时延A(i,j).Delay和解析成功率A(i,j).SuccessRate,设置第一时长T1内的QPS阈值A(i,j).Threshold_QPS、解析时延阈值A(i,j).Threshold_Delay和解析成功率阈值A(i,j).Threshold_SuccessRate;
处置单元用于将第二时长T2内的QPS均值A(i,j).QPS与第一时长T1内的QPS阈值A(i,j).Threshold_QPS进行比较,判断二维矩阵A(i,j)中DNS流量异常的元素以及DNS流量异常的域名和IP地址,将第二时长T2内的解析成功率A(i,j).SuccessRate和平均解析时延A(i,j).Delay与第一时长T1内的解析成功率阈值A(i,j).Threshold_SuccessRate和解析时延阈值A(i,j).Threshold_Delay进行比较,判断异常流量的种类,并进行对应的处理。
12.根据权利要求11所述的一种域名系统防护的系统,其特征在于,还包括DNS防护设备和DNS备份中心,其中,
DNS防护设备用于在面向互联网侧配置并发布不少于两个的IP地址,其中地址6.6.6.6用于面向用户,地址7.7.7.7用于面向DNS备份中心,当收到用户请求流量需要转发时,DNS防护设备将DNS请求的源IP地址改写为DNS防护设备的地址,将目的IP地址改写为DNS备份中心的地址,将请求流量转发至DNS备份中心,在收到DNS备份中心的响应后,DNS防护设备将响应报文的源IP地址改写为DNS服务器的地址,将目的地址改写为用户的地址,将DNS的响应报文转发至用户;
DNS备份中心用于处理流量。
13.根据权利要求12所述的一种域名系统防护的系统,其特征在于,还包括服务器,服务器用于将自己的IP地址和域名绑定,保证用户每次解析成功,减缓对系统资源的消耗。
14.根据权利要求12所述的一种域名系统防护的系统,其特征在于,所述DNS防护设备还用于判断报文目的地址是否是DNS系统发布的DNS服务地址,如果是,让报文通过,如果否,丢弃报文;用于判断报文的传输层协议目的端口是否是53,如果是,让报文通过,如果否,丢弃报文;用于判断报文是否是规范的IP/UDP/TCP报文,如果是,让报文通过,如果否,丢弃报文。
CN201310102214.5A 2013-03-27 2013-03-27 一种域名系统防护的方法和系统 Active CN104079421B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310102214.5A CN104079421B (zh) 2013-03-27 2013-03-27 一种域名系统防护的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310102214.5A CN104079421B (zh) 2013-03-27 2013-03-27 一种域名系统防护的方法和系统

Publications (2)

Publication Number Publication Date
CN104079421A true CN104079421A (zh) 2014-10-01
CN104079421B CN104079421B (zh) 2017-09-15

Family

ID=51600478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310102214.5A Active CN104079421B (zh) 2013-03-27 2013-03-27 一种域名系统防护的方法和系统

Country Status (1)

Country Link
CN (1) CN104079421B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106470163A (zh) * 2015-08-17 2017-03-01 腾讯科技(北京)有限公司 一种信息处理方法、装置和系统
CN107040546A (zh) * 2017-05-26 2017-08-11 浙江鹏信信息科技股份有限公司 一种域名劫持检测与联动处置方法及系统
CN107124434A (zh) * 2017-07-06 2017-09-01 中国互联网络信息中心 一种dns恶意攻击流量的发现方法及系统
CN107493272A (zh) * 2017-08-01 2017-12-19 杭州迪普科技股份有限公司 一种流量清洗方法、装置和系统
CN108092940A (zh) * 2016-11-23 2018-05-29 贵州白山云科技有限公司 一种dns的防护方法及相关设备
CN108270755A (zh) * 2017-01-03 2018-07-10 中国移动通信有限公司研究院 一种域名级的自适应抗ddos攻击的方法和装置
CN108683686A (zh) * 2018-06-21 2018-10-19 中国科学院信息工程研究所 一种随机子域名DDoS攻击检测方法
CN109284229A (zh) * 2018-10-17 2019-01-29 武汉斗鱼网络科技有限公司 一种基于qps的动态调整方法以及相关设备
CN109561172A (zh) * 2019-01-29 2019-04-02 迈普通信技术股份有限公司 一种dns透明代理方法、装置、设备及存储介质
CN109617913A (zh) * 2019-01-15 2019-04-12 成都知道创宇信息技术有限公司 一种快速定位多用户共享节点DDoS攻击的管理方法
WO2019174509A1 (zh) * 2018-03-15 2019-09-19 阿里巴巴集团控股有限公司 速率控制方法、装置及电子设备
CN110868715A (zh) * 2019-12-03 2020-03-06 迈普通信技术股份有限公司 安全保护方法、装置、系统、电子设备及存储介质
CN111131285A (zh) * 2019-12-30 2020-05-08 互联网域名系统北京市工程研究中心有限公司 一种针对随机域名攻击的主动防护方法
CN113766046A (zh) * 2021-09-09 2021-12-07 牙木科技股份有限公司 迭代流量跟踪方法、dns服务器及计算机可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7372809B2 (en) * 2004-05-18 2008-05-13 Time Warner Cable, Inc. Thwarting denial of service attacks originating in a DOCSIS-compliant cable network
CN101572701A (zh) * 2009-02-10 2009-11-04 中科正阳信息安全技术有限公司 针对DNS服务的抗DDoS攻击安全网关系统
CN101702660A (zh) * 2009-11-12 2010-05-05 中国科学院计算技术研究所 异常域名检测方法及系统
CN101841435A (zh) * 2010-01-18 2010-09-22 中国科学院计算机网络信息中心 Dns查询流量异常的检测方法、装置和系统
US20110093584A1 (en) * 2009-10-20 2011-04-21 Chaoxin Qiu System and method to prevent endpoint device recovery flood in NGN
CN102694696A (zh) * 2012-05-14 2012-09-26 中国科学院计算机网络信息中心 Dns服务器异常检测的方法及装置
US8347394B1 (en) * 2009-07-15 2013-01-01 Trend Micro, Inc. Detection of downloaded malware using DNS information
CN102868669A (zh) * 2011-07-08 2013-01-09 上海寰雷信息技术有限公司 一种针对不断变化前缀域名攻击的防护方法及装置
CN102882892A (zh) * 2012-10-26 2013-01-16 杭州迪普科技有限公司 一种保护dns服务器的方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7372809B2 (en) * 2004-05-18 2008-05-13 Time Warner Cable, Inc. Thwarting denial of service attacks originating in a DOCSIS-compliant cable network
CN101572701A (zh) * 2009-02-10 2009-11-04 中科正阳信息安全技术有限公司 针对DNS服务的抗DDoS攻击安全网关系统
US8347394B1 (en) * 2009-07-15 2013-01-01 Trend Micro, Inc. Detection of downloaded malware using DNS information
US20110093584A1 (en) * 2009-10-20 2011-04-21 Chaoxin Qiu System and method to prevent endpoint device recovery flood in NGN
CN101702660A (zh) * 2009-11-12 2010-05-05 中国科学院计算技术研究所 异常域名检测方法及系统
CN101841435A (zh) * 2010-01-18 2010-09-22 中国科学院计算机网络信息中心 Dns查询流量异常的检测方法、装置和系统
CN102868669A (zh) * 2011-07-08 2013-01-09 上海寰雷信息技术有限公司 一种针对不断变化前缀域名攻击的防护方法及装置
CN102694696A (zh) * 2012-05-14 2012-09-26 中国科学院计算机网络信息中心 Dns服务器异常检测的方法及装置
CN102882892A (zh) * 2012-10-26 2013-01-16 杭州迪普科技有限公司 一种保护dns服务器的方法及装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106470163A (zh) * 2015-08-17 2017-03-01 腾讯科技(北京)有限公司 一种信息处理方法、装置和系统
CN106470163B (zh) * 2015-08-17 2020-07-07 腾讯科技(北京)有限公司 一种信息处理方法、装置和系统
CN108092940A (zh) * 2016-11-23 2018-05-29 贵州白山云科技有限公司 一种dns的防护方法及相关设备
WO2018095375A1 (zh) * 2016-11-23 2018-05-31 贵州白山云科技有限公司 一种dns的防护方法、管理设备及域名解析服务器
CN108270755B (zh) * 2017-01-03 2021-01-15 中国移动通信有限公司研究院 一种域名级的自适应抗ddos攻击的方法和装置
CN108270755A (zh) * 2017-01-03 2018-07-10 中国移动通信有限公司研究院 一种域名级的自适应抗ddos攻击的方法和装置
CN107040546A (zh) * 2017-05-26 2017-08-11 浙江鹏信信息科技股份有限公司 一种域名劫持检测与联动处置方法及系统
CN107124434B (zh) * 2017-07-06 2019-12-31 中国互联网络信息中心 一种dns恶意攻击流量的发现方法及系统
CN107124434A (zh) * 2017-07-06 2017-09-01 中国互联网络信息中心 一种dns恶意攻击流量的发现方法及系统
CN107493272A (zh) * 2017-08-01 2017-12-19 杭州迪普科技股份有限公司 一种流量清洗方法、装置和系统
WO2019174509A1 (zh) * 2018-03-15 2019-09-19 阿里巴巴集团控股有限公司 速率控制方法、装置及电子设备
CN108683686A (zh) * 2018-06-21 2018-10-19 中国科学院信息工程研究所 一种随机子域名DDoS攻击检测方法
CN109284229A (zh) * 2018-10-17 2019-01-29 武汉斗鱼网络科技有限公司 一种基于qps的动态调整方法以及相关设备
CN109284229B (zh) * 2018-10-17 2022-02-22 武汉斗鱼网络科技有限公司 一种基于qps的动态调整方法以及相关设备
CN109617913A (zh) * 2019-01-15 2019-04-12 成都知道创宇信息技术有限公司 一种快速定位多用户共享节点DDoS攻击的管理方法
CN109617913B (zh) * 2019-01-15 2021-04-27 成都知道创宇信息技术有限公司 一种快速定位多用户共享节点DDoS攻击的管理方法
CN109561172A (zh) * 2019-01-29 2019-04-02 迈普通信技术股份有限公司 一种dns透明代理方法、装置、设备及存储介质
CN109561172B (zh) * 2019-01-29 2022-02-25 迈普通信技术股份有限公司 一种dns透明代理方法、装置、设备及存储介质
CN110868715A (zh) * 2019-12-03 2020-03-06 迈普通信技术股份有限公司 安全保护方法、装置、系统、电子设备及存储介质
CN110868715B (zh) * 2019-12-03 2022-06-21 迈普通信技术股份有限公司 安全保护方法、装置、系统、电子设备及存储介质
CN111131285A (zh) * 2019-12-30 2020-05-08 互联网域名系统北京市工程研究中心有限公司 一种针对随机域名攻击的主动防护方法
CN111131285B (zh) * 2019-12-30 2022-03-01 深圳网基科技有限公司 一种针对随机域名攻击的主动防护方法
CN113766046A (zh) * 2021-09-09 2021-12-07 牙木科技股份有限公司 迭代流量跟踪方法、dns服务器及计算机可读存储介质
CN113766046B (zh) * 2021-09-09 2023-10-13 牙木科技股份有限公司 迭代流量跟踪方法、dns服务器及计算机可读存储介质

Also Published As

Publication number Publication date
CN104079421B (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
CN104079421A (zh) 一种域名系统防护的方法和系统
CN107241186B (zh) 网络设备和用于网络通信的方法
US6728782B1 (en) Method of verifying newly provisioned customer network route advertisements
JP7336472B2 (ja) 通信ネットワークを介したネットワークトラフィックのトレーサビリティの決定
CN103795819B (zh) P2p应用中基于nat的终端间的数据传输方法
EP2187576A1 (en) A message route method, system, device and a selecting backup resource method, system
EP2314026B1 (en) A method of controlling data propagation within a network
CN101616079A (zh) Dns请求报文的nat出口链路负载均衡方法及装置
CN105357146A (zh) 出口网关内缓存队列饱和攻击防御方法、装置及系统
CN102394944B (zh) 一种Web访问中的IP地址库修正方法和设备
CN106453669A (zh) 一种负载均衡方法及一种服务器
CN106790746B (zh) 一种分布式域名存储和解析方法及系统
CN101188580A (zh) 一种实时垃圾电子邮件过滤方法及系统
CN108632401B (zh) 减少dns递归服务器上隐私泄漏的匿名查询方法及系统
CN103516821A (zh) 地址解析方法及相应的系统、交换机和服务器
CN1152517C (zh) 防范网络攻击的方法
CN115665162A (zh) 一种用于灰度发布的智能分流引擎
CN100372323C (zh) 一种访问服务器群的方法
US20170064023A1 (en) Page Push Method, Device, Server and System
CN110601989A (zh) 一种网络流量均衡方法及装置
CN112866113B (zh) 路由分组转发中arp代理的方法、系统、计算机设备及存储介质
CN106790502B (zh) 一种基于NAT64前缀的IPv4终端、IPv6服务互通业务的负载均衡系统
CN112202888A (zh) 一种边缘用户的报文转发方法及sdn
CN114338809B (zh) 访问控制方法、装置、电子设备和存储介质
CN112968915B (zh) Dns域名服务器攻击的处理方法、处理系统、处理装置

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