一种减少针对dns的攻击的装置、系统和方法

文档序号:7983674阅读:114来源:国知局
一种减少针对dns的攻击的装置、系统和方法
【专利摘要】本发明公开了一种减少针对DNS的攻击的方法,包括:本地递归名称服务器接收解析器发来的未携带凭证的第一请求后,为第一请求生成凭证,并向第一请求的源IP地址的解析器发送凭证;本地递归名称服务器接收到解析器重新发送的携带有凭证的第一请求,如果判断第一请求中携带正确的凭证,则继续对第一请求进行处理;如果第一请求中携带错误的凭证,则丢弃第一请求。此外,本发明还公开了一种减少针对DNS的攻击的装置和系统。使用本发明的方法、装置和系统,可以有效地在本地递归名称服务器侧减少针对DNS的攻击,从而避免大量的攻击进入其他的递归名称服务器甚至权威名称服务器,同时,本发明的应用对现有DNS的规范没有改变或者改变很小,具有实施简单、成本低等优点。
【专利说明】一种减少针对DNS的攻击的装置、系统和方法
【技术领域】
[0001]本发明涉及网络安全技术,特别是涉及一种减少DNS的攻击的装置、系统和方法。【背景技术】
[0002]域名系统(DNS,Domain Name System)是互联网基础设施的关键因素,它进行域名和IP地址之间的映射。即使是DNS的一小部分功能在极短的时间内不可用,也可能会影响整个互联网的使用,因而是完全不可接受的。然而,由于DNS查询和响应大多是基于用户数据报协议(UDP,User Data Protocol)的,而UDP是无连接的,很容易被假冒数据报,而基于假冒数据报的拒绝服务(DoS, denial of service)攻击难以阻止,并不可避免地对DNS服务产生重大损害。
[0003]针对DNS的基于假冒数据包的攻击策略主要有两种。一种攻击策略是向DNS服务器发送大量假冒的查询请求以使其超载,例如对虚假对象资源记录(RR,Resource Record)进行查询请求。因为标准的DNS服务器无法区分假冒和非假冒的请求,只能尽可能处理所有的请求,然后在其超载时不加区分地丢弃请求。然而,合法请求者一般认为请求掉队是由拥塞导致并强制性重传延迟,从而大大降低了超载服务器的合法请求的数量。另一种攻击策略是假冒其他源IP地址(第三方被攻击主机)发起查询请求,利用DNS工作机制放大流量的特点,例如,一个50字节的请求对应的响应消息可能有500字节,攻击者发送一个DNS请求,该请求对应的响应会比请求本身占用更多资源。在这种攻击下,放大的DNS流量可能将DNS服务器的带宽和第三方被攻击主机的下行带宽耗尽。
[0004]然而,目前对于此类攻击还没有合适的应对策略。

【发明内容】

