CN114866508A - 一种域名解析方法、基于域名的数据处理方法及装置 - Google Patents
一种域名解析方法、基于域名的数据处理方法及装置 Download PDFInfo
- Publication number
- CN114866508A CN114866508A CN202210480972.XA CN202210480972A CN114866508A CN 114866508 A CN114866508 A CN 114866508A CN 202210480972 A CN202210480972 A CN 202210480972A CN 114866508 A CN114866508 A CN 114866508A
- Authority
- CN
- China
- Prior art keywords
- domain name
- target
- domain
- bloom
- resolved
- 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
Links
Images
Classifications
-
- 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/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种域名解析方法,递归解析器可以接收客户端发送的第一域名解析请求,第一域名解析请求中包括待解析域名。而后,递归解析器可以查询本地存储的DNS缓存,在确定DNS缓存中不存在待解析域名对应的缓存数据之后,递归解析器可以基于与待解析域名匹配的目标布隆过滤器来确定待解析域名是否存在,其中,目标布隆过滤器包括目标布隆过滤器对应的目标域中存在的域名的信息。在确定待解析域名不存在之后,递归解析器可以向客户端发送针对第一域名解析请求的应答,应答用于指示待解析域名不存在。由此可见,利用本方案,能够避免将包括不存在的域名的域名解析请求转发给权威DNS服务器,从而减少了由于不存在域名而导致的攻击。
Description
技术领域
本申请涉及通信领域,特别是涉及一种域名解析方法、基于域名的数据处理方法及装置。
背景技术
域名解析系统(Domain Name System)是基于缓存的分布式应答系统。DNS缓存主要存在于递归解析器上,DNS缓存可以为递归解析器所服务的客户端提供更快的响应速度,并减少DNS系统内的网络流量,例如减少流向权威DNS服务器的查询流量。其中,“递归解析器”也可以被称为“递归解析服务器”。
目前的DNS容易受到网络攻击。因此,急需一种方案,能够解决该问题。
发明内容
本申请所要解决的技术问题是如何减少DNS受到的攻击,提供一种域名解析方法、基于域名的数据处理方法及装置。
第一方面,本申请实施例提供了一种域名解析方法,应用于递归解析器,所述方法包括:
接收客户端发送的第一域名解析请求,所述第一域名解析请求包括待解析域名;
查询本地存储的DNS缓存,确定所述DNS缓存中不存在所述待解析域名对应的缓存数据;
基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,所述目标布隆过滤器包括所述目标布隆过滤器对应的目标域中存在的域名的信息;
向所述客户端发送针对所述第一域名解析请求的应答,所述应答用于指示所述待解析域名不存在。
可选的,所述基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,包括:
确定所述目标布隆过滤器的域名信息中不包括所述待解析域名对应的信息。
可选的,所述目标布隆过滤器还包括名称服务器NS布隆记录,所述NS布隆记录中包括所述NS布隆记录对应的NS所管理的域名的信息,所述基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,包括:
确定所述目标布隆过滤器的域名信息中不包括所述待解析域名对应的信息、且所述NS布隆记录中不包括所述待解析域名对应的信息。
可选的,所述方法还包括:
向第一权威DNS服务器发送布隆获取请求,所述布隆获取请求用于请求与所述目标域所对应的布隆过滤器;
接收并存储所述第一权威DNS服务器基于所述布隆获取请求返回的所述目标布隆过滤器。
可选的,所述布隆获取请求中包括以下任意一项或者多项:
辅助数据、哈希算法的数量、以及哈希算法,所述辅助数据用于和所述目标域对应的域名进行哈希计算以得到域名的信息,所述哈希算法为对所述目标域对应的域名进行哈希计算采用的算法。
可选的,所述向第一权威DNS服务器发送布隆获取请求,包括:
通过DNS扩展机制协议EDNS向所述第一权威DNS服务器发送所述布隆获取请求。
第二方面,本申请实施例提供了一种基于域名的数据处理方法,应用于权威DNS服务器,所述方法包括:
接收递归解析器发送的布隆获取请求,所述布隆获取请求用于请求目标域所对应的布隆过滤器;
生成与所述目标域对应的目标布隆过滤器,所述目标布隆过滤器包括所述目标域中存在的域名的信息;
向所述递归解析器返回所述目标布隆过滤器,所述目标布隆过滤器用于在所述递归解析器中不存在待解析域名对应的缓存数据时,确定所述待解析域名是否存在。
可选的,所述布隆获取请求中包括以下任意一项或者多项:
辅助数据、哈希算法的数量、以及哈希算法,所述辅助数据用于和所述目标域对应的域名进行哈希计算以得到域名信息,所述哈希算法为对所述目标域对应的域名进行哈希计算采用的算法。
可选的,所述生成与所述目标域对应的目标布隆过滤器,包括:
基于所述目标域对应的域名、所述辅助数据和所述哈希算法,得到所述目标域的域名的信息;
基于所述目标域的域名的信息,得到所述目标布隆过滤器。
可选的,当所述目标域包括名称服务器NS时,所述生成与所述目标域对应的目标布隆过滤器,包括:
生成包括所述NS信息对应的NS布隆记录的所述目标布隆过滤器,所述NS布隆记录中包括所述NS所管理的域名的信息。
可选的,所述接收递归解析器发送的布隆获取请求,包括:
接收所述递归解析器通过DNS扩展机制协议发送的所述布隆获取请求。
第三方面,本申请实施例提供了一种域名解析装置,应用于递归解析器,所述装置包括:
第一接收单元,用于接收客户端发送的第一域名解析请求,所述第一域名解析请求包括待解析域名;
查询单元,英语查询本地存储的DNS缓存,确定所述DNS缓存中不存在所述待解析域名对应的缓存数据;
确定单元,用于基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,所述目标布隆过滤器包括所述目标布隆过滤器对应的目标域中存在的域名的信息;
第一发送单元,用于向所述客户端发送针对所述第一域名解析请求的应答,所述应答用于指示所述待解析域名不存在。
可选的,所述确定单元,用于:
确定所述目标布隆过滤器的域名信息中不包括所述待解析域名对应的信息。
可选的,所述目标布隆过滤器还包括名称服务器NS布隆记录,所述NS布隆记录中包括所述NS布隆记录对应的NS所管理的域名的信息,所述确定单元,用于:
确定所述目标布隆过滤器的域名信息中不包括所述待解析域名对应的信息、且所述NS布隆记录中不包括所述待解析域名对应的信息。
可选的,所述装置还包括:
第二发送单元,用于向第一权威DNS服务器发送布隆获取请求,所述布隆获取请求用于请求与所述目标域所对应的布隆过滤器;
第二接收单元,用于接收并存储所述第一权威DNS服务器基于所述布隆获取请求返回的所述目标布隆过滤器。
可选的,所述布隆获取请求中包括以下任意一项或者多项:
辅助数据、哈希算法的数量、以及哈希算法,所述辅助数据用于和所述目标域对应的域名进行哈希计算以得到域名的信息,所述哈希算法为对所述目标域对应的域名进行哈希计算采用的算法。
可选的,所述第二发送单元,用于:
通过DNS扩展机制协议EDNS向所述第一权威DNS服务器发送所述布隆获取请求。
第四方面,本申请实施例提供了一种基于域名的数据处理装置,应用于权威DNS服务器,所述装置包括:
接收单元,用于接收递归解析器发送的布隆获取请求,所述布隆获取请求用于请求目标域所对应的布隆过滤器;
生成单元,用于生成与所述目标域对应的目标布隆过滤器,所述目标布隆过滤器包括所述目标域中存在的域名的信息;
发送单元,用于向所述递归解析器返回所述目标布隆过滤器,所述目标布隆过滤器用于在所述递归解析器中不存在待解析域名对应的缓存数据时,确定所述待解析域名是否存在。
可选的,所述布隆获取请求中包括以下任意一项或者多项:
辅助数据、哈希算法的数量、以及哈希算法,所述辅助数据用于和所述目标域对应的域名进行哈希计算以得到域名信息,所述哈希算法为对所述目标域对应的域名进行哈希计算采用的算法。
可选的,所述生成单元,用于:
基于所述目标域对应的域名、所述辅助数据和所述哈希算法,得到所述目标域的域名的信息;
基于所述目标域的域名的信息,得到所述目标布隆过滤器。
可选的,当所述目标域包括名称服务器NS时,所述生成单元,用于:
生成包括所述NS信息对应的NS布隆记录的所述目标布隆过滤器,所述NS布隆记录中包括所述NS所管理的域名的信息。
可选的,所述接收单元,用于:
接收所述递归解析器通过DNS扩展机制协议发送的所述布隆获取请求。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供了一种域名解析方法,该方法可以由递归解析器执行。在一个示例中,所述递归解析器可以接收客户端发送的第一域名解析请求,所述第一域名解析请求中包括待解析域名。递归解析器接收到所述第一域名解析请求之后,可以首先查询本地存储的DNS缓存,在确定所述DNS缓存中不存在所述待解析域名对应的缓存数据之后,所述递归解析器可以基于与所述待解析域名匹配的目标布隆过滤器来确定所述待解析域名是否存在,其中,所述目标布隆过滤器包括所述目标布隆过滤器对应的目标域中存在的域名(主机名称)的信息。在确定所述待解析域名不存在之后,所述递归解析器可以向所述客户端发送针对所述第一域名解析请求的应答,所述应答用于指示所述待解析域名不存在。由此可见,利用本方案,当递归解析器本地存储的DNS缓存中不存在所述待解析域名对应的缓存数据时,所述递归解析器不是直接将所述第一域名解析请求转发给对应的权威DNS服务器,而是基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,并进一步向所述客户端发送所述应答。采用本方案,能够避免将包括不存在的域名的域名解析请求转发给权威DNS服务器,从而减少了由于不存在域名而导致的攻击。
本申请实施例提供了一种基于域名的数据处理方法,该方法可以由权威DNS服务器执行。在一个示例中,所述权威DNS服务器可以接收递归解析器发送的布隆获取请求,所述布隆获取请求用于请求目标域所对应的布隆过滤器。而后,生成与所述目标域对应的目标布隆过滤器,所述目标布隆过滤器包括所述目标域中存在的域名的信息。生成所述目标布隆过滤器之后,所述权威DNS服务器可以向所述递归解析器返回所述目标布隆过滤器,所述目标布隆过滤器用于在所述递归解析器中不存在待解析域名对应的缓存数据时,确定所述待解析域名是否存在。由此可见,利用本方案,当递归解析器本地存储的DNS缓存中不存在所述待解析域名对应的缓存数据时,所述递归解析器可以基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名是否存在,从而执行进一步的处理措施,而不是直接将包括所述待解析域名的域名解析请求发送给所述权威DNS服务器。采用本方案,能够避免将包括不存在的域名的域名解析请求转发给权威DNS服务器,从而减少了由于不存在域名而导致的攻击。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种域名解析方法的流程示意图;
图3为本申请实施例提供的一种获得目标布隆解析器的方法的信令交互图;
图4为本申请实施例提供的一种目标布隆过滤器的结构示意图;
图5为本申请实施例提供的一种域名解析装置的结构示意图;
图6为本申请实施例提供的一种基于域名的数据处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为方便理解,首先对当前的DNS进行简单介绍。
参见图1,该图为本申请实施例提供的一种系统架构示意图。
图1所示的DNS包括客户端101、递归解析器102和权威DNS服务器103。客户端101可以向递归解析器发送域名解析请求,该域名解析请求中包括待解析域名,递归解析器102接收到所述域名解析请求之后,可以以所述待解析域名作为索引查询本地的DNS缓存,若查询到包括所述待解析域名的缓存记录,即:查询到所述待缓存域名和互联网协议(InternetProtocol,IP)地址的对应关系,则所述递归解析器102将所述对应关系中的IP地址发送给客户端101。若所述递归解析器102未查询到包括所述待解析域名的缓存记录,则将所述域名解析请求转发给权威DNS服务器103,由权威DNS服务器103对所述域名解析请求进行解析。
正是由于当递归解析器102未查询到包括所述待解析域名的缓存记录时,则直接将所述域名解析请求转发给权威DNS服务器103,这就导致所述DNS容易受到网络攻击。例如,卡明斯基投毒攻击;又如,攻击设备发送大量不存在域名消耗递归解析器的缓存空间;再如,攻击设备发送大量不存在域名使权威DNS服务器计算资源和带宽资源耗尽,从而阻止权威DNS服务器向合法用户提供高效的地址转换服务。
为了解决上述问题,本申请实施例提供了一种域名解析方法、基于域名的数据处理方法及装置。
需要说明的是,虽然在图1中只示出了一个客户端,但是在实际中,向递归解析器发送域名解析请求的客户端的数量可以是多个。相应的,虽然在图1中只示出了一个权威DNS服务器,但是在实际中,与递归解析器对接的权威DNS服务器的数量也可以是多个。
下面结合附图,详细说明本申请的各种非限制性实施方式。
示例性方法
参见图2,图2为本申请实施例提供的一种域名解析方法的流程示意图。
图2所示的域名解析方法,可以由递归解析器执行,所述方法例如可以包括如下S101-S104。
S101:接收客户端发送的第一域名解析请求,所述第一域名解析请求包括待解析域名。
S102:查询本地存储的DNS缓存,确定所述DNS缓存中不存在所述待解析域名对应的缓存数据。
递归解析器接收到第一域名解析请求之后,可以以所述第一域名解析请求中的待解析域名为索引,查询本地存储的DNS缓存。此处提及的DNS缓存,可以包括域名和IP地址的对应关系。当所述DNS缓存中没有包括所述待解析域名的对应关系时,所述递归解析器可以确定所述DNS缓存中不存在所述待解析域名对应的缓存数据。
S103:基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在。
在本申请实施例中,当所述递归解析器确定所述DNS缓存中不存在所述待解析域名对应的缓存数据之后,不是将所述第一域名解析请求发送给对应的权威DNS服务器,而是进一步确定所述待解析域名是否存在。
在本申请实施例中,所述递归解析器可以基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名是否存在。在一个示例中,所述递归解析器可以首先确定与所述待解析域名匹配的目标布隆过滤器,而后,在基于所述目标布隆过滤器,确定所述待解析域名是否存在。
在一个示例中,所述递归解析器本地可以存储有至少一个布隆过滤器,所述递归解析器可以在本地存储的布隆过滤器中,查找得到所述目标布隆过滤器。
关于所述目标布隆过滤器,需要说明的是,所述目标布隆过滤器可以是第一权威DNS服务器生成并发布给所述递归解析器的,其中,所述第一权威DNS服务器,指的是解析所述待解析域名的最好的服务器。关于“解析所述待解析域名的最好的服务器”的确定方式,可以参考请求意见稿(request for comments,RFC)1034的相关描述部分,此次不做详述。
所述目标布隆过滤器可以包括所述目标布隆过滤器对应的目标域中存在的域名的信息。其中,所述目标域指的是所述“解析所述待解析域名的最好的服务器”管理的域。举例说明:
例如:所述待解析域名为:a.b.c.example.com,已知存在example.com域,则所述目标域可以是example.com域;又如:所述待解析域名为:a.b.c.example.com,已知存在example.com域和c.example.com域,则所述目标域可以是c.example.com域。
在一个示例中,可以将所述待解析域名的信息与所述目标布隆过滤器中包括的所述目标域中存在的域名的信息进行匹配,若所述目标布隆过滤器中包括的所述目标域中存在的域名的信息不包括所述待解析域名的信息,则可以确定所述待解析域名不存在。相应的,若所述目标域中存在的域名的信息,包括所述待解析域名的信息,则确定所述待解析域名可能存在。
在又一个示例中,所述目标布隆过滤器还可以包括名称服务器(name server)布隆记录,所述NS布隆记录中,包括所述NS布隆记录对应的NS所管理的域名的信息,对于这种情况,S103在具体实现时,可以将所述待解析域名的信息与所述目标布隆过滤器中包括的所述目标域中存在的域名的信息进行匹配,另外,还可以将所述待解析域名的信息与所述NS布隆记录中包括的域名的信息进行匹配。若确定所述目标布隆过滤器的域名信息中不包括所述待解析域名对应的信息、且所述NS布隆记录中不包括所述待解析域名对应的信息,则可以确定所述待解析域名不存在。相应的,若所述目标域中存在的域名的信息,或者,所述NS布隆记录中包括所述待解析域名对应的信息,则可以确定大概所述待解析域名可能存在。
S104:向所述客户端发送针对所述第一域名解析请求的应答,所述应答用于指示所述待解析域名不存在。
在本申请实施例中,若确定所述待解析域名不存在,则所述递归解析器可以向所述客户端发送针对所述第一域名解析请求的应答,所述应答用于指示所述待解析域名不存在。
在一个示例中,若递归解析器确定所述待解析域名可能存在,则所述递归解析器可以将所述第一域名解析请求转发给对应的权威DSN服务器,由所述权威DNS服务器确定所述待解析域名的IP地址。
关于本申请实施例提供的基于域名的数据处理方法,现举例说明:
已知存在example.com域和c.example.com域,example.com域包含域名布隆过滤器1,域名布隆过滤器1包括NS布隆记录,c.example.com域包含域名布隆过滤器2,递归解析器已缓存_bl.example.com和_bl.c.example.com的TXT记录。即:递归解析器中存储有example.com域的域名布隆过滤器1以及c.example.com域的域名布隆过滤器2
现递归解析器接收到包含域名a.b.c.example.com的域名解析请求,递归解析器的解析流程如下:
1)查找本地DNS缓存,确定不存在a.b.c.example.com对应的缓存记录;
2)确定与a.b.c.example.com对应的最好的服务器为c.example.com对应的服务器,并确定本地缓存有_bl.c.example.com;
3)a.b.c.example.com不存在于_bl.c.example.com的域名布隆过滤器中、并且_bl.c.example.com不包含NS布隆记录;
4)确定a.b.c.example.com不存在,向客户端返回针对该域名解析请求的应答,以指示域名a.b.c.example.com不存在。
通过以上描述可知,利用本本申请实施例的方案,当递归解析器本地存储的DNS缓存中不存在所述待解析域名对应的缓存数据时,所述递归解析器不是直接将所述第一域名解析请求转发给对应的权威DNS服务器,而是基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,并进一步向所述客户端发送所述应答。采用本方案,能够避免将包括不存在的域名的域名解析请求转发给权威DNS服务器,从而减少了由于不存在域名而导致的攻击。
接下来,结合图3所示的信令交互图,介绍所述权威解析器获得所述目标布隆过滤器的具体实现。图3为本申请实施例提供的一种获得目标布隆解析器的方法的信令交互图。
图3所示的方法,可以包括如下S201-S205
S201:递归解析器向第一权威DNS服务器发送布隆获取请求,所述布隆获取请求用于请求获取与所述目标域所对应的布隆过滤器。
在一个示例中,所述递归解析器可以通过DNS扩展机制协议(ExtensionMechanisms for DNS,EDNS)向所述第一权威DNS服务器发送布隆获取请求。关于所述EDNS,可以参考RFC6891的相关描述部分,此次不再详述。
本申请实施例不具体限定所述布隆获取请求所携带的参数,在一个示例中,所述布隆请求中可以包括辅助数据、哈希算法的数量以及哈希算法中的其中一项或者多项,其中,所述辅助数据用于和所述目标域对应的域名进行哈希计算以得到域名的信息,所述哈希算法为对所述目标域对应的域名进行哈希计算采用的算法。
其中,当所述布隆获取请求为基于EDNS的请求时,所述辅助数据可以以{属性、值}的形式携带在所述布隆获取请求中;类似的,所述哈希算法的数量可以以{属性、值}的形式携带在所述布隆获取请求中;所述哈希算法也可以以{属性、值}的形式携带在所述布隆获取请求中。
S202:第一权威DNS服务器接收所述递归解析器发送的所述布隆获取请求。
S203:第一权威DNS服务器基于所述布隆获取请求生成与所述目标域对应的目标布隆过滤器。
第一权威DNS接收到所述布隆获取请求之后,可以生成所述目标布隆过滤器。在一个示例中,所述第一权威DNS服务器可以基于所述布隆获取请求中的参数,生成所述目标布隆过滤器。例如,当所述参数包括前述辅助数据和前述哈希算法时,所述第一权威DNS服务器则可以基于所述目标域对应的域名(例如域名对应的主机名称)、所述辅助数据和所述哈希算法,得到所述目标域的域名的信息,进一步地,基于所述目标域的域名的信息,得到所述目标布隆过滤器。
另外,若所述目标域包括NS,则所述第一权威DNS服务器还可以生成NS布隆记录,所述NS布隆记录包括所述NS所管理的域名的信息,对于这种情况,所生成的目标布隆过滤器,不仅包括前述目标域的域名的信息,还包括所述NS所管理的域名的信息。其中:
生成所述NS所管理的域名的信息的具体实现方式与生成所述目标域的域名的信息的方式类似,例如,可以基于所述NS所管理的域名、所述辅助数据和所述哈希算法,得到所述NS所管理的域名的信息。
关于所述目标布隆过滤器,可以参考图4进行理解,图4为本申请实施例提供的一种目标布隆过滤器的结构示意图。其中:
Name:使用“_bl”作为前缀,如“example.com”域,则“_bl.example.com”为该域布隆记录的名字;
TYPE:用于指示承载所述目标布隆过滤器的载体类型,所述载体类型例如可以是TXT;
CLASS:其定义参见RFC1035;
TTL:其定义参见RFC1035;
RDLEGNTH:其定义参见RFC1035;
RDATA:数据段,包含布隆记录的头部和数据。具体字段含义如下:
SALT:为前述辅助数据,其为一个随机字符串,其值由递归解析器指定,可携带在布隆请求中;
ALGorithm_COUNT:哈希算法的数量,其值由递归解析器指定,可携带在布隆请求中;
Algorithm_PICK:哈希算法,由递归解析器指定,可携带在布隆请求中;
Domain-Filter-Length:指定Domain-Filter的长度,单位为字节。
Domain-Filter:用于存储目标域的域名的信息,在一个示例中,其可以用于存储目标域所有域名的布隆bit map,为二进制存储,在实际显示时,其可以使用Base64算法编码。
NS-Filter-Length:指定NS-Filter的长度,单位为字节。
NS-Filter:存储了NS管理的域的域名的信息,在一个示例中,其可以用于存储NS管理的域的域名的布隆bit map,存储方式同Domain-Filter。
在本申请实施例中,正是由于目标布隆过滤器是基于递归解析器指定的参数生成的,故而可以保证了不同递归节点上布隆过滤器的差异化,有效防止恶意用户利用哈希碰撞预先制造可以穿透布隆过滤器的不存在域名数据、进而发起不存在域名攻击。
S204:第一权威DNS服务器向所述递归解析器返回所述目标布隆过滤器。
S205:所述递归解析器接收并存储所述目标布隆过滤器。
第一权威DNS服务器生成所述目标布隆过滤器之后,可以将所述目标布隆过滤器发送给所述递归解析器。相应的,递归解析器可以接收并存储所述目标布隆过滤器,以便于基于所述目标布隆过滤器确定待解析域名(例如待解析域名)是否存在。
需要说明的是,本申请实施例不具体限定所述S201-S205的执行时机。在一个示例中,所述S201-S205可以在S101之前执行,例如,在接收到首个对应最好的服务器为“第一服务器”的第二域名解析请求、且递归解析器本地不存在该第二域名解析请求所请求的缓存数据时执行。又如,所述S201-S205可以在S102和S103之间执行。当然,所述S201-S205的执行时机还可以是其它时机,此处不做限定。
示例性设备
基于以上实施例提供的方法,本申请实施例还提供了一种装置,以下结合附图介绍该装置。
参见图5,该图为本申请实施例提供的一种域名解析装置的结构示意图。所述装置500可以应用于递归解析器,所述装置500例如可以具体包括:第一接收单元501、查询单元502、确定单元503和第一发送单元504。
第一接收单元501,用于接收客户端发送的第一域名解析请求,所述第一域名解析请求包括待解析域名;
查询单元502,英语查询本地存储的DNS缓存,确定所述DNS缓存中不存在所述待解析域名对应的缓存数据;
确定单元503,用于基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,所述目标布隆过滤器包括所述目标布隆过滤器对应的目标域中存在的域名的信息;
第一发送单元504,用于向所述客户端发送针对所述第一域名解析请求的应答,所述应答用于指示所述待解析域名不存在。
可选的,所述确定单元503,用于:
确定所述目标布隆过滤器的域名信息中不包括所述待解析域名对应的信息。
可选的,所述目标布隆过滤器还包括名称服务器NS布隆记录,所述NS布隆记录中包括所述NS布隆记录对应的NS所管理的域名的信息,所述确定单元503,用于:
确定所述目标布隆过滤器的域名信息中不包括所述待解析域名对应的信息、且所述NS布隆记录中不包括所述待解析域名对应的信息。
可选的,所述装置还包括:
第二发送单元,用于向第一权威DNS服务器发送布隆获取请求,所述布隆获取请求用于请求与所述目标域所对应的布隆过滤器;
第二接收单元,用于接收并存储所述第一权威DNS服务器基于所述布隆获取请求返回的所述目标布隆过滤器。
可选的,所述布隆获取请求中包括以下任意一项或者多项:
辅助数据、哈希算法的数量、以及哈希算法,所述辅助数据用于和所述目标域对应的域名进行哈希计算以得到域名的信息,所述哈希算法为对所述目标域对应的域名进行哈希计算采用的算法。
可选的,所述第二发送单元,用于:
通过DNS扩展机制协议EDNS向所述第一权威DNS服务器发送所述布隆获取请求。
参见图6,该图为本申请实施例提供的一种基于域名的数据处理装置的结构示意图。所述装置600可以应用于权威DNS服务器,所述装置600例如可以具体包括:接收单元601、生成单元602和发送单元603。
接收单元601,用于接收递归解析器发送的布隆获取请求,所述布隆获取请求用于请求目标域所对应的布隆过滤器;
生成单元602,用于生成与所述目标域对应的目标布隆过滤器,所述目标布隆过滤器包括所述目标域中存在的域名的信息;
发送单元603,用于向所述递归解析器返回所述目标布隆过滤器,所述目标布隆过滤器用于在所述递归解析器中不存在待解析域名对应的缓存数据时,确定所述待解析域名是否存在。
可选的,所述布隆获取请求中包括以下任意一项或者多项:
辅助数据、哈希算法的数量、以及哈希算法,所述辅助数据用于和所述目标域对应的域名进行哈希计算以得到域名信息,所述哈希算法为对所述目标域对应的域名进行哈希计算采用的算法。
可选的,所述生成单元602,用于:
基于所述目标域对应的域名、所述辅助数据和所述哈希算法,得到所述目标域的域名的信息;
基于所述目标域的域名的信息,得到所述目标布隆过滤器。
可选的,当所述目标域包括名称服务器NS时,所述生成单元602,用于:
生成包括所述NS信息对应的NS布隆记录的所述目标布隆过滤器,所述NS布隆记录中包括所述NS所管理的域名的信息。
可选的,所述接收单元601,用于:
接收所述递归解析器通过DNS扩展机制协议发送的所述布隆获取请求。
由于所述装置500和600是与以上方法实施例提供的方法对应的装置,所述装置500和600的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置500和600的各个单元的具体实现,可以参考以上方法实施例的描述部分,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种域名解析方法,其特征在于,应用于递归解析器,所述方法包括:
接收客户端发送的第一域名解析请求,所述第一域名解析请求包括待解析域名;
查询本地存储的DNS缓存,确定所述DNS缓存中不存在所述待解析域名对应的缓存数据;
基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,所述目标布隆过滤器包括所述目标布隆过滤器对应的目标域中存在的域名的信息;
向所述客户端发送针对所述第一域名解析请求的应答,所述应答用于指示所述待解析域名不存在。
2.根据权利要求1所述的方法,其特征在于,所述基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,包括:
确定所述目标布隆过滤器的域名信息中不包括所述待解析域名对应的信息。
3.根据权利要求1所述的方法,其特征在于,所述目标布隆过滤器还包括名称服务器NS布隆记录,所述NS布隆记录中包括所述NS布隆记录对应的NS所管理的域名的信息,所述基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,包括:
确定所述目标布隆过滤器的域名信息中不包括所述待解析域名对应的信息、且所述NS布隆记录中不包括所述待解析域名对应的信息。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:
向第一权威DNS服务器发送布隆获取请求,所述布隆获取请求用于请求与所述目标域所对应的布隆过滤器;
接收并存储所述第一权威DNS服务器基于所述布隆获取请求返回的所述目标布隆过滤器。
5.根据权利要求4所述的方法,其特征在于,所述布隆获取请求中包括以下任意一项或者多项:
辅助数据、哈希算法的数量、以及哈希算法,所述辅助数据用于和所述目标域对应的域名进行哈希计算以得到域名的信息,所述哈希算法为对所述目标域对应的域名进行哈希计算采用的算法。
6.根据权利要求4所述的方法,其特征在于,所述向第一权威DNS服务器发送布隆获取请求,包括:
通过DNS扩展机制协议EDNS向所述第一权威DNS服务器发送所述布隆获取请求。
7.一种基于域名的数据处理方法,其特征在于,应用于权威DNS服务器,所述方法包括:
接收递归解析器发送的布隆获取请求,所述布隆获取请求用于请求目标域所对应的布隆过滤器;
生成与所述目标域对应的目标布隆过滤器,所述目标布隆过滤器包括所述目标域中存在的域名的信息;
向所述递归解析器返回所述目标布隆过滤器,所述目标布隆过滤器用于在所述递归解析器中不存在待解析域名对应的缓存数据时,确定所述待解析域名是否存在。
8.根据权利要求7所述的方法,其特征在于,所述布隆获取请求中包括以下任意一项或者多项:
辅助数据、哈希算法的数量、以及哈希算法,所述辅助数据用于和所述目标域对应的域名进行哈希计算以得到域名信息,所述哈希算法为对所述目标域对应的域名进行哈希计算采用的算法。
9.根据权利要求8所述的方法,其特征在于,所述生成与所述目标域对应的目标布隆过滤器,包括:
基于所述目标域对应的域名、所述辅助数据和所述哈希算法,得到所述目标域的域名的信息;
基于所述目标域的域名的信息,得到所述目标布隆过滤器。
10.根据权利要求7所述的方法,其特征在于,当所述目标域包括名称服务器NS时,所述生成与所述目标域对应的目标布隆过滤器,包括:
生成包括所述NS信息对应的NS布隆记录的所述目标布隆过滤器,所述NS布隆记录中包括所述NS所管理的域名的信息。
11.根据权利要求7所述的方法,其特征在于,所述接收递归解析器发送的布隆获取请求,包括:
接收所述递归解析器通过DNS扩展机制协议发送的所述布隆获取请求。
12.一种域名解析装置,其特征在于,应用于递归解析器,所述装置包括:
第一接收单元,用于接收客户端发送的第一域名解析请求,所述第一域名解析请求包括待解析域名;
查询单元,英语查询本地存储的DNS缓存,确定所述DNS缓存中不存在所述待解析域名对应的缓存数据;
确定单元,用于基于与所述待解析域名匹配的目标布隆过滤器,确定所述待解析域名不存在,所述目标布隆过滤器包括所述目标布隆过滤器对应的目标域中存在的域名的信息;
第一发送单元,用于向所述客户端发送针对所述第一域名解析请求的应答,所述应答用于指示所述待解析域名不存在。
13.一种基于域名的数据处理装置,其特征在于,应用于权威DNS服务器,所述装置包括:
接收单元,用于接收递归解析器发送的布隆获取请求,所述布隆获取请求用于请求目标域所对应的布隆过滤器;
生成单元,用于生成与所述目标域对应的目标布隆过滤器,所述目标布隆过滤器包括所述目标域中存在的域名的信息;
发送单元,用于向所述递归解析器返回所述目标布隆过滤器,所述目标布隆过滤器用于在所述递归解析器中不存在待解析域名对应的缓存数据时,确定所述待解析域名是否存在。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210480972.XA CN114866508B (zh) | 2022-05-05 | 2022-05-05 | 一种域名解析方法、基于域名的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210480972.XA CN114866508B (zh) | 2022-05-05 | 2022-05-05 | 一种域名解析方法、基于域名的数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114866508A true CN114866508A (zh) | 2022-08-05 |
CN114866508B CN114866508B (zh) | 2023-05-23 |
Family
ID=82635264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210480972.XA Active CN114866508B (zh) | 2022-05-05 | 2022-05-05 | 一种域名解析方法、基于域名的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114866508B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180063084A1 (en) * | 2016-09-01 | 2018-03-01 | Hewlett Packard Enterprise Development Lp | Filtering of packets for packet types at network devices |
CN108650244A (zh) * | 2018-04-24 | 2018-10-12 | 网宿科技股份有限公司 | 一种域名解析方法、终端及递归dns服务器 |
CN108683686A (zh) * | 2018-06-21 | 2018-10-19 | 中国科学院信息工程研究所 | 一种随机子域名DDoS攻击检测方法 |
EP3462712A1 (en) * | 2017-10-02 | 2019-04-03 | Nokia Solutions and Networks Oy | Method for mitigating dns-ddos attacks |
US20190306188A1 (en) * | 2018-03-29 | 2019-10-03 | Radware, Ltd. | Techniques for defense against domain name system (dns) cyber-attacks |
CN112667629A (zh) * | 2020-12-22 | 2021-04-16 | 互联网域名系统北京市工程研究中心有限公司 | 基于布隆过滤器的威胁检测方法和系统 |
-
2022
- 2022-05-05 CN CN202210480972.XA patent/CN114866508B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180063084A1 (en) * | 2016-09-01 | 2018-03-01 | Hewlett Packard Enterprise Development Lp | Filtering of packets for packet types at network devices |
EP3462712A1 (en) * | 2017-10-02 | 2019-04-03 | Nokia Solutions and Networks Oy | Method for mitigating dns-ddos attacks |
US20190306188A1 (en) * | 2018-03-29 | 2019-10-03 | Radware, Ltd. | Techniques for defense against domain name system (dns) cyber-attacks |
CN108650244A (zh) * | 2018-04-24 | 2018-10-12 | 网宿科技股份有限公司 | 一种域名解析方法、终端及递归dns服务器 |
CN108683686A (zh) * | 2018-06-21 | 2018-10-19 | 中国科学院信息工程研究所 | 一种随机子域名DDoS攻击检测方法 |
CN112667629A (zh) * | 2020-12-22 | 2021-04-16 | 互联网域名系统北京市工程研究中心有限公司 | 基于布隆过滤器的威胁检测方法和系统 |
Non-Patent Citations (2)
Title |
---|
UZMA SATTAR; TALHA NAQASH; MUHAMMAD RAHEEL ZAFAR; KASHIF RAZZAQ; FAISAL BIN UBAID: "Secure DNS from amplification attack by using modified bloom filters", EIGHTH INTERNATIONAL CONFERENCE ON DIGITAL INFORMATION MANAGEMENT (ICDIM 2013) * |
胡蓓蓓;彭艳兵;程光;: "基于Counting Bloom Filter的DNS异常检测", 计算机工程与应用 * |
Also Published As
Publication number | Publication date |
---|---|
CN114866508B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11909639B2 (en) | Request routing based on class | |
US10148612B2 (en) | Method and system for increasing speed of domain name system resolution within a computing device | |
US11606388B2 (en) | Method for minimizing the risk and exposure duration of improper or hijacked DNS records | |
US9021129B2 (en) | Request routing utilizing client location information | |
US9479476B2 (en) | Processing of DNS queries | |
US7653747B2 (en) | Resolving virtual network names | |
US8886750B1 (en) | Alias resource record sets | |
Allman | On eliminating root nameservers from the DNS | |
CN114866508B (zh) | 一种域名解析方法、基于域名的数据处理方法及装置 | |
CN117692173A (zh) | 请求报文的处理方法、系统及相关设备 | |
CN116266832A (zh) | 域名解析方法、装置、存储介质以及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |