一种防范dns洪水攻击的装置和方法

文档序号:8000106阅读:107来源:国知局
一种防范dns洪水攻击的装置和方法
【专利摘要】本发明提供一种防范DNS洪水攻击的装置,应用在网络安全设备上,该装置执行以下处理流程步骤:A、在该网络安全设备接收DNS请求报文后计算该报文携带的请求解析域名的域名级数,转步骤B;步骤B、更新当前域名级数对应的报文统计数量,然后判断更新后的所述报文统计数量是否符合预定的规则,如果否,则确定发生DNS攻击,如果是,则转步骤C;步骤C、判断所述请求域名的级数是否小于等于2,如果是,则允许该DNS请求报文通过。通过本发明的技术方案,有效提升了网络安全设备防范DNS洪水攻击的能力,进一步确保了网络安全。
【专利说明】一种防范DNS洪水攻击的装置和方法

【技术领域】
[0001]本发明涉及网络安全技术,尤其涉及一种防范DNS洪水攻击的装置和方法。

【背景技术】
[0002]DNS是域名系统(Domain Name System)的缩写,它是由解析器和域名服务器组成的。域名服务器(DNS Server)是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。DNS解析域名的流程大体如下:首先由客户端发起域名解析请求,本地DNS服务器收到该请求后,会在本地及缓存中查找,如果没有找到,则会向上一级DNS服务器发起请求,上一级DNS服务器会将解析结果通过回应报文返回给本地DNS服务器,此时,本地DNS服务器将所述解析结果存入缓存,以便后续客户端再次请求解析该域名的时候,可以直接返回解析结果,同时会将解析结果返回给本次请求解析该域名的客户端。
[0003]近年来DNS攻击事件屡屡发生,目前DNS洪水攻击就是其中一个典型的攻击。DNS洪水攻击是一种基于特定应用协议的UDP洪水攻击,攻击方向DNS服务器发送大量域域名请求报文,致使DNS服务器严重超载,无法继续响应正常用户的DNS请求,从而达到攻击的目的。
[0004]现有技术中,对DNS洪水攻击的防护主要是根据域名来防护的,其基本处理流程是将DNS请求报文中携带的被解析域名解析出来,然后统计周期内访问次数或者访问的数据量,正常的域名请求一般是在一个范围内的,如果超过此范围,就认为是攻击报文,将此报文丢掉。现有技术通过域名的防护,只能对整个域名进行防护,比如域名WWW.google, com在其第三级www上离散变化,现有技术的防护过于单一,基本无效。


【发明内容】

[0005]有鉴于此,本发明提供一种防范DNS洪水攻击的装置和方法,以解决现有技术存在的不足。
[0006]具体地,所述装置应用在网络安全设备上,该装置包括:
[0007]级数计算模块,用于在该网络安全设备接收DNS请求报文后计算该报文携带的请求解析域名的域名级数,转数量判断模块处理;
[0008]数量判断模块,用于更新当前域名级数对应的报文统计数量,然后判断更新后的所述报文统计数量是否符合预定的规则,如果否,则确定发生DNS攻击,如果是,则转级数判断模块;
[0009]级数判断模块,用于判断所述请求域名的级数是否小于等于2,如果是,则允许该DNS请求报文通过。
[0010]所述方法包括以下步骤:
[0011]步骤A、在该网络安全设备接收DNS请求报文后计算该报文携带的请求解析域名的域名级数,转步骤B;
[0012]步骤B、更新当前域名级数对应的报文统计数量,然后判断更新后的所述报文统计数量是否符合预定的规则,如果否,则确定发生DNS攻击,如果是,则转步骤C ;
[0013]步骤C、判断所述请求域名的级数是否小于等于2,如果是,则允许该DNS请求报文通过。
[0014]由以上技术方案可见,本发明通过判断域名请求报文的统计数量进而识别攻击报文,有效地防范了 DNS洪水攻击。

【专利附图】

【附图说明】
[0015]图1是本发明一种实施方式的方法流程图;
[0016]图2是本发明一种实施方式的装置逻辑图。