[0005]本发明的目的在于提供一种减少针对DNS的攻击的方法、装置和系统,以有效地抑制针对DNS的攻击。
[0006]根据本发明的一个实施例,一种减少针对DNS的攻击的方法,该方法包括:本地递归名称服务器接收解析器发送的未携带凭证的第一请求,为该第一请求生成凭证,并向该第一请求的源IP地址发送该凭证;本地递归名称服务器接收解析器重新发送的携带有凭证的第一请求,如果判断该重新发送的第一请求中携带正确的凭证,则继续对该重新发送的第一请求进行处理;如果该重新发送的第一请求中携带错误的凭证,则丢弃该重新发送的第一请求。
[0007]根据本发明的另一实施例,一种减少针对DNS的攻击的装置,该装置位于DNS系统的本地递归名称服务器侧,包括请求接收单元、凭证生成单元和请求处理单元,其中:请求接收单元用于接收解析器发送的未携带凭证的第一请求,并将未携带凭证的第一请求转发至凭证生成单元;凭证生成单元用于为未携带凭证的第一请求生成凭证,并向该第一请求的源IP地址发送该凭证;请求接收单元还用于接收解析器重新发送的携带有凭证的第一请求,并将该重新发送的第一请求转发至请求处理单元;请求处理单元用于判断该重新发送的第一请求中携带的凭证是否正确,如果正确,则向本地递归名称服务器转发该重新发送的第一请求,否则,丢弃该重新发送的第一请求。
[0008]根据本发明的另一实施例,一种减少针对DNS的攻击的装置,该装置位于DNS系统的客户端侧,包括请求发送单元、凭证接收单元和请求重传单元,其中:请求发送单元,用于向本地递归名称服务器发送未携带凭证的第一请求;凭证接收单元,用于接收由本地递归名称服务器为所述第一请求生成的凭证;请求重传单元,用于将所述凭证携带在所述第一请求中,并将携带有凭证的第一请求重新发送给本地递归名称服务器。
[0009]根据本发明的又一实施例,一种减少针对DNS的攻击的系统,包括客户端侧和本地递归名称服务器侧,其中:客户端侧,用于向本地递归名称服务器侧发送未携带凭证的第一请求,接收本地递归名称服务器侧为该第一请求生成的凭证,并向本地递归名称服务器侧重新发送携带有该凭证的第一请求;本地递归名称服务器侧,用于接收客户端侧发送的未携带凭证的第一请求,向该第一请求的源IP地址发送凭证,并接收由客户端侧重新发送的携带有凭证的第一请求;如果该重新发送的第一请求中携带正确的凭证,则继续对该重新发送的第一请求进行处理,如果该重新发送的第一请求中携带错误的凭证,则丢弃该重新发送的第一请求。
[0010]根据本发明的再一实施例,一种减少针对DNS的攻击的系统,包括解析器和本地递归名称服务器,该系统还包括客户端侧检测装置和服务器侧检测装置,其中:客户端侧检测装置用于向本地递归名称服务器透传解析器发送的未携带凭证的第一请求;服务器侧检测装置用于接收客户端侧检测装置发送的未携带凭证的第一请求,并向该第一请求的源IP地址发送凭证;客户端侧检测装置还用于接收所述凭证,将所述凭证携带在所述第一请求中,并向本地递归名称服务器重新发送携带有所述凭证的第一请求;服务器侧检测装置还用于接收客户端侧检测装置重新发送的第一请求,如果该重新发送的第一请求中携带正确的凭证,则转发该重新发送的第一请求至本地递归名称服务器;如果该重新发送的第一请求中携带错误的凭证,则丢弃该重新发送的第一请求。
[0011]由以上技术方案可以看出,在本地递归名称服务器侧为接收到的未携带凭证的第一请求生成凭证,在解析器侧重新发送携带有凭证的第一请求,在本地递归名称服务器侧判断第一请求中携带的凭证是否正确,继续处理包含正确凭证的请求,丢弃包含错误凭证的请求。应用本发明的方法、装置和系统,使得攻击在本地递归名称服务器侧即得到抑制,避免大量的攻击者发出的请求进入其他的递归名称服务器甚至到达权威名称服务器,从而在源头上有效抑制了针对DNS的攻击。而且,本发明的实施例对现有DNS的规范没有改变或者改变很小,具有实施简单、成本低等优点。
【专利附图】

