CN112968915B - Dns域名服务器攻击的处理方法、处理系统、处理装置 - Google Patents
Dns域名服务器攻击的处理方法、处理系统、处理装置 Download PDFInfo
- Publication number
- CN112968915B CN112968915B CN202110541580.5A CN202110541580A CN112968915B CN 112968915 B CN112968915 B CN 112968915B CN 202110541580 A CN202110541580 A CN 202110541580A CN 112968915 B CN112968915 B CN 112968915B
- Authority
- CN
- China
- Prior art keywords
- domain name
- name resolution
- address
- chain
- request
- 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
Images
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
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请是关于一种DNS域名服务器攻击的处理方法,应用于部署有第一联盟链的区块链节点,方法包括:接收客户端发送的域名解析请求;在预设时长内,统计来自同一个客户端的域名解析请求的数量;在同一个客户端的域名解析请求的数量达到预设阈值时,拒绝将客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点,其中,第一联盟链与第二联盟链为两个不同的联盟链。如此第一联盟链滤除域名解析请求中对DNS域名服务器进行恶意攻击的部分(例如,来自同一个客户端的域名解析请求的数量达到预设阈值),使得第二联盟链可仅对非恶意攻击的域名解析请求进行解析,从而减少域名解析请求中恶意攻击的部分对网络带宽的占用,提高域名解析效率。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种DNS域名服务器攻击的处理方法、DNS域名服务器攻击的处理系统、DNS域名服务器攻击的处理装置、终端及存储介质。
背景技术
在获取互联网的某个网页的网页信息时,一般需要先通过DNS(Domain NameServer,域名服务器)对域名进行解析,来获取域名对应的IP地址。然后访问解析出的IP地址所在的服务器来获取网页信息。但在互联网平台上,经常存在一些恶意客户端攻击DNS服务器,向DNS服务器发送密集大量的域名解析请求,来占用服务器的网络带宽,从而影响到DNS服务器的正常运行功能。
发明内容
有鉴于此,本申请实施例期望提供一种DNS域名服务器攻击的处理方法、DNS域名服务器攻击的处理系统、DNS域名服务器攻击的处理装置、终端及存储介质。
本申请的技术方案是这样实现的:
一方面,本申请提供一种DNS域名服务器攻击的处理方法。
本申请实施例提供的DNS域名服务器攻击的处理方法,应用于部署有第一联盟链的区块链节点,所述方法包括:
接收客户端发送的域名解析请求;
在预设时长内,统计来自同一个客户端的域名解析请求的数量;
在同一个所述客户端的域名解析请求的数量达到预设阈值时,拒绝将所述客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点,其中,所述第一联盟链与所述第二联盟链为两个不同的联盟链。
在一些实施例中,所述方法还包括:
在同一个所述客户端的域名解析请求的数量小于预设阈值时,将所述客户端的域名解析请求转发给所述第二联盟链的区块链节点。
在一些实施例中,所述将所述客户端的域名解析请求转发给所述第二联盟链的区块链节点,包括:
将所述客户端的域名解析请求,发送给具有第一网络协议IP地址的所述第二联盟链的区块链节点;其中,所述域名解析请求的响应消息,是基于第二IP地址发送给所述客户端的。
另一方面,本申请还提供另一种DNS域名服务器攻击的处理方法,应用于部署有第二联盟链的区块链节点,所述方法包括:
接收第一联盟链的区块链节点在确定出同一个客户端预设时长内发送的域名解析请求的数量小于或等于预设阈值时转发的域名解析请求;
响应于所述域名解析请求,确定请求解析域名对应的目标IP地址;
将所述目标IP地址返回给所述客户端。
在一些实施例中,所述响应于所述域名解析请求,确定请求解析域名对应的目标IP地址,包括:
基于所述域名解析请求,生成符合智能合约的查询请求;
基于所述查询请求,在所述第二联盟链的区块链节点上查询所述目标IP地址;所述查询请求至少包含有待解析的域名;所述智能合约用于以确定的协议建立各区块链节点间的数据交互。
在一些实施例中,所述方法还包括:
当所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效时,向第三联盟链发送用于更新所述对应关系的更新请求,接收基于所述更新请求返回的指示更新后的对应关系的数据;
所述响应于所述域名解析请求,确定请求解析域名对应的目标IP地址,包括:
基于指示更新后的对应关系的数据响应所述域名解析请求。
在一些实施例中,所述接收第一联盟链的区块链节点转发的域名解析请求,包括:接收所述第一联盟链的区块连接节点以第一IP地址为目的地址转发的所述域名解析请求;
所述将所述目标IP地址返回给所述客户端,包括:
以第二IP地址为源地址,发送携带有所述目的IP地址的所述域名解析请求的响应消息给所述客户端。
本申请提供一种DNS域名服务器攻击的处理系统,所述处理系统至少包括:
第一区块链网络,部署有第一联盟链;其中,所述第一区块链网络包括至少一个第一联盟链的区块链节点;
第二区块链网络,与所述第一区块链网络连接,部署有第二联盟链;其中,所述第二区块链网络包括至少一个第二联盟链的区块链节点;所述第一联盟链与所述第二联盟链为两个不同的联盟链;其中:
所述第一联盟链的区块链节点,用于滤除来自同一个客户端的请求数量达到预设阈值的域名解析请求,并转发请求数量小于预设阈值的域名解析请求至所述第二联盟链;
所述第二联盟链的区块链节点,用于响应于所述域名解析请求,确定请求解析域名对应的目标IP地址。
在一些实施例中,所述系统还包括:
第三区块链网络,与所述第二区块链网络连接,部署有第三联盟链;其中:
所述第三联盟链的区块链节点上存储有待解析的域名与所述目标IP地址的对应关系的数据,用于基于所述第二联盟链发送的更新请求更新所述第二联盟链上存储的对应关系数据。
在一些实施例中,
所述第一联盟链的区块链节点,具体用于在同一个所述客户端的域名解析请求的数量达到预设阈值时,拒绝将所述客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点。
在一些实施例中,所述第二联盟链的区块链节点,具体用于基于所述域名解析请求,生成符合智能合约的查询请求;
基于所述查询请求,在所述第二联盟链的区块链节点上查询所述目标IP地址;所述查询请求至少包含有待解析的域名;所述智能合约用于以确定的协议建立各区块链节点间的数据交互。
在一些实施例中,所述第二联盟链的区块链节点,还用于当所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效时,向所述第三联盟链发送用于更新所述对应关系的更新请求,接收基于所述更新请求返回的指示更新后的对应关系的数据;
基于指示更新后的对应关系的数据响应所述域名解析请求。
本申请提供一种DNS域名服务器攻击的处理装置,应用于部署有第一联盟链的区块链节点,所述装置包括:
第一处理单元,用于接收客户端发送的域名解析请求;
第二处理单元,用于在预设时长内,统计来自同一个客户端的域名解析请求的数量;
第三处理单元,用于在同一个所述客户端的域名解析请求的数量达到预设阈值时,拒绝将所述客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点,其中,所述第一联盟链与所述第二联盟链为两个不同的联盟链。
在一些实施例中,所述装置还包括:
第四处理单元,用于在同一个所述客户端的域名解析请求的数量小于预设阈值时,将所述客户端的域名解析请求转发给所述第二联盟链的区块链节点。
在一些实施例中,
所述第四处理单元,具体用于在同一个所述客户端的域名解析请求的数量小于预设阈值时,将所述客户端的域名解析请求,发送给具有第一网络协议IP地址的所述第二联盟链的区块链节点;其中,所述域名解析请求的响应消息,是基于第二IP地址发送给所述客户端的。
本申请还提供另一种DNS域名服务器攻击的处理装置,其特征在于,应用于部署有第二联盟链的区块链节点,所述装置包括:
第一处理单元,用于接收第一联盟链的区块链节点在确定出同一个客户端预设时长内发送的域名解析请求的数量小于或等于预设阈值时转发的域名解析请求;
第二处理单元,用于响应于所述域名解析请求,确定请求解析域名对应的目标IP地址;
第三处理单元,用于将所述目标IP地址返回给所述客户端。
在一些实施例中,所述第二处理单元,具体用于基于所述域名解析请求,生成符合智能合约的查询请求;
基于所述查询请求,在所述第二联盟链的区块链节点上查询所述目标IP地址;所述查询请求至少包含有待解析的域名;所述智能合约用于以确定的协议建立各区块链节点间的数据交互。
在一些实施例中,所述装置还包括:
第四处理单元,用于当所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效时,向第三联盟链发送用于更新所述对应关系的更新请求,接收基于所述更新请求返回的指示更新后的对应关系的数据;
基于指示更新后的对应关系的数据响应所述域名解析请求。
在一些实施例中,所述第一处理单元,具体用于接收所述第一联盟链的区块连接节点以第一IP地址为目的地址转发的所述域名解析请求;
所述第三处理单元,具体用于以第二IP地址为源地址,发送携带有所述目的IP地址的所述域名解析请求的响应消息给所述客户端。
又一方面,本申请还提供一种终端。
本申请实施例提供的终端,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行一方面本申请实施例提供的DNS域名服务器攻击的处理方法的步骤。
再一方面,本申请还提供一种计算机可读存储介质。
本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一方面本申请实施例提供的DNS域名服务器攻击的处理方法的步骤。
本申请实施例的DNS域名服务器攻击的处理方法,应用于部署有第一联盟链的区块链节点,包括:接收客户端发送的域名解析请求;在预设时长内,统计来自同一个客户端的域名解析请求的数量;在同一个客户端的域名解析请求的数量达到预设阈值时,拒绝将客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点,其中,第一联盟链与第二联盟链为两个不同的联盟链。本申请中在DNS域名服务器集群中部署功能不同的第一联盟链和第二联盟链,通过第一联盟链来确定出域名解析请求中对DNS域名服务器进行恶意攻击的部分(例如,来自同一个客户端的域名解析请求的数量达到预设阈值),拒绝将这部分域名解析请求转发给第二联盟链的区块链节点进行域名解析。如此可通过第一联盟链和第二联盟链对DNS域名服务器直接接收域名解析请求进行解析的功能进行拆分,使第一联盟链对恶意请求进行滤除,使得第二联盟链可仅对非恶意攻击的域名解析请求进行解析,其对域名进行解析时所需的资源不会因响应恶意攻击请求被挤占,减少恶意攻击请求对网络带宽的占用,以保证正常域名解析请求的域名解析。
附图说明
图1是根据一示例性实施例示出的DNS域名服务器攻击的处理方法的方法流程图一;
图2是根据一示例性实施例示出的DNS域名服务器攻击的处理方法的方法流程图二;
图3是根据一示例性实施例示出的DNS域名服务器攻击的处理方法的方法流程图三;
图4是根据一示例性实施例示出的DNS域名服务器攻击的处理装置结构示意图一;
图5是根据一示例性实施例示出的DNS域名服务器攻击的处理装置结构示意图二;
图6是根据一示例性实施例示出的联盟链系统构建流程图;
图7是根据一示例性实施例示出的终端结构示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
拒绝服务攻击( DoS /DDoS) 是常见的互联网共计手段,指攻击者直接或间接对目标主机发起请求,大量占用其网络带宽或系 统资源,使其无法响应正常用户的请求。饱和流量攻击指攻击流量超过网络带宽上限的拒绝服务攻击。由于攻击流量和用户查询流量在进入目标服务器前,已经超过其网络带宽上限,因此路由系统会随机进行无差别丢包,导致目标服务器无法接收到正常用户请求。
本申请提供一种DNS域名服务器攻击的处理方法,应用于部署有第一联盟链的区块链节点。图1是根据一示例性实施例示出的DNS域名服务器攻击的处理方法的方法流程图一。如图1所示,该DNS域名服务器攻击的处理方法,包括:
步骤10、接收客户端发送的域名解析请求;
步骤11、在预设时长内,统计来自同一个客户端的域名解析请求的数量;
步骤12、在同一个所述客户端的域名解析请求的数量达到预设阈值时,拒绝将所述客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点,其中,所述第一联盟链与所述第二联盟链为两个不同的联盟链。
在本示例性实施例中,域名解析是把域名指向网站空间IP(Internet Protocol,网络之间互连的协议),让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。域名解析请求是客户端向DNS服务器发送的进行域名解析的请求。
在本示例性实施例中,联盟链是指有若干个机构共同参与管理的区块链,每个机构都运行着一个或多个区块链节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。其中,若干机构包括互联网服务提供商、公共递归服务机构、权威解析服务机构、应用服务商和多边协调委员会。
在本示例性实施例中,在部署第一联盟链和第二联盟链时,可将第一联盟链和第二联盟链部署在不同的物理机上,或在共用物理机的时候分配不同的硬件资源和/或,软件资源。例如,第一联盟链部署在物理机A、物理机B、物理机C上,第二联盟链部署在物理机D、物理机E、物理机F上。或,
第一联盟链部署在物理机A的第一存储区,第二联盟链部署在物理机A的第二存储区。第一存储区和第二存储区为物理机A的两个不同的存储区。
在本示例性实施例中,多边协调委员会可通过修改网络配置建立第一联盟链和第二联盟链。具体包括分别创建流量清洗通道和边缘解析通道,并根据通道配置中指定的规则将排队节点以及联盟成员的节点、客户端加入通道,完成第一联盟链网络(对应流量清洗通道)和第二联盟链网络(对应边缘解析通道,用于域名解析)的建立。其中,多边协调委员会有联盟链中的最高配置权限。
在本示例性实施例中,正常情况下,一个客户端在预设时长内发送的域名解析请求一般会在预设阈值内。预设时长内域名解析请求超过预设阈值很容易造成网络堵塞。然而DNS攻击就是在短时间内通过发送大量密集的域名解析请求来占用网络带宽,进行网络堵塞来进行服务器攻击。因此,同一个客户端在预设时长内发送的域名解析请求达到预设阈值时,可认为该客户端发送的域名解析请求为恶意的攻击请求。例如,预设时长可以是1秒,预设阈值可以是100等。一个客户端在一秒内发送的域名解析请求数量超过100,则可认为该客户端发送的域名解析请求为恶意请求。
此处的一个客户端对应的终端数可以为一个或多个,这些终端可以为共用一个IP地址,因此可以视为一个客户端。
本申请实施例的DNS域名服务器攻击的处理方法,在DNS域名服务器集群中部署功能不同的第一联盟链和第二联盟链,通过第一联盟链来确定出域名解析请求中对DNS域名服务器进行恶意攻击的部分(例如,来自同一个客户端的域名解析请求的数量达到预设阈值),拒绝将这部分域名解析请求转发给第二联盟链的区块链节点进行域名解析。如此可通过第一联盟链和第二联盟链对DNS域名服务器直接接收域名解析请求进行解析的功能进行拆分,使得第二联盟链可仅对非恶意攻击的域名解析请求进行解析,其对域名进行解析时所需的资源不会因响应恶意攻击请求被挤占,减少恶意攻击请求对网络带宽的占用,以保证正常域名解析请求的域名解析。
在一些实施例中,所述方法还包括:
在同一个所述客户端的域名解析请求的数量小于预设阈值时,将所述客户端的域名解析请求转发给所述第二联盟链的区块链节点。
在本示例性实施例中,同一个客户端的域名解析请求的数量小于预设阈值时,可认为该客户端的域名解析请求为正常的请求,第一联盟链转发该请求给第二联盟链的区块链节点,以便于第二联盟链对正常请求进行域名解析,有利于保证DNS服务器的正常运行。
在一些实施例中,所述将所述客户端的域名解析请求转发给所述第二联盟链的区块链节点,包括:
将所述客户端的域名解析请求,发送给具有第一网络协议IP地址的所述第二联盟链的区块链节点;其中,所述域名解析请求的响应消息,是基于第二IP地址发送给所述客户端的。
在本示例性实施例中,第一IP地址为第二联盟链的区块链节点接收第一联盟链的区块链节点转发的域名解析请求时所用的IP地址;第二IP地址为第二联盟链的区块链节点向客户端反馈目标IP地址时所用的IP地址。在本申请中,第一IP地址和第二IP地址为两个不同的IP地址,以实现第一IP地址和第二IP地址的分离,相对于第一IP地址和第二IP地址采用同一IP地址而言,更有利于第二IP地址的隐藏。若第一IP地址和第二IP地址为同一IP地址时,在第一IP地址暴露遭到攻击时,第二IP地址必然同步遭到攻击,显然这不利于以第二IP地址为源地址向客户端反馈解析获得的目标IP地址。因此,第一IP地址和第二IP地址的分离,更有利于减少第二IP地址暴露的概率,减少第二IP地址遭到攻击的可能性,从而有利于目标IP地址的顺利反馈。
另一方面,本申请还提供另一种DNS域名服务器攻击的处理方法,应用于部署有第二联盟链的区块链节点。图2是根据一示例性实施例示出的DNS域名服务器攻击的处理方法的方法流程图二。如图2所示,所述方法包括:
步骤20、接收第一联盟链的区块链节点在确定出同一个客户端预设时长内发送的域名解析请求的数量小于或等于预设阈值时转发的域名解析请求;
步骤21、响应于所述域名解析请求,确定请求解析域名对应的目标IP地址;
步骤22、将所述目标IP地址返回给所述客户端。
在本示例性实施例中,同一个客户端的域名解析请求的数量小于或等于预设阈值时,可认为该客户端的域名解析请求为正常的请求,第一联盟链转发该请求给第二联盟链的区块链节点。第二联盟链的区块链节点接收第一联盟链的区块链节点转发的域名解析请求。响应于该域名解析请求,确定请求解析域名对应的目标IP地址;将目标IP地址返回给客户端,从而实现正常的域名解析请求的域名解析。
在本示例性实施例中,第二联盟链的区块链节点存储有待解析的域名以及域名与目标IP地址的对应关系。响应域名解析请求,可直接在第二联盟链的区块链节点确定请求解析域名对应的目标IP地址,不在通过域名服务器的域名等级,进行逐级查询,从而可有效提高服务器的域名解析效率,降低用户流量转发率。
在一些实施例中,所述响应于所述域名解析请求,确定请求解析域名对应的目标IP地址,包括:
基于所述域名解析请求,生成符合智能合约的查询请求;
基于所述查询请求,在所述第二联盟链的区块链节点上查询所述目标IP地址;所述查询请求至少包含有待解析的域名;所述智能合约用于以确定的协议建立各区块链节点间的数据交互。
在本示例性实施例中,智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。即以一种确定的协议建立各区块链节点间的数据交互。
基于区块链的智能合约包括事务处理和保存的机制,以及一个完备的状态机,用于接受和处理各种智能合约;并且事务的保存和状态处理都在区块链上完成。事务主要包含需要发送的数据;而事件则是对这些数据的描述信息,包括对数据处理规则。数据处理规则可以是当事件描述信息中包含的触发条件被满足时,从智能合约自动发出预设的数据资源。
智能合约是一个事务处理模块和状态机构成的系统,它不产生智能合约,也不会修改智能合约;它的存在是为了让一组复杂的、带有触发条件的数字化承诺能够按照参与者的意志,正确执行。
在本示例性实施例中,智能合约内至少包含有待解析的域名、目标IP地址以及域名与目标IP的对应关系。智能合约制定后,通过P2P网络扩散并存入区块链。在该智能合约中,事件描述信息中的触发条件包括包含有待解析的域名的查询请求。事务中包含的需要发送的数据为与待解析的域名对应的目标IP地址。基于查询请求,区块链节点通过智能合约自动发出对应触发条件的数据资源,即与待解析的域名对应的目标IP地址,从而在第二联盟链的区块链节点上查询到与待解析的域名对应的目标IP地址。
在本示例性实施例中,当预先存储的数据资源(待解析的域名、目标 IP地址以及域名与目标IP的对应关系)大于预设内存时,可在第二联盟链的不同区块链节点中分别存储所述预先存储的数据资源中的部分数据资源。例如,由于一个区块链节点的内存有限,无法全部存储所有的数据资源。此时,可在每个区块链节点上分别存储部分数据资源。每个区块链节点上存储的数据资源可不同,即存储不同的域名及域名与目标IP地址的对应关系。在进行目标IP地址查询时,当在一个区块链节点上没有查询到对应的目标IP地址时,可在其他区块链节点上同步查询,从而实现在存储有大量域名的情况下,也可快速查询到域名对应的目标IP地址,进而有利于提高服务器的域名解析效率。
在一些实施例中,所述方法还包括:
当所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效时,向第三联盟链发送用于更新所述对应关系的更新请求,接收基于所述更新请求返回的指示更新后的对应关系的数据;
所述响应于所述域名解析请求,确定请求解析域名对应的目标IP地址,包括:
基于指示更新后的对应关系的数据响应所述域名解析请求。
在本示例性实施例中,所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效,包括待解析的域名与所述目标IP地址的对应关系发生了变更。
在本示例性实施例中,第三联盟链为不同于第一联盟链和第二联盟链的联盟链,用于存储最新更新的域名与目标IP地址的对应关系数据。进行数据更新时,本地服务器内的对应关系数据可先更新第三联盟链中的存储数据。第二联盟链向第三联盟链发送进行数据更新的更新请求。第三联盟链根据更新请求,更新第二联盟链上存储的对应关系数据。第二联盟链根据更新后的对应关系的数据响应域名解析请求。
在本示例性实施例中,所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效,还包括对应关系数据的存储文件发生损坏,造成数据无法访问。此时可根据第三联盟链中的存储数据更新第二联盟链上存储的对应关系数据,对数据进行重新保存。第三联盟链中的存储数据可以是在本地服务器直接上传的对应关系数据,也可以是镜像第二联盟链上数据有效时,存储的对应关系数据。如此,在数据失效时,可通过第三联盟链来更新数据,从而有利于保证域名解析的顺利完成。
在一些实施例中,所述接收第一联盟链的区块链节点转发的域名解析请求,包括接收所述第一联盟链的区块连接节点以第一IP地址为目的地址转发的所述域名解析请求;
所述将所述目标IP地址返回给所述客户端,包括:
以第二IP地址为源地址,发送携带有所述目的IP地址的所述域名解析请求的响应消息给所述客户端。
在本示例性实施例中,第一IP地址为第二联盟链的区块链节点接收第一联盟链的区块链节点转发的域名解析请求时所用的IP地址;第二IP地址为第二联盟链的区块链节点向客户端反馈目标IP地址时所用的IP地址。在本申请中,第一IP地址和第二IP地址为两个不同的IP地址,以实现第一IP地址和第二IP地址的分离,相对于第一IP地址和第二IP地址采用同一IP地址而言,更有利于第二IP地址的隐藏。若第一IP地址和第二IP地址为同一IP地址时,在第一IP地址暴露遭到攻击时,第二IP地址必然同步遭到攻击,显然这不利于以第二IP地址为源地址向客户端反馈解析获得的目标IP地址。因此,第一IP地址和第二IP地址的分离,更有利于减少第二IP地址暴露的概率,减少第二IP地址遭到攻击的可能性,从而有利于目标IP地址的顺利反馈。
在本示例性实施例中,在进行目标IP地址查询时,可采用布隆过滤器执行目标IP地址查询。布隆过滤器可以用于检索一个元素是否在一个集合中。在进行数据查询时,布隆过滤器可大大提高查询效率。其空间效率和查询时间比一般的算法要高效的多。因此,可通过域名构建一个布隆过滤器。通过布隆过滤器进行目标IP地址查询。
在一些实施例中,所述方法还包括:
在所述第二联盟链的区块链节点上未查询到所述目标IP地址时,以第二IP地址为源地址,按照域名级别,向域名服务器发送逐级查询请求。
在本示例性实施例中,按照域名级别向域名服务器发送逐级查询请求,进行逐级查询以获取最终的目标IP地址的方法,也被称为迭代查询,即按根域服务器到顶级域到第二层域再到子域的顺序找到最终的目标IP地址。即,可先向管理根域的服务器发送查询请求,若根域名服务器无法解析该域名的IP地址,则由根域名服务器查询顶级域名服务器。若再没有,则由顶级域名服务器查询权限域名服务器,直到查询到目标IP地址。
在本申请中,接收第一联盟链转发域名解析请求的IP地址和向外发送逐级查询请求的IP地址为两个不同的IP地址,有利于在所述第二联盟链的区块链节点上查询不到所述目标IP地址,且DNS服务器收到拒绝服务攻击时,保证服务器能够正常接收外发逐级查询获得的目标IP地址。其中,进行逐级查询的域名服务器可以是服务器集群中没有部署第二联盟链的服务器。
在一些实施例中,所述第二联盟链上存储有第一类域名与所述目标IP地址的对应关系,所述第三联盟链上至少存储有第二类域名与所述目标IP地址的对应关系,其中,所述第一类域名为在预设时间段内访问次数超过预设次数的域名,所述第二类域名为在预设时间段内访问次数不超过预设次数的域名;
所述方法还包括:
当所述第二类域名中存在在预设时间段内域名的访问次数超过所述预设次数,则向所述第三联盟链发送用于更新所述对应关系的更新请求,将所述第二类域名中访问次数超过所述预设次数的域名与IP地址的对应关系更新至所述第二联盟链。
当所述第二联盟链存储的所述第一类域名中存在在预设时间段内域名的访问次数不超过所述预设次数,则删除所述访问次数不超过所述预设次数的域名与IP地址的对应关系,或将所述访问次数不超过所述预设次数的域名与IP地址的对应关系更新至所述第三联盟链。
在本示例性实施例中,第一类域名可以为热点域名,其相对于非热点域名而言,属于经常访问的域名。即在预设时间段内访问次数超过预设次数的域名。第二类域名可以为非热点域名,属于不经常访问的域名。即在预设时间段内访问次数不超过预设次数的域名。
如此,仅需要在第二联盟链中存储访问频次较高的域名(第一类域名)即可,并且当访问频次较低的域名(第二类域名)在预设时间段内访问频次变高时,可通过第三联盟链及时更新该域名与IP地址的对应关系到第二联盟链中,当第二联盟链存储的第一类域名的访问频次减少,变成第二类域名时,删除该域名与IP地址的对应关系。如此,在保证利用第二联盟链的有限内存资源的情况下,可有效提高热点域名的解析效率。
在本示例性实施例中,当第三联盟链存储有第一类域名与所述目标IP地址的对应关系,以及第二类域名与所述目标IP地址的对应关系;当所述第二联盟链存储的所述第一类域名中存在在预设时间段内域名的访问次数不超过所述预设次数,则删除所述访问次数不超过所述预设次数的域名与IP地址的对应关系。
在本示例性实施例中,当第三联盟链仅存储有第二类域名与所述目标IP地址的对应关系;当所述第二联盟链存储的所述第一类域名中存在在预设时间段内域名的访问次数不超过所述预设次数,则将所述访问次数不超过所述预设次数的域名与IP地址的对应关系更新至所述第三联盟链,并删除第二联盟链中所述访问次数不超过所述预设次数的域名与IP地址的对应关系。
在一些实施例中,所述方法还包括:
当客户端请求解析所述第二类域名时,在第二联盟链中查询不到对应的目标IP地址时,可通过逐级查询的方式,到第三联盟链中逐级查询所述第二类域名对应的目标IP地址。
图3是根据一示例性实施例示出的DNS域名服务器攻击的处理方法的方法流程图三。如图3所示,方法包括:
客户端A以伪IP向DNS域名服务器发送大量密集的域名解析请求,客户端B向DNS域名服务器发送正常的域名解析请求;
部署在DNS域名服务器集群上的第一联盟链接的区块链节点收到客户端A发送的大量密集的域名解析请求后,对该请求进行滤除;
部署在DNS域名服务器集群上的第一联盟链(具体链上的区块链节点)接收到客户端B发送的域名解析请求后,转发该请求至部署在DNS域名服务器集群上的第二联盟链(具体链上的区块链节点);
第二联盟链(具体链上的区块链节点)响应客户端B发送的域名解析请求,解析获得域名对应的目标IP地址;
第二联盟链(具体链上的区块链节点)将目标IP地址返回给客户端B。
本申请提供一种DNS域名服务器攻击的处理系统,所述处理系统至少包括:
第一区块链网络,部署有第一联盟链;其中,所述第一区块链网络包括至少一个第一联盟链的区块链节点;
第二区块链网络,与所述第一区块链网络连接,部署有第二联盟链;其中,所述第二区块链网络包括至少一个第二联盟链的区块链节点;所述第一联盟链与所述第二联盟链为两个不同的联盟链;其中:
所述第一联盟链的区块链节点,用于滤除来自同一个客户端的请求数量达到预设阈值的域名解析请求,并转发请求数量小于预设阈值的域名解析请求至所述第二联盟链;
所述第二联盟链的区块链节点,用于响应于所述域名解析请求,确定请求解析域名对应的目标IP地址。
在本示例性实施例中,在服务器集群中形成第一区块链网络和第二区块链网络。第一区块链网络部署有第一联盟链。第二区块链网络与所述第一区块链网络连接,部署有第二联盟链。第一联盟链的区块链节点和第二联盟链的区块链节点间可进行数据交互。
在本示例性实施例中,域名解析是把域名指向网站空间IP(Internet Protocol,网络之间互连的协议),让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。域名解析请求是客户端向DNS服务器发送的进行域名解析的请求。
在本示例性实施例中,联盟链是指有若干个机构共同参与管理的区块链,每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。其中,若干机构包括互联网服务提供商、公共递归服务机构、权威解析服务机构、应用服务商和多边协调委员会。
多边协调委员会通过修改网络配置建立第一联盟链和第二联盟链。具体包括分别创建流量清洗通道和边缘解析通道,并根据通道配置中指定的规则将排队节点以及联盟成员的节点、客户端加入通道,完成第一联盟链网络(对应流量清洗通道)和第二联盟链网络(对应边缘解析通道,用于域名解析)的建立。其中,多边协调委员会有联盟链中的最高配置权限。
在本示例性实施例中,正常情况下,一个客户端在预设时长内发送的域名解析请求一般会在预设阈值内。预设时长内域名解析请求超过预设阈值很容易造成网络堵塞。然而DNS攻击就是在短时间内通过发送大量密集的域名解析请求来占用网络带宽,进行网络堵塞来进行服务器攻击。因此,同一个客户端在预设时长内发送的域名解析请求达到预设阈值时,可认为该客户端发送的域名解析请求为恶意的攻击请求。例如,预设时长可以是1秒,预设阈值可以是100等。一个客户端在一秒内发送的域名解析请求数量超过100,则可认为该客户端发送的域名解析请求为恶意请求。
本申请实施例的DNS域名服务器攻击的处理系统,实现在DNS域名服务器集群中部署功能不同的第一联盟链和第二联盟链。通过第一联盟链来确定出域名解析请求中对DNS域名服务器进行恶意攻击的部分(例如,来自同一个客户端的域名解析请求的数量达到预设阈值),对这部分请求进行滤除,并转发请求数量小于预设阈值的域名解析请求至第二联盟链。如此可通过第一联盟链和第二联盟链对DNS域名服务器直接接收域名解析请求进行解析的功能进行拆分,使第一联盟链对恶意请求进行滤除,使得第二联盟链可仅对非恶意攻击的域名解析请求进行解析,从而减少域名解析请求中恶意攻击的部分对网络带宽的占用,提高域名解析效率。
在一些实施例中,所述系统还包括:
第三区块链网络,与所述第二区块链网络连接,部署有第三联盟链;其中:
所述第三联盟链的区块链节点上存储有待解析的域名与所述目标IP地址的对应关系的数据,用于基于所述第二联盟链发送的更新请求更新所述第二联盟链上存储的对应关系数据。
在本示例性实施例中,第三联盟链为不同于第一联盟链和第二联盟链的联盟链,用于存储最新更新的域名与目标IP地址的对应关系数据。进行数据更新时,本地服务器内的对应关系数据可先更新第三联盟链中的存储数据。第二联盟链向第三联盟链发送进行数据更新的更新请求。第三联盟链根据更新请求,更新第二联盟链上存储的对应关系数据。
在一些实施例中,所述第一联盟链的区块链节点,用于滤除来自同一个客户端的请求数量达到预设阈值的域名解析请求,包括:
所述第一联盟链的区块链节点,具体用于在同一个所述客户端的域名解析请求的数量达到预设阈值时,拒绝将所述客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点。
在本示例性实施例中,在同一个所述客户端的域名解析请求的数量达到预设阈值时,可认为该客户端发送的域名解析请求为恶意的攻击请求。此时,第一联盟链的区块链节点拒绝将客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点,以有利于减缓大量恶意请求占用网络带宽的情况,从而保证DNS域名服务器完成对正常请求的域名解析。
在一些实施例中,所述第二联盟链的区块链节点,用于响应于所述域名解析请求,确定请求解析域名对应的目标IP地址,包括:
所述第二联盟链的区块链节点,具体用于基于所述域名解析请求,生成符合智能合约的查询请求;
基于所述查询请求,在所述第二联盟链的区块链节点上查询所述目标IP地址;所述查询请求至少包含有待解析的域名;所述智能合约用于以确定的协议建立各区块链节点间的数据交互。
在本示例性实施例中,智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况进行可信交易,这些交易可追踪且不可逆转。即以一种确定的协议建立各区块链节点间的数据交互。
基于区块链的智能合约包括事务处理和保存的机制,以及一个完备的状态机,用于接受和处理各种智能合约;并且事务的保存和状态处理都在区块链上完成。事务主要包含需要发送的数据;而事件则是对这些数据的描述信息,包括对数据处理规则。数据处理规则可以是当事件描述信息中包含的触发条件被满足时,从智能合约自动发出预设的数据资源。
智能合约是一个事务处理模块和状态机构成的系统,它不产生智能合约,也不会修改智能合约;它的存在是为了让一组复杂的、带有触发条件的数字化承诺能够按照参与者的意志,正确执行。
在本示例性实施例中,智能合约内至少包含有待解析的域名、目标IP地址以及域名与目标IP的对应关系。智能合约制定后,通过P2P网络扩散并存入区块链。在该智能合约中,事件描述信息中的触发条件包括包含有待解析的域名的查询请求。事务中包含的需要发送的数据为与待解析的域名对应的目标IP地址。基于查询请求,区块链节点通过智能合约自动发出对应触发条件的数据资源,即与待解析的域名对应的目标IP地址,从而在第二联盟链的区块链节点上查询到与待解析的域名对应的目标IP地址。
在本示例性实施例中,当预先存储的数据资源(待解析的域名、目标 IP地址以及域名与目标IP的对应关系)大于预设内存时,可在第二联盟链的不同区块链节点中分别存储所述预先存储的数据资源中的部分数据资源。例如,由于一个区块链节点的内存有限,无法全部存储所有的数据资源。此时,可在每个区块链节点上分别存储部分数据资源。每个区块链节点上存储的数据资源可不同,即存储不同的域名及域名与目标IP地址的对应关系。在进行目标IP地址查询时,当在一个区块链节点上没有查询到对应的目标IP地址时,可在其他区块链节点上同步查询,从而实现在存储有大量域名的情况下,也可快速查询到域名对应的目标IP地址,进而有利于提高服务器的域名解析效率。
在一些实施例中,所述第二联盟链的区块链节点,还用于当所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效时,向所述第三联盟链发送用于更新所述对应关系的更新请求,接收基于所述更新请求返回的指示更新后的对应关系的数据;
基于指示更新后的对应关系的数据响应所述域名解析请求。
在本示例性实施例中,所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效,包括待解析的域名与所述目标IP地址的对应关系发生了变更。
在本示例性实施例中,第三联盟链为不同于第一联盟链和第二联盟链的联盟链,用于存储最新更新的域名与目标IP地址的对应关系数据。进行数据更新时,本地服务器内的对应关系数据可先更新第三联盟链中的存储数据。第二联盟链向第三联盟链发送进行数据更新的更新请求。第三联盟链根据更新请求,更新第二联盟链上存储的对应关系数据。第二联盟链根据更新后的对应关系的数据响应域名解析请求。
在本示例性实施例中,所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效,还包括对应关系数据的存储文件发生损坏,造成数据无法访问。此时可根据第三联盟链中的存储数据更新第二联盟链上存储的对应关系数据,对数据进行重新保存。第三联盟链中的存储数据可以是在本地服务器直接上传的对应关系数据,也可以是镜像第二联盟链上数据有效时,存储的对应关系数据。如此,在数据失效时,可通过第三联盟链来更新数据,从而有利于保证域名解析的顺利完成。
本申请提供一种DNS域名服务器攻击的处理装置,应用于部署有第一联盟链的区块链节点。图4是根据一示例性实施例示出的DNS域名服务器攻击的处理装置结构示意图一。如图4所示,所述装置包括:
第一处理单元41,用于接收客户端发送的域名解析请求;
第二处理单元42,用于在预设时长内,统计来自同一个客户端的域名解析请求的数量;
第三处理单元43,用于在同一个所述客户端的域名解析请求的数量达到预设阈值时,拒绝将所述客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点,其中,所述第一联盟链与所述第二联盟链为两个不同的联盟链。
在本示例性实施例中,域名解析是把域名指向网站空间IP(Internet Protocol,网络之间互连的协议),让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。域名解析请求是客户端向DNS服务器发送的进行域名解析的请求。
在本示例性实施例中,联盟链是指有若干个机构共同参与管理的区块链,每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。其中,若干机构包括互联网服务提供商、公共递归服务机构、权威解析服务机构、应用服务商和多边协调委员会。
多边协调委员会通过修改网络配置建立第一联盟链和第二联盟链。具体包括分别创建流量清洗通道和边缘解析通道,并根据通道配置中指定的规则将排队节点以及联盟成员的节点、客户端加入通道,完成第一联盟链网络(对应流量清洗通道)和第二联盟链网络(对应边缘解析通道,用于域名解析)的建立。其中,多边协调委员会有联盟链中的最高配置权限。
在本示例性实施例中,正常情况下,一个客户端在预设时长内发送的域名解析请求一般会在预设阈值内。预设时长内域名解析请求超过预设阈值很容易造成网络堵塞。然而DNS攻击就是在短时间内通过发送大量密集的域名解析请求来占用网络带宽,进行网络堵塞来进行服务器攻击。因此,同一个客户端在预设时长内发送的域名解析请求达到预设阈值时,可认为该客户端发送的域名解析请求为恶意的攻击请求。例如,预设时长可以是1秒,预设阈值可以是100等。一个客户端在一秒内发送的域名解析请求数量超过100,则可认为该客户端发送的域名解析请求为恶意请求。
本申请实施例的DNS域名服务器攻击的处理装置,在DNS域名服务器集群中部署功能不同的第一联盟链和第二联盟链,通过第一联盟链来确定出域名解析请求中对DNS域名服务器进行恶意攻击的部分(例如,来自同一个客户端的域名解析请求的数量达到预设阈值),拒绝将这部分域名解析请求转发给第二联盟链的区块链节点进行域名解析。如此可通过第一联盟链和第二联盟链对DNS域名服务器直接接收域名解析请求进行解析的功能进行拆分,使得第二联盟链可仅对非恶意攻击的域名解析请求进行解析,其对域名进行解析时所需的资源不会因响应恶意攻击请求被挤占,减少恶意攻击请求对网络带宽的占用,以保证正常域名解析请求的域名解析。
在一些实施例中,如图4所示,所述装置还包括:
第四处理单元44,用于在同一个所述客户端的域名解析请求的数量小于预设阈值时,将所述客户端的域名解析请求转发给所述第二联盟链的区块链节点。
在本示例性实施例中,同一个客户端的域名解析请求的数量小于预设阈值时,可认为该客户端的域名解析请求为正常的请求,第一联盟链转发该请求给第二联盟链的区块链节点,以便于第二联盟链对正常请求进行域名解析,有利于保证DNS服务器的正常运行。
在一些实施例中,所述第四处理单元,用于将所述客户端的域名解析请求转发给所述第二联盟链的区块链节点,包括:
所述第四处理单元,具体用于在同一个所述客户端的域名解析请求的数量小于预设阈值时,将所述客户端的域名解析请求,发送给具有第一网络协议IP地址的所述第二联盟链的区块链节点;其中,所述域名解析请求的响应消息,是基于第二IP地址发送给所述客户端的。
在本示例性实施例中,第一IP地址为第二联盟链的区块链节点接收第一联盟链的区块链节点转发的域名解析请求时所用的IP地址;第二IP地址为第二联盟链的区块链节点向客户端反馈目标IP地址时所用的IP地址。在本申请中,第一IP地址和第二IP地址为两个不同的IP地址,以实现第一IP地址和第二IP地址的分离,相对于第一IP地址和第二IP地址采用同一IP地址而言,更有利于第二IP地址的隐藏。若第一IP地址和第二IP地址为同一IP地址时,在第一IP地址暴露遭到攻击时,第二IP地址必然同步遭到攻击,显然这不利于以第二IP地址为源地址向客户端反馈解析获得的目标IP地址。因此,第一IP地址和第二IP地址的分离,更有利于减少第二IP地址暴露的概率,减少第二IP地址遭到攻击的可能性,从而有利于目标IP地址的顺利反馈。
本申请还提供另一种DNS域名服务器攻击的处理装置,应用于部署有第二联盟链的区块链节点。图5是根据一示例性实施例示出的DNS域名服务器攻击的处理装置结构示意图二。如图5所示,所述装置包括:
第一处理单元51,用于接收第一联盟链的区块链节点在确定出同一个客户端预设时长内发送的域名解析请求的数量小于或等于预设阈值时转发的域名解析请求;
第二处理单元52,用于响应于所述域名解析请求,确定请求解析域名对应的目标IP地址;
第三处理单元53,用于将所述目标IP地址返回给所述客户端。
在本示例性实施例中,同一个客户端的域名解析请求的数量小于或等于预设阈值时,可认为该客户端的域名解析请求为正常的请求,第一联盟链转发该请求给第二联盟链的区块链节点。第二联盟链的区块链节点接收第一联盟链的区块链节点转发的域名解析请求。响应于该域名解析请求,确定请求解析域名对应的目标IP地址;将目标IP地址返回给客户端,从而实现正常的域名解析请求的域名解析。
在本示例性实施例中,第二联盟链的区块链节点存储有待解析的域名以及域名与目标IP地址的对应关系。响应域名解析请求,可直接在第二联盟链的区块链节点确定请求解析域名对应的目标IP地址,不在通过域名服务器的域名等级,进行逐级查询,从而可有效提高服务器的域名解析效率,降低用户流量转发率。
在一些实施例中,所述第二处理单元,用于响应于所述域名解析请求,确定请求解析域名对应的目标IP地址,包括:
所述第二处理单元,具体用于基于所述域名解析请求,生成符合智能合约的查询请求;
基于所述查询请求,在所述第二联盟链的区块链节点上查询所述目标IP地址;所述查询请求至少包含有待解析的域名;所述智能合约用于以确定的协议建立各区块链节点间的数据交互。
在本示例性实施例中,智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。即以一种确定的协议建立各区块链节点间的数据交互。
基于区块链的智能合约包括事务处理和保存的机制,以及一个完备的状态机,用于接受和处理各种智能合约;并且事务的保存和状态处理都在区块链上完成。事务主要包含需要发送的数据;而事件则是对这些数据的描述信息,包括对数据处理规则。数据处理规则可以是当事件描述信息中包含的触发条件被满足时,从智能合约自动发出预设的数据资源。
智能合约是一个事务处理模块和状态机构成的系统,它不产生智能合约,也不会修改智能合约;它的存在是为了让一组复杂的、带有触发条件的数字化承诺能够按照参与者的意志,正确执行。
在本示例性实施例中,智能合约内至少包含有待解析的域名、目标IP地址以及域名与目标IP的对应关系。智能合约制定后,通过P2P网络扩散并存入区块链。在该智能合约中,事件描述信息中的触发条件包括包含有待解析的域名的查询请求。事务中包含的需要发送的数据为与待解析的域名对应的目标IP地址。基于查询请求,区块链节点通过智能合约自动发出对应触发条件的数据资源,即与待解析的域名对应的目标IP地址,从而在第二联盟链的区块链节点上查询到与待解析的域名对应的目标IP地址。
在本示例性实施例中,当预先存储的数据资源(待解析的域名、目标 IP地址以及域名与目标IP的对应关系)大于预设内存时,可在第二联盟链的不同区块链节点中分别存储所述预先存储的数据资源中的部分数据资源。例如,由于一个区块链节点的内存有限,无法全部存储所有的数据资源。此时,可在每个区块链节点上分别存储部分数据资源。每个区块链节点上存储的数据资源可不同,即存储不同的域名及域名与目标IP地址的对应关系。在进行目标IP地址查询时,当在一个区块链节点上没有查询到对应的目标IP地址时,可在其他区块链节点上同步查询,从而实现在存储有大量域名的情况下,也可快速查询到域名对应的目标IP地址,进而有利于提高服务器的域名解析效率。
在一些实施例中,如图5所示,所述装置还包括:
第四处理单元54,用于当所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效时,向第三联盟链发送用于更新所述对应关系的更新请求,接收基于所述更新请求返回的指示更新后的对应关系的数据;
基于指示更新后的对应关系的数据响应所述域名解析请求。
在本示例性实施例中,所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效,包括待解析的域名与所述目标IP地址的对应关系发生了变更。
在本示例性实施例中,第三联盟链为不同于第一联盟链和第二联盟链的联盟链,用于存储最新更新的域名与目标IP地址的对应关系数据。进行数据更新时,本地服务器内的对应关系数据可先更新第三联盟链中的存储数据。第二联盟链向第三联盟链发送进行数据更新的更新请求。第三联盟链根据更新请求,更新第二联盟链上存储的对应关系数据。第二联盟链根据更新后的对应关系的数据响应域名解析请求。
在本示例性实施例中,所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效,还包括对应关系数据的存储文件发生损坏,造成数据无法访问。此时可根据第三联盟链中的存储数据更新第二联盟链上存储的对应关系数据,对数据进行重新保存。第三联盟链中的存储数据可以是在本地服务器直接上传的对应关系数据,也可以是镜像第二联盟链上数据有效时,存储的对应关系数据。如此,在数据失效时,可通过第三联盟链来更新数据,从而有利于保证域名解析的顺利完成。
在一些实施例中,所述第三处理单元,用于将所述目标IP地址返回给所述客户端,包括:
所述第三处理单元,具体用于接收所述第一联盟链的区块连接节点以第一IP地址为目的地址转发的所述域名解析请求后,以第二IP地址为源地址,发送携带有所述目的IP地址的所述域名解析请求的响应消息给所述客户端。
在本示例性实施例中,第一IP地址为第二联盟链的区块链节点接收第一联盟链的区块链节点转发的域名解析请求时所用的IP地址;第二IP地址为第二联盟链的区块链节点向客户端反馈目标IP地址时所用的IP地址。在本申请中,第一IP地址和第二IP地址为两个不同的IP地址,以实现第一IP地址和第二IP地址的分离,相对于第一IP地址和第二IP地址采用同一IP地址而言,更有利于第二IP地址的隐藏。若第一IP地址和第二IP地址为同一IP地址时,在第一IP地址暴露遭到攻击时,第二IP地址必然同步遭到攻击,显然这不利于以第二IP地址为源地址向客户端反馈解析获得的目标IP地址。因此,第一IP地址和第二IP地址的分离,更有利于减少第二IP地址暴露的概率,减少第二IP地址遭到攻击的可能性,从而有利于目标IP地址的顺利反馈。
图6是根据一示例性实施例示出的联盟链系统构建流程图。如图6所示,包括:
步骤60、在DNS服务器集群中构建联盟链,部署智能合约;
步骤61、构建流量清洗模块,用于执行第一联盟链滤除客户端A发送的恶意请求;
步骤62、构建边缘解析模块,用于执行第二联盟链解析客户端A发送的正常域名解析请求;
步骤63、构建镜像模块,用于执行第三联盟链镜像存储域名与目标IP地址的对应关系数据。
本申请还提供一种终端。图7是根据一示例性实施例示出的终端结构示意图。如图7所示,本申请实施例提供的终端,包括:处理器730和用于存储能够在处理器上运行的计算机程序的存储器720,其中,所述处理器730用于运行所述计算机程序时,执行上述各实施例提供所述方法的步骤。
本申请还提供一种计算机可读存储介质。本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供所述方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
在一些情况下,上述任一两个技术特征不冲突的情况下,可以组合成新的方法技术方案。
在一些情况下,上述任一两个技术特征不冲突的情况下,可以组合成新的设备技术方案。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (17)
1.一种DNS域名服务器攻击的处理方法,其特征在于,应用于部署有第一联盟链的区块链节点,所述方法包括:
接收客户端发送的域名解析请求;
在预设时长内,统计来自同一个客户端的域名解析请求的数量;
在同一个所述客户端的域名解析请求的数量达到预设阈值时,拒绝将所述客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点;
在同一个所述客户端的域名解析请求的数量小于预设阈值时,将所述客户端的域名解析请求,发送给具有第一网络协议IP地址的所述第二联盟链的区块链节点;其中,所述第一联盟链与所述第二联盟链为两个不同的联盟链,所述域名解析请求的响应消息,是基于第二IP地址发送给所述客户端的。
2.根据权利要求1所述的DNS域名服务器攻击的处理方法,其特征在于, 所述第一联盟链和所述第二联盟链部署在不同的物理机上;或,
所述第一联盟链和所述第二联盟链部署在共用物理机的时候分配不同的硬件资源和/或软件资源。
3.一种DNS域名服务器攻击的处理方法,其特征在于,应用于部署有第二联盟链的区块链节点,所述方法包括:
接收第一联盟链的区块链节点在确定出同一个客户端预设时长内发送的域名解析请求的数量小于或等于预设阈值时,以第一IP地址为目的地址转发的域名解析请求;
响应于所述域名解析请求,确定请求解析域名对应的目标IP地址;
以第二IP地址为源地址,发送携带有所述目标IP地址的所述域名解析请求的响应消息给所述客户端。
4.根据权利要求3所述的DNS域名服务器攻击的处理方法,其特征在于,所述响应于所述域名解析请求,确定请求解析域名对应的目标IP地址,包括:
基于所述域名解析请求,生成符合智能合约的查询请求;
基于所述查询请求,在所述第二联盟链的区块链节点上查询所述目标IP地址;所述查询请求至少包含有待解析的域名;所述智能合约用于以确定的协议建立各区块链节点间的数据交互。
5.根据权利要求4所述的DNS域名服务器攻击的处理方法,其特征在于,所述方法还包括:
当所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效时,向第三联盟链发送用于更新所述对应关系的更新请求,接收基于所述更新请求返回的指示更新后的对应关系的数据;
所述响应于所述域名解析请求,确定请求解析域名对应的目标IP地址,包括:
基于指示更新后的对应关系的数据响应所述域名解析请求。
6.一种DNS域名服务器攻击的处理系统,其特征在于,至少包括:
第一区块链网络,部署有第一联盟链;其中,所述第一区块链网络包括至少一个第一联盟链的区块链节点;
第二区块链网络,与所述第一区块链网络连接,部署有第二联盟链;其中,所述第二区块链网络包括至少一个第二联盟链的区块链节点;所述第一联盟链与所述第二联盟链为两个不同的联盟链;其中:
所述第一联盟链的区块链节点,用于滤除来自同一个客户端的请求数量达到预设阈值的域名解析请求,并以第一IP地址为目的地址转发请求数量小于预设阈值的域名解析请求至所述第二联盟链;
所述第二联盟链的区块链节点,用于响应于所述域名解析请求,确定请求解析域名对应的目标IP地址,并以第二IP地址为源地址,发送携带有所述目标IP地址的所述域名解析请求的响应消息给所述客户端。
7.根据权利要求6所述的DNS域名服务器攻击的处理系统,其特征在于,所述系统还包括:
第三区块链网络,与所述第二区块链网络连接,部署有第三联盟链;其中:
所述第三联盟链的区块链节点上存储有待解析的域名与所述目标IP地址的对应关系的数据,用于基于所述第二联盟链发送的更新请求更新所述第二联盟链上存储的对应关系数据。
8.根据权利要求7所述的DNS域名服务器攻击的处理系统,其特征在于,所述第一联盟链的区块链节点,具体用于在同一个所述客户端的域名解析请求的数量达到预设阈值时,拒绝将所述客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点。
9.根据权利要求8所述的DNS域名服务器攻击的处理系统,其特征在于,所述第二联盟链的区块链节点,具体用于基于所述域名解析请求,生成符合智能合约的查询请求;
基于所述查询请求,在所述第二联盟链的区块链节点上查询所述目标IP地址;所述查询请求至少包含有待解析的域名;所述智能合约用于以确定的协议建立各区块链节点间的数据交互。
10.根据权利要求9所述的DNS域名服务器攻击的处理系统,其特征在于,所述第二联盟链的区块链节点,还用于当所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效时,向所述第三联盟链发送用于更新所述对应关系的更新请求,接收基于所述更新请求返回的指示更新后的对应关系的数据;
基于指示更新后的对应关系的数据响应所述域名解析请求。
11.一种DNS域名服务器攻击的处理装置,其特征在于,应用于部署有第一联盟链的区块链节点,所述装置包括:
第一处理单元,用于接收客户端发送的域名解析请求;
第二处理单元,用于在预设时长内,统计来自同一个客户端的域名解析请求的数量;
第三处理单元,用于在同一个所述客户端的域名解析请求的数量达到预设阈值时,拒绝将所述客户端的域名解析请求转发给进行域名解析的第二联盟链的区块链节点;
第四处理单元,用于在同一个所述客户端的域名解析请求的数量小于预设阈值时,将所述客户端的域名解析请求,发送给具有第一网络协议IP地址的所述第二联盟链的区块链节点;其中,所述第一联盟链与所述第二联盟链为两个不同的联盟链;所述域名解析请求的响应消息,是基于第二IP地址发送给所述客户端的。
12.根据权利要求11所述的DNS域名服务器攻击的处理装置,其特征在于,所述第一联盟链和所述第二联盟链部署在不同的物理机上;或,
所述第一联盟链和所述第二联盟链部署在共用物理机的时候分配不同的硬件资源和/或软件资源。
13.一种DNS域名服务器攻击的处理装置,其特征在于,应用于部署有第二联盟链的区块链节点,所述装置包括:
第一处理单元,用于接收第一联盟链的区块链节点在确定出同一个客户端预设时长内发送的域名解析请求的数量小于或等于预设阈值时,以第一IP地址为目的地址转发的域名解析请求;
第二处理单元,用于响应于所述域名解析请求,确定请求解析域名对应的目标IP地址;
第三处理单元,用于以第二IP地址为源地址,发送携带有所述目标IP地址的所述域名解析请求的响应消息给所述客户端。
14.根据权利要求13所述的DNS域名服务器攻击的处理装置,其特征在于,所述第二处理单元,具体用于基于所述域名解析请求,生成符合智能合约的查询请求;
基于所述查询请求,在所述第二联盟链的区块链节点上查询所述目标IP地址;所述查询请求至少包含有待解析的域名;所述智能合约用于以确定的协议建立各区块链节点间的数据交互。
15.根据权利要求13所述的DNS域名服务器攻击的处理装置,其特征在于,所述装置还包括:
第四处理单元,用于当所述第二联盟链上存储的待解析的域名与所述目标IP地址的对应关系失效时,向第三联盟链发送用于更新所述对应关系的更新请求,接收基于所述更新请求返回的指示更新后的对应关系的数据;
基于指示更新后的对应关系的数据响应所述域名解析请求。
16.一种终端,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行权利要求1至5任一项所述方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110541580.5A CN112968915B (zh) | 2021-05-18 | 2021-05-18 | Dns域名服务器攻击的处理方法、处理系统、处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110541580.5A CN112968915B (zh) | 2021-05-18 | 2021-05-18 | Dns域名服务器攻击的处理方法、处理系统、处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112968915A CN112968915A (zh) | 2021-06-15 |
CN112968915B true CN112968915B (zh) | 2021-08-06 |
Family
ID=76275604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110541580.5A Active CN112968915B (zh) | 2021-05-18 | 2021-05-18 | Dns域名服务器攻击的处理方法、处理系统、处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112968915B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150469B (zh) * | 2022-07-21 | 2024-07-05 | 天翼云科技有限公司 | 域名解析结果的存储方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024100A (zh) * | 2012-12-31 | 2013-04-03 | 华为技术有限公司 | 一种建立偶联的方法和域名系统服务器 |
CN103957195A (zh) * | 2014-04-04 | 2014-07-30 | 上海聚流软件科技有限公司 | Dns系统以及dns攻击的防御方法和防御装置 |
CN106161674A (zh) * | 2016-07-25 | 2016-11-23 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析装置 |
CN108366138A (zh) * | 2018-05-28 | 2018-08-03 | 北京奇虎科技有限公司 | 域名操作方法、系统及电子设备 |
CN109104445A (zh) * | 2018-11-05 | 2018-12-28 | 北京京东尚科信息技术有限公司 | 基于区块链的业务系统的防攻击方法及系统 |
CN109688239A (zh) * | 2018-12-20 | 2019-04-26 | 全链通有限公司 | 域名解析方法、设备、系统及存储介质 |
CN111030979A (zh) * | 2019-06-20 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种恶意域名检测方法、装置及存储设备 |
CN111131335A (zh) * | 2020-03-30 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 基于人工智能的网络安全防护方法、装置、电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20065179A0 (fi) * | 2006-03-20 | 2006-03-20 | Nixu Sofware Oy | Kokonaisuudeksi koottu nimipalvelin |
CN103685213A (zh) * | 2012-09-26 | 2014-03-26 | 西门子公司 | 一种减少针对dns的攻击的装置、系统和方法 |
US10489757B2 (en) * | 2014-05-19 | 2019-11-26 | OX Labs Inc. | System and method for rendering virtual currency related services |
-
2021
- 2021-05-18 CN CN202110541580.5A patent/CN112968915B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024100A (zh) * | 2012-12-31 | 2013-04-03 | 华为技术有限公司 | 一种建立偶联的方法和域名系统服务器 |
CN103957195A (zh) * | 2014-04-04 | 2014-07-30 | 上海聚流软件科技有限公司 | Dns系统以及dns攻击的防御方法和防御装置 |
CN106161674A (zh) * | 2016-07-25 | 2016-11-23 | 宁圣金融信息服务(上海)有限公司 | 一种区块链域名解析装置 |
CN108366138A (zh) * | 2018-05-28 | 2018-08-03 | 北京奇虎科技有限公司 | 域名操作方法、系统及电子设备 |
CN109104445A (zh) * | 2018-11-05 | 2018-12-28 | 北京京东尚科信息技术有限公司 | 基于区块链的业务系统的防攻击方法及系统 |
CN109688239A (zh) * | 2018-12-20 | 2019-04-26 | 全链通有限公司 | 域名解析方法、设备、系统及存储介质 |
CN111030979A (zh) * | 2019-06-20 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种恶意域名检测方法、装置及存储设备 |
CN111131335A (zh) * | 2020-03-30 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 基于人工智能的网络安全防护方法、装置、电子设备 |
Non-Patent Citations (1)
Title |
---|
面向跨域可信的泛中心化区块链DNS架构研究;雷凯等;《网络与信息安全学报》;20200415(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112968915A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103051740B (zh) | 域名解析方法、dns服务器及域名解析系统 | |
CN109981803B (zh) | 业务请求处理方法及装置 | |
CN110348242A (zh) | 业务请求处理方法及装置 | |
US20240048579A1 (en) | Identification of malicious domain campaigns using unsupervised clustering | |
CN111107171B (zh) | Dns服务器的安全防御方法及装置、通信设备及介质 | |
CN107018167A (zh) | 请求路由选择处理 | |
CN106330849A (zh) | 防止域名劫持的方法和装置 | |
CN111801925A (zh) | 在网络中传播数据的基于区块链的系统和方法 | |
JP2021524197A (ja) | ノードのネットワークにおいてデータパケットを伝搬させるシステム及び方法 | |
CN101841573A (zh) | 互联网地址信息处理方法、装置以及互联网系统 | |
US10320784B1 (en) | Methods for utilizing fingerprinting to manage network security and devices thereof | |
CN108616544B (zh) | 用于检测对域名系统记录系统的更新的方法、系统和介质 | |
WO2021057348A1 (zh) | 一种服务器安全防御方法及系统、通信设备、存储介质 | |
CN112235408A (zh) | 网络系统、反向代理方法及反向代理服务器 | |
CN109743357B (zh) | 一种业务访问连续性的实现方法及装置 | |
Kantola | 6G network needs to support embedded trust | |
US9762542B2 (en) | Parallel detection of updates to a domain name system record system using a common filter | |
EP3016423A1 (en) | Network safety monitoring method and system | |
CN112968915B (zh) | Dns域名服务器攻击的处理方法、处理系统、处理装置 | |
EP3857848B1 (fr) | Procédé d'allocation d'un identifiant à un noeud client, procédé d'enregistrement d'un identifiant, dispositif, noeud client, serveur et programmes d'ordinateurs correspondants | |
CN112887441B (zh) | 一种域名解析方法、终端和dns服务器 | |
JP6442545B2 (ja) | Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム | |
JP2001256045A (ja) | コンピュータウイルスチェック方法及び装置 | |
CN108650338A (zh) | 一种域名解析方法及系统 | |
CN114338809B (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 |