【具体实施方式】
[0017]针对现有技术中存在的问题,本发明提供一种防范DNS洪水攻击的装置和方法。为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0018]请参考图1和图2,在本发明一种优选的实施方式中,所述装置包括:级数计算模块、数量判断模块以及级数判断模块。所述装置执行如下处理流程:
[0019]步骤101、在网络安全设备接收DNS请求报文后,计算该报文携带的请求解析域名的域名级数。
[0020]域名是Internet地址中的一项,与网络上数字型IP地址相对应,用户可以通过域名访问其对应的网站,相对于IP地址来讲,便于记忆。域名可以分为不同的级别,包括顶级域名、二级域名、三级域名等等,举例来说,域名WWW.abc.def.fhg.1jk.com是一个六级域名,其中com是该域名的第一级,ijk是第二级、fhg是第三级、def是第四级等等依次类推。
[0021]本步骤中,在接收到DNS请求报文后,首先从中获取该报文携带的请求解析的域名,然后计算该域名的级数。本步骤由级数计算模块执行。
[0022]步骤102、判断请求域名的域名级数是否大于配置的级数,如果是,则将所述请求解析域名的域名级数更新为配置的级数。
[0023]所述配置的级数是管理员依据实际需要而配置的。可以全局配置一个级数,所有的域名都使用这个配置的级数来防护。也可以为某些重点域名单独配置,比方说诸如百度、新浪等访问量巨大的大型门户网站可以单独配置,举例来说,需要为新浪配置四级防护,就要将其中需要防护的域名诸如news.sina.com.cn, tech.sina.com.cn等录入,以便后续判断。本步骤中,在判断的时候,优先查看所述请求域名是否为单独配置的域名,如果是就按照配置的级数比较,如果否就以全局配置的级数比较。
[0024]经比较,如果所述请求解析域名的级数大于配置的级数,那么将配置的级数赋予请求解析域名的域名级数进行后续步骤,如果所述请求解析域名的域名级数小于配置的级数,则还是以请求解析域名的域名级数进行后续步骤。本步骤由级数计算模块执行。
[0025]步骤103、更新当前域名级数对应的报文统计数量,然后判断更新后的所述报文统计数量是否符合预定的规则。
[0026]在一种优选的实施方式中,本步骤所述预定的规则是周期内所述报文统计数量不超过配置的阈值。所述阈值是指在正常情况下,指定周期内通过的DNS请求报文的最大数量,在优选方式中,这个周期通常不大于I秒钟。该阈值也是由管理员统一配置,具体地,管理员配置域名级数的同时为各域名级数配置对应的报文统计数量阈值,如果有单独配置的域名防护级数,也需要单独为其配置报文统计数量的阈值。指定周期可以通过定时器来实现,当定时器超时的时候,可以将统计数量清零进而在新的周期内重新统计。
[0027]本步骤中,首先更新所述域名级数对应的报文统计数量,具体地,是将当前的报文统计数量加1,然后和配置的阈值比较,如果没有超过配置的阈值,说明此时的DNS请求报文统计数量在正常范围内,没有发生洪水攻击,进而转步骤104 ;如果超过配置的阈值,说明此时DNS请求报文的统计数量已经超过正常范围,确认发生DNS攻击。此时可依据现有技术中的方法进行处理,比方说可以丢掉所述DNS请求报文,也可以对报文进行限速。本步骤由数量判断模块执行。
[0028]步骤104、判断所述请求域名的级数是否小于等于2,如果是,则允许所述DNS请求报文通过。
[0029]如果所述请求域名的级数等于2,则说明该DNS请求报文中携带的待解析的域名的二级域名已经在步骤103中通过了验证,所以,就可以允许该DNS请求报文通过。通常在判断的过程中,一级域名也就是顶级域名由于访问量巨大,在一种优选的实施方式中,可以不做防护,所以判断能否上报的域名级数设置为2。
[0030]本步骤中,如果所述请求域名的级数大于2,则将所述当前域名级数减I后返回步骤103,直到所述请求域名的级数满足小于等于2的条件时,才允许所述DNS请求报文通过。本步骤由级数判断模块执行。
[0031]上述步骤中,步骤104并不是必需的步骤。理论上来讲,只要步骤103中经判断所述请求域名的级数的报文统计数量满足要求,就能够说明尚未发生攻击行为,该DNS请求报文不应视为攻击报文,可以允许其通过。但是在实际应用中,攻击者可能会使用分布式攻击,比方说攻击者从下级域名入手,大量发送待解析的三级域名和四级域名的DNS请求报文,但其攻击的目标是二级域名,如果没有步骤104的处理机制,则其中二级域名的报文统计数量就不会被更新,此时,攻击者只要发送少量甚至不放松针对二级域名的攻击报文,那么其大部分的攻击报文就会被允许通过,进而间接地攻击该二级域名。
[0032]通过以上描述可以看出,本发明通过设置各级域名的报文统计数量来防范DNS洪水攻击报文,能够有效地识别出攻击者将大量攻击报文分散开来,尤其是分散针对多个不同下级域名的攻击报文的情况,这种攻击分散度越高,则隐蔽性越强,在传统方式中,其所使用的攻击报文由于过于分散,因此可以成功地隐藏在正常报文中,本发明则能够有效地防范这种隐蔽性较强的分布式的DNS的攻击,同时兼容现有仅仅针对特定技术域名的防范机制。
[0033]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种防范DNS洪水攻击的装置,应用在网络安全设备上,该装置包括: 级数计算模块,用于在该网络安全设备接收DNS请求报文后计算该报文携带的请求解析域名的域名级数,转数量判断模块处理; 数量判断模块,用于更新当前域名级数对应的报文统计数量,然后判断更新后的所述报文统计数量是否符合预定的规则,如果否,则确定发生DNS攻击,如果是,则转级数判断模块; 级数判断模块,用于判断所述请求域名的级数是否小于等于2,如果是,则允许该DNS请求报文通过。
2.根据权利要求1所述的装置,其特征在于,所述级数判断模块进一步用于,在判断所述请求域名的级数大于2时,则将所述当前域名级数减I后返回数量判断模块。
3.根据权利要求1所述的装置,其特征在于,所述级数计算模块进一步用于,判断请求解析域名的域名级数是否大于配置的级数,如果是,则将所述请求解析域名的域名级数更新为配置的级数。
4.根据权利要求1所述的装置,其特征在于,所述预定的规则是周期内所述报文统计数量不超过配置的阈值。
5.根据权利要求4所述的装置,其特征在于,所述周期不大于I秒钟。
6.一种防范DNS洪水攻击的方法,应用在网络安全设备上,该方法包括: 步骤A、在该网络安全设备接收DNS请求报文后计算该报文携带的请求解析域名的域名级数,转步骤B ; 步骤B、更新当前域名级数对应的报文统计数量,然后判断更新后的所述报文统计数量是否符合预定的规则,如果否,则确定发生DNS攻击,如果是,则转步骤C ; 步骤C、判断所述请求域名的级数是否小于等于2,如果是,则允许该DNS请求报文通过。
7.根据权利要求6所述的方法,其特征在于,步骤C进一步包括:在判断所述请求域名的级数大于2时,则将所述当前域名级数减I后返回步骤B。
8.根据权利要求6所述的方法,其特征在于,步骤A进一步包括:判断请求解析域名的域名级数是否大于配置的级数,如果是,则将所述请求解析域名的域名级数更新为配置的级数。
9.根据权利要求6所述的方法,其特征在于,所述预定的规则是周期内所述报文统计数量不超过配置的阈值。
10.根据权利要求9所述的方法,其特征在于,所述周期不大于I秒钟。
【文档编号】H04L29/06GK104184585SQ201310205433
【公开日】2014年12月3日 申请日期:2013年5月28日 优先权日:2013年5月28日
【发明者】贾彦龙 申请人:杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1