【附图说明】
[0012]下面将通过参照附图详细描述本发明的优选实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,相同的标号表示相同的部件,附图中:
[0013]图1是DNS系统的主要组成部分的示意图;
[0014]图2是DNS系统以及RR查询处理过程的一个例子的示意图;
[0015]图3是本发明实施例一的减少针对DNS的攻击的装置的结构图;
[0016]图4是本发明实施例二的减少针对DNS的攻击的装置的结构图;[0017]图5是本发明实施例三的减少针对DNS的攻击的系统结构图;
[0018]图6是本发明实施例四的减少针对DNS的攻击的系统结构图;
[0019]图7是本发明实施例六的减少针对DNS的攻击的方法流程图。
【具体实施方式】
[0020]为了使本发明的技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以说明本发明,并不用于限定本发明。
[0021]本发明的发明人在面对现有技术存在的针对DNS的假冒数据包攻击的问题时,对攻击的类型进行分析,发现很多攻击者发出的请求的源IP地址是假冒的。利用这个特点,可以在本地递归名称服务器(Local Recursive Name Server)侧向发出请求的源IP地址的客户端发送凭证,在客户端侧生成携带凭证的请求,在本地递归名称服务器侧对请求中携带的凭证进行判断,如果请求携带正确的凭证,则继续处理该请求;如果请求携带错误的凭证,则丢弃请求。这样的话,针对DNS的假冒源IP地址的攻击在本地递归名称服务器侧就得到有效的控制,避免攻击威胁其他的递归名称服务器甚至权威名称服务器(AuthoritativeName Server ),从而避免了攻击导致全网的损害和瘫痪。
[0022]下面介绍DNS系统及其基本的工作原理。
[0023]图1是DNS系统的示意图。如图1所示,DNS系统通常包括解析器(Resolver)、本地递归名称服务器和权威名称服务器。
[0024]通常地,本地递归名称服务器和权威名称服务器在逻辑上构成域名服务的大部或者整体,因此可以分别或合称为域名服务器(NS)。解析器可以从域名服务器获取用以响应客户端请求的信息。
[0025]在一个实施方式中,解析器能够访问至少一个本地递归名称服务器,并使用本地递归名称服务器的信息来直接回答客户端发出的查询请求。或者,解析器可以通过本地递归名称服务器将客户端发出的查询请求转接到权威名称服务器进行递归查询。具体而言,本地递归名称服务器如果在本地的缓存(cache)中能查到针对查询请求的相应记录,则直接向解析器发出响应;如果本地递归名称服务器的cache中没有相应记录,则启用递归查询的方式转接到权威名称服务器,并由权威名称服务器向解析器发出响应。
[0026]解析器可以是一个客户端的用户程序可以直接访问的程序,优选为系统程序。通常地,用户程序可以直接调用解析器,因此一般情况下解析器和用户程序之间无需任何特定的会话协议。
[0027]本地递归名称服务器(LRS),既可以部署在互联网上由大众所分享,也可以是为一个组织所专门设置。本地递归名称服务器具有两个主要的功能。首先,它能够服务于递归查询。当LRS要回答一个查询请求时,如果LRS可以回复则直接回复该查询请求,如果LRS不能直接回复该查询请求,可以向多个权威名称服务器(ANS)发送一个或多个迭代请求以进行递归查询。其次,本地递归名称服务器可以缓存从权威名称服务器返回的答案,并只有当其缓存中没有答案时才询问权威名称服务器。
[0028]权威名称服务器,是一种维护名称和地址映射的数据库。权威名称服务器通常保存着与域的树结构和树结构设置信息相关的信息。权威名称服务器将域的树中任何部分的结构或树结构设置信息进行缓存,但通常一个特定的权威名称服务器保存有域空间一个特定子集的完整信息,以及指向其他名称服务器的指针,用来从域树的其他部分获得信息。权威名称服务器知道这部分域树的完整信息,权威名称服务器对于这些部分来说是权威。
[0029]下面以对资源记录(RR)查询的处理为例,介绍DNS系统的处理流程。RR是ANS数据库中的资源记录,可以包括多种类型,比如A记录、NS记录、MX记录,等等。
[0030]图2是DNS系统对资源记录查询的处理流程。在图2中,示出了三个权威名称服务器的例子,三个权威名称服务器分别是根ANS、com域ANS和ms.com域ANS。
[0031]示范性地:
[0032]解析器期望应客户端应用程序的要求,解析www.ms.com的地址。解析器通过消息I向本地递归名称服务器发出查询请求;本地递归名称服务器通过消息2向根ANS发出查询请求;根ANS使用域名服务器(NS)记录和地址(A)记录,在消息3中返回com域ANS的名称和IP地址;本地递归名称服务器通过消息4询问com域ANS ;com域ANS在消息5中返回ms.com域ANS的名称和IP地址;本地递归名称服务器通过消息6向ms.com域的ANS发出查询请求;ms.com域的ANS在消息7中返回www.ms.com的IP地址;本地递归名称服务器通过消息8向解析器返回www.ms.com的IP地址。
[0033]在上述过程中,根ANS和com域ANS只提供转接的信息,即下一级域的权威名称服务器的NS记录和A记录,而ms.com域ANS提供最终的权威答案。
[0034]下面结合具体的实施例对本发明进行详细的说明。
[0035]上述以具体的解析地址和DNS系统架构对资源请求查询处理过程进行了示范性说明。本领域技术人员可以意识到,这种限定说明仅仅是用于阐述目的,并不用于对本发明实施方式进行任何限定。
[0036]实施例一
[0037]图3是本发明实施例一的减少针对DNS的攻击的装置的结构图。该装置位于DNS系统的本地递归名称服务器侧。从图3可以看出,该装置包括请求接收单元301、凭证生成单元302和请求处理单元303。请求接收单元301接收客户端的解析器发来的请求,将携带凭证的请求转发至请求处理单元303,将未携带凭证的请求转发至凭证生成单元302 ;凭证生成单元302为未携带凭证的请求生成凭证,向请求的源IP地址发送凭证,并存储生成的凭证;请求处理单元303根据本地存储的凭证判断接收到的请求中携带的凭证是否正确,然后转发携带正确凭证的请求至本地递归名称服务器,丢弃携带错误凭证的请求。
[0038]凭证生成单元302可以采用多种为请求生成凭证的方式,例如,根据第一请求的请求者标识、请求内容、承载请求的数据包的标识以及随机数中的一项或多项来为第一请求生成凭证。
[0039]具体地,当根据第一请求的请求者标识生成凭证时,请求者标识具体可以包括请求者IP地址或请求者Email地址等等。当根据请求内容生成凭证时,可以基于请求内容的自身属性来生成凭证,比如当请求内容为URL时,可以将该URL作为凭证;当根据承载请求的数据包的标识生成凭证时,承载请求的数据包的标识具体可以包括数据包的ID号、序列号,等等。当根据随机数中的一项或多项生成凭证时,可以基于各种随机算法确定出一或多个随机数,以作为凭证。
[0040]示范性地,在本发明实施方式中,凭证的具体表现形式可以为令牌。[0041]进一步,请求处理单元303也可以记录查询失败响应对应的同一资源记录的请求的数量,当预定时间内的查询失败响应对应的同一资源记录的请求数达到一个预先设定的阈值,这里称第一阈值,请求处理单元303丢弃针对这个资源记录发来的后续的请求。
[0042]请求处理单元303记录的一般是权威名称服务器返回的查询失败消息对应的同一资源记录的请求的数量。比如,如果源IP地址发出的请求针对的是不存在的资源记录的查询请求,本地递归名称服务器会接收到域名服务器返回的查询失败消息,当查询失败响应对应的同一资源记录的请求数量达到一个程度,即达到第一阈值,说明很可能出现了攻击,攻击者通过针对不存在的资源记录的查询请求来攻击DNS。此时,在请求处理单元303封锁该资源记录,可以避免更多的攻击进入网络系统。一般来说封锁某一资源记录即不再处理针对这个资源记录发来的后续请求,可以直接丢弃针对这个资源记录发来的后续请求。
[0043]进一步,请求处理单元303也可以记录来自同一源IP地址的请求的数量,当预定时间内的来自同一源IP地址的请求达到一个预先设定的阈值,即达到第二阈值,请求处理单元303丢弃该源IP地址发来的后续的请求。
[0044]第二阈值是请求处理单元303自己记录的针对同一源IP地址在一段时间内发出请求的数量的最大容许值。一般情况下,一个源IP地址发送大量的请求,很可能是攻击者的行为。大量的请求会导致网络的拥塞,尤其是本地递归名称服务器需要向权威名称服务器查询的情况,更容易导致更大的拥塞。在预定时间内某一源IP地址发送请求的数量达到一定数量时,封锁发来请求的源IP地址,即丢弃该源IP地址发来的后续的请求,可以避免更多地攻击进入网络系统。
[0045]以上的设置第一阈值控制查询响应失败对应的同一资源记录的请求的数量,和设置第二阈值控制一个源IP地址发送大量请求,可以分别在请求处理单元303中实现,也可以同时在请求处理单元303中实现。在不同的情况和需求下可以做灵活的设置。
[0046]实施例二
[0047]图4是本发明实施例二的减少针对DNS的攻击的装置的结构图,该装置位于DNS系统的客户端侧。从图4可以看出,该装置包括请求发送单元401、凭证接收单元402和请求重传单元403。其中,请求发送单元401,用于向本地递归名称服务器侧发送请求;凭证接收单元402,用于接收由本地递归名称服务器侧生成的凭证;请求重传单元403,用于将所述凭证携带在请求中,并将携带有所述凭证的请求重新发送到本地递归名称服务器侧。
[0048]实施例三
[0049]图5是本发明实施例三的减少针对DNS的攻击的系统结构图。本实施例的减少针对DNS的攻击的系统包括解析器501、服务器侧检测装置502和本地递归名称服务器503。服务器侧检测装置502可以采用实施例一的装置。
[0050]在本实施例的系统中,服务器侧检测装置502接收解析器501发出的第一请求,如果判断第一请求未携带凭证,则为第一请求生成凭证,存储该凭证,并向发来第一请求的源IP地址的解析器501发送凭证;解析器501接收到凭证后,生成携带凭证的第一请求,并向本地递归名称服务器503重新发送携带有凭证第一请求;服务器侧检测装置502接收到解析器501重新发送的携带有凭证的第一请求,如果判断第一请求中携带正确的凭证,则转发第一请求至本地递归名称服务器503 ;如果判断第一请求中携带错误的凭证,则丢弃第一请求。
[0051]服务器侧检测装置502可以采用多种为请求生成凭证的方式,例如,根据第一请求的请求者标识、请求内容、承载请求的数据包的标识以及随机数中的一项或多项来为第一请求生成凭证。具体地,当根据第一请求的请求者标识生成凭证时,请求者标识具体可以包括请求者IP地址或请求者Email地址等等。当根据请求内容生成凭证时,可以基于请求内容的自身属性来生成凭证,比如当请求内容为URL时,可以将该URL作为凭证;当根据承载请求的数据包的标识生成凭证时,承载请求的数据包的标识具体可以包括数据包的ID号、序列号,等等。当根据随机数中的一项或多项生成凭证时,可以基于各种随机算法确定出一或多个随机数,以作为凭证。示范性地,凭证的具体实施形式可以为令牌。
[0052]进一步,服务器侧检测装置502也可以记录查询失败响应对应的同一资源记录的请求的数量,当预定时间内的查询失败响应对应的同一资源记录的请求数达到一个预先设定的阈值,这里称第一阈值,服务器侧检测装置502丢弃针对这个资源记录发来的后续的请求。
[0053]进一步,服务器侧检测装置502也可以记录来自同一源IP地址的请求的数量,当预定时间内的来自同一源IP地址的请求达到一个预先设定的阈值,即达到第二阈值,服务器侧检测装置502丢弃该源IP地址发来的后续的请求。
[0054]以上的设置第一阈值控制查询响应失败对应的同一资源记录的请求的数量,和设置第二阈值控制一个源IP地址发送大量请求,可以分别在服务器侧检测装置502中实现,也可以同时在服务器侧检测装置502中实现。在不同的情况和需求下可以做灵活的设置。
[0055]实施例四
[0056]图6是本发明实施例四的减少针对DNS的攻击的系统结构图。本实施例的减少针对DNS的攻击的系统包括解析器601、客户端侧检测装置602、服务器侧检测装置603和本地递归名称服务器604。服务器侧检测装置603可以采用实施例一的装置,客户端侧检测装置602可以采用实施例二的装置。
[0057]在本实施例的系统中,客户端侧检测装置602向本地递归名称服务器604透传解析器601发出的第一请求;服务器侧检测装置603接收客户端侧检测装置602发出的第一请求,如果第一请求未携带凭证,则生成凭证,存储该凭证,并向发来第一请求的源IP地址的解析器601发送凭证;客户端侧检测装置602接收到凭证后,生成携带凭证的第一请求,并向本地递归名称服务器604重新发送携带有凭证的第一请求;服务器侧检测装置603接收到客户端侧检测装置602重新发送的携带有凭证的第一请求,如果判断第一请求中携带正确的凭证,则转发第一请求至本地递归名称服务器604 ;如果判断第一请求中携带错误的凭证,则丢弃第一请求。
[0058]服务器侧检测装置603可以采用多种为请求生成凭证的方式,例如,根据第一请求的请求者标识、请求内容、承载请求的数据包的标识以及随机数中的一项或多项来为第一请求生成凭证。
[0059]进一步,服务器侧检测装置603也可以记录查询失败响应对应的同一资源记录的请求的数量,当预定时间内的查询失败响应对应的同一资源记录的请求数达到一个预先设定的阈值,这里称第一阈值,服务器侧检测装置603丢弃针对这个资源记录发来的后续的请求。[0060]进一步,服务器侧检测装置603也可以记录来自同一源IP地址的请求的数量,当预定时间内的来自同一源IP地址的请求达到一个预先设定的阈值,即达到第二阈值,服务器侧检测装置603丢弃该源IP地址发来的后续的请求。
[0061]以上的设置第一阈值控制查询响应失败对应的同一资源记录的请求的数量,和设置第二阈值控制一个源IP地址发送大量请求,可以分别在服务器侧检测装置603中实现,也可以同时在服务器侧检测装置603中实现。在不同的情况和需求下可以做灵活的设置。
[0062]与实施例三相比,实施例四在客户端侧和本地递归名称服务器侧均布置了检测装置,无需对现有的DNS的规范进行改变。
[0063]实施例五
[0064]图7是本发明实施例六的减少针对DNS的攻击的方法流程图。如图7所示,本实施例的方法包括如下步骤:
[0065]在步骤701,本地递归名称服务器接收解析器发来的未携带凭证的第一请求后,为第一请求生成凭证,存储该凭证,并向第一请求的源IP地址的解析器发送凭证;
[0066]可以采用多种为请求生成凭证的方式,例如,根据第一请求的请求者标识、请求内容、承载请求的数据包的标识以及随机数中的一项或多项来为第一请求生成凭证。
[0067]在步骤702,解析器接收到凭证后,生成携带凭证的第一请求,并向本地递归名称服务器重新发送第一请求;
[0068]在步骤703,本地递归名称服务器接收到重新发送的携带有凭证的第一请求,如果判断第一请求中携带正确的凭证,则继续对第一请求进行处理;如果第一请求中携带错误的凭证,则丢弃第一请求。
[0069]进一步,本实施例的方法还包括:
[0070]设置第一阈值;
[0071]本地递归名称服务器记录失败的查询响应对应的同一资源记录的请求的数量;
[0072]当预定时间内的失败的查询响应对应的同一资源记录的请求数达到第一阈值,本地递归名称服务器丢弃针对该资源记录发来的后续请求。
[0073]进一步,本实施例的方法还包括:
[0074]设置第二阈值;
[0075]本地递归名称服务器记录来自同一源IP地址的请求的数量;
[0076]当预定时间内的来自同一源IP地址的请求数达到第二阈值,本地递归名称服务器丢弃该源IP地址发来的后续请求。
[0077]基于上述详细分析,本发明实施方式还提出了一种减少针对DNS的攻击的系统,该系统包括客户端侧和本地递归名称服务器侧,其中:
[0078]客户端侧,用于向本地递归名称服务器侧发送未携带凭证的第一请求,接收本地递归名称服务器侧为该第一请求生成的凭证,并向本地递归名称服务器侧重新发送携带有该凭证的第一请求;
[0079]本地递归名称服务器侧,用于接收客户端侧发送的未携带凭证的第一请求,向该第一请求的源IP地址发送凭证,并接收由客户端侧重新发送的携带有凭证的第一请求;如果该重新发送的第一请求中携带正确的凭证,则继续对该重新发送的第一请求进行处理,如果该重新发送的第一请求中携带错误的凭证,则丢弃该重新发送的第一请求。[0080]优选地,在本发明实施方式中,凭证的具体表现形式可以为令牌。
[0081]基于上述详细描述,可以将本发明实施方式通过指令或指令集的方式存储于机器可读介质中。这些可读介质包括但是不局限于:软盘、光盘、DVD、硬盘、闪存、U盘、CF卡、SD卡、MMC卡、SM卡、记忆棒(Memory Stick)、xD卡等。另外,还可以将本发明实施方式通过指令或指令集的方式存储于基于闪存(Nand flash)的存储介质中,比如U盘、CF卡、SD卡、SDHC卡、丽C卡、SM卡、记忆棒、xD卡等。
[0082]实际上,可以通过多种形式来具体实施本发明实施方式。tWn,可以遵循一定规范的应用程序接口,将本发明实施方式编写为存储于本地存储介质中的计算机程序,也可以将其封装为网络应用程序以供下载使用。
[0083]需要说明的是,在上述各流程和各结构示意图中并非所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0084]此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0085]此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述任一实施例的功能。
[0086]从以上的对发明的描述以及具体的实施例可以看出,在本地递归名称服务器侧为接收到的未携带凭证的第一请求生成凭证,在解析器侧生成携带凭证的第一请求,在本地递归名称服务器侧判断再次发送的第一请求中携带的凭证是否正确,继续处理包含正确凭证的请求,丢弃包含错误凭证的请求。应用本发明的实施例,使得攻击者的请求在本地递归名称服务器侧就得到抑制,避免大量的攻击者发出的请求进入其他的递归名称服务器甚至到达权威名称服务器,从而在源头上有效抑制了针对DNS的攻击。而且,本发明的实施例对现有DNS的规范没有改变或者改变很小,具有实施简单、成本低等优点。
[0087]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种减少针对DNS的攻击的方法,其特征在于,该方法包括: 本地递归名称服务器接收解析器发送的未携带凭证的第一请求,为该第一请求生成凭证,并向该第一请求的源IP地址发送该凭证; 本地递归名称服务器接收解析器重新发送的携带有凭证的第一请求,如果判断该重新发送的第一请求中携带正确的凭证,则继续对该重新发送的第一请求进行处理;如果该重新发送的第一请求中携带错误的凭证,则丢弃该重新发送的第一请求。
2.根据权利要求1所述的方法,其特征在于,还包括: 本地递归名称服务器记录失败的查询响应对应的同一资源记录的请求的数量; 当预定时间内的失败的查询响应对应的同一资源记录的请求数达到第一阈值,本地递归名称服务器丢弃针对该资源记录发来的后续请求。
3.根据权利要求1或2所述的方法,其特征在于,还包括: 本地递归名称服务器记录来自同一源IP地址的请求的数量; 当预定时间内的来自同一源IP地址的请求数达到第二阈值,本地递归名称服务器丢弃该源IP地址发来的后续请求。
4.一种减少针对DNS的攻击的装置,其特征在于,该装置位于DNS系统的本地递归名称服务器侧,包括请求接收单元、凭证生成单元和请求处理单元,其中: 请求接收单元用于接收解析器发送的未携带凭证的第一请求,并将未携带凭证的第一请求转发至凭证生成单元; 凭证生成单元用于为未携带凭证的第一请求生成凭证,并向该第一请求的源IP地址发送该凭证; 请求接收单元还用于接收解析器重新发送的携带有凭证的第一请求,并将该重新发送的第一请求转发至请求处理单元; 请求处理单元用于判断该重新发送的第一请求中携带的凭证是否正确,如果正确,则向本地递归名称服务器转发该重新发送的第一请求,否则,丢弃该重新发送的第一请求。
5.根据权利要求4所述的装置,其特征在于,所述请求处理单元还用于记录失败的查询响应对应的同一资源记录的请求的数量,当预定时间内的失败的查询响应对应的同一资源记录的请求数达到第一阈值,丢弃针对该资源记录发来的后续请求。
6.根据权利要求4或5所述的装置,其特征在于,所述请求处理单元还用于记录来自同一源IP地址的请求的数量,当预定时间内的来自同一源IP地址的请求数达到第二阈值,丢弃该源IP地址发来的后续请求。
7.一种减少针对DNS的攻击的装置,其特征在于,该装置位于DNS系统的客户端侧,包括请求发送单元、凭证接收单元和请求重传单元,其中: 请求发送单元,用于向本地递归名称服务器发送未携带凭证的第一请求; 凭证接收单元,用于接收由本地递归名称服务器为所述第一请求生成的凭证; 请求重传单元,用于将所述凭证携带在所述第一请求中,并将携带有凭证的第一请求重新发送给本地递归名称服务器。
8. 一种减少针对DNS的攻击的系统,包括客户端侧和本地递归名称服务器侧,其中: 客户端侧,用于向本地递归名称服务器侧发送未携带凭证的第一请求,接收本地递归名称服务器侧为该第一请求生成的凭证,并向本地递归名称服务器侧重新发送携带有该凭证的第一请求; 本地递归名称服务器侧,用于接收客户端侧发送的未携带凭证的第一请求,向该第一请求的源IP地址发送凭证,并接收由客户端侧重新发送的携带有凭证的第一请求;如果该重新发送的第一请求中携带正确的凭证,则继续对该重新发送的第一请求进行处理,如果该重新发送的第一请求中携带错误的凭证,则丢弃该重新发送的第一请求。
9.一种减少针对DNS的攻击的系统,包括解析器和本地递归名称服务器,其特征在于,还包括客户端侧检测装置和服务器侧检测装置,其中: 客户端侧检测装置用于向本地递归名称服务器透传解析器发送的未携带凭证的第一请求; 服务器侧检测装置用于接收客户端侧检测装置发送的未携带凭证的第一请求,并向该第一请求的源IP地址发送凭证; 客户端侧检测装置还用于接收所述凭证,将所述凭证携带在所述第一请求中,并向本地递归名称服务器重新发送携带有所述凭证的第一请求; 服务器侧检测装置还用于接收客户端侧检测装置重新发送的第一请求,如果该重新发送的第一请求中携带正确的凭证,则转发该重新发送的第一请求至本地递归名称服务器;如果该重新发送的第一请求中携带错误的凭证,则丢弃该重新发送的第一请求。
10.根据权利要求9所述的系统,其特征在于,所述服务器侧检测装置记录失败的查询响应对应的同一资源记录的请求的数量,当预定时间内的失败的查询响应对应的同一资源记录的请求数达到第一阈值,丢弃针对该资源记录发来的后续请求。
11.根据权利要求9或10所述的系统,其特征在于,所述服务器侧检测装置记录来自同一源IP地址的请求的数量,当预定时间内的来自同一源IP地址的请求数达到第二阈值,丢弃该源IP地址发来的请求。`
12.一种机器可读介质,其特征在于,其存储有用于使机器执行根据权利要求1至3中任意一项所述方法的指令。
13.—种减少针对DNS的攻击的装置,其特征在于,包括: 存储器,用于存储可执行指令;以及 处理器,用于根据所存储的可执行指令,执行根据权利要求1至3中任意一项所述的方法。
【文档编号】H04L29/12GK103685213SQ201210364612
【公开日】2014年3月26日 申请日期:2012年9月26日 优先权日:2012年9月26日
【发明者】隋爱芬, 郭代飞 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1