本发明涉及网络通信技术领域,尤其涉及一种提高DNS系统安全性的方法及装置。
背景技术:
域名系统(Domain Name System, DNS)负责提供域名和IP地址之间的映射,是当前全球最大最复杂的分布式层次数据库系统。由于其开放、庞大、复杂的特性以及设计之初对于安全性的考虑不足,再加上认为破坏和攻击,DNS系统面临着非常严重的安全威胁。
DNS面临的安全威胁主要有DDoS(Distributed Denial of Service)攻击、DNS欺骗以及系统漏洞和后门。DDoS攻击通过僵尸网络利用各种服务请求耗尽被攻击网络的系统资源,造成被攻击网络无法处理合法用户的请求。DNS欺骗是由DNS服务器本身的设计导致的,DNS服务器只负责解析域名,不保证域名或者IP地址的正确,也就是说如果DNS接收了错误的信息,那么DNS就会作出错误的域名解析,从而引起安全问题。常见的DNS欺骗主要有缓存污染、DNS信息劫持和DNS重定向。DNS面临的另外一个威胁是由系统漏洞或后门引起的,系统漏洞或后门往往是未知的,面对这些未知的威胁,如何提高DNS系统的安全性成为亟待解决的问题。
DDoS攻击是网络面临的一个普遍问题,关于如何预防DDoS攻击目前已有许多研究成果,本发明主要针对DNS面临的另外两种安全威胁:DNS欺骗和系统漏洞与后门。传统的针对这两种DNS安全威胁的防御方法是增加DNS防火墙、入侵检测系统和漏洞修复策略等,这些方法都是被动的进行防御,对未知的攻击或者系统漏洞与后门显得无能为力。
技术实现要素:
传统的针对这两种DNS安全威胁的防御方法是增加DNS防火墙、入侵检测系统和漏洞修复策略等,这些方法都是被动的进行防御,对未知的攻击或者系统漏洞与后门显得无能为力,本发明针对现有被动防御技术存在的这些问题,提出了一种提高DNS系统安全性的方法及装置。
本发明的技术方案是:一种提高DNS系统安全性的方法,主要包括为域名解析请求提供域名解析方法,该域名解析方法主要包括以下步骤:
步骤1:域名解析请求发送到控制器的调度执行模块;
步骤2:调度执行模块根据策略生成模块生成的调度策略,为该域名解析请求分配一定数量的异构DNS等价执行体执行域名解析任务;
步骤3:异构DNS等价执行体同时独立地执行域名解析任务;
步骤4:异构DNS等价执行体的输出结果同时发送到输出判决器,输出判决器比对异构DNS等价执行体的输出结果,依据多数一致的原则确定最终解析结果;
步骤5:将最终确定的域名解析结果反馈给域名解析请求者。
所述的提高DNS系统安全性的方法,所述策略生成模块生成的调度策略具体为:
步骤 201:策略生成模块首先要生成调度策略,并下发给调度执行模块;
步骤202:调度执行模块根据调度策略将域名解析请求分发给异构DNS等价执行体;
步骤203:被选择的异构DNS等价执行体独立执行域名解析;
步骤204:输出判决器对异构DNS执行体的解析结果进行择多判决;
步骤205:输出多数一致的域名解析结果。
一种提高DNS系统安全性的方法的硬件装置,包括控制器、一定数量的异构DNS等价执行体和输出判决器,控制器与异构DNS等价体相连接,所述控制器包括参数配置模块、策略生成模块、监控模块、输入代理模块和调度执行模块,所述策略生成模块为调度执行模块生成调度执行策略;所述调度执行模块为域名解析请求,确定执行解析任务的异构DNS等价执行体;所述输出判决器根据异构DNS等价执行体的解析结果进行择多判决,并输出多数一致的解析结果。
所述的提高DNS系统安全性的方法的硬件装置,所述参数配置模块对策略生成模块进行配置,策略生成模块生成随机策略或者根据参数配置模块配置的参数生成动态策略。
所述的提高DNS系统安全性的方法的硬件装置,所述策略生成模块生成异构DNS等价执行体的调度执行策略,策略生成模块能够预先定义好策略或根据参数确定调度策略。
所述的提高DNS系统安全性的方法的硬件装置,所述监控模块负责监控控制器中的各个模块和异构DNS等价执行体的工作状态,并根据监测情况进行报警或发送相关操作指令,各个模块和异构DNS等价执行体能够根据监控模块反馈的指令对自身的工作状态进行调整。
所述的提高DNS系统安全性的方法的硬件装置,所述输入代理模块能够过滤非法请求,并把接收到的合法请求发送到调度执行模块。
所述的提高DNS系统安全性的方法的硬件装置,所述调度执行模块接收策略生成模块下发的调度策略,并根据此策略为域名解析请求分配异构DNS等价执行体进行域名解析。
所述的提高DNS系统安全性的方法的硬件装置,所述输出判决器包括接受代理模块、结果比对模块、结果统计模块和输出模块,其中接收代理模块从异构DNS等价执行体接收域名解析结果,接收代理模块将接收到的域名解析结果发送到结果比对模块;结果比对模块对各个结果进行比对,并把比对结果发送到结果统计模块;结果统计模块将比对结果进行统计,选择多数一致的结果发送到输出模块;输出模块最终将多数一致的结果发送给请求者。
本发明的有益效果是:本发明所述的方法及装置具有动态、异构和冗余的特性,正是动态异构冗余的特性使得所述装置内部结构具有不确定性,这使得DNS欺骗或者漏洞后门攻击成功的概率大大降低,提高了DNS系统的安全性能。解决了现有技术针对DNS安全威胁只能采用被动防御的问题,通过增加系统的动态性和不确定性,使得通过DNS欺骗或者利用DNS系统漏洞和后门实施攻击变得困难,提高了DNS系统的安全性能。
附图说明
图1为本发明的软硬件装置的系统功能结构示意图;
图2为本发明系统解析方法的流程示意图;
图3为本发明控制器内部功能结构示意图;
图4为本发明异构DNS等价执行体调度方法流程图;
图5为本发明输出结果判决器功能结构示意图。
具体实施方式
实施例1:结合图1-图5,一种提高DNS系统安全性的方法,主要包括为域名解析请求提供域名解析方法,该域名解析方法主要包括以下步骤:
步骤1:域名解析请求发送到控制器的调度执行模块;
步骤2:调度执行模块根据策略生成模块生成的调度策略,为该域名解析请求分配一定数量的异构DNS等价执行体执行域名解析任务;
步骤3:异构DNS等价执行体同时独立地执行域名解析任务;
步骤4:异构DNS等价执行体的输出结果同时发送到输出判决器,输出判决器比对异构DNS等价执行体的输出结果,依据多数一致的原则确定最终解析结果;
步骤5:将最终确定的域名解析结果反馈给域名解析请求者。
策略生成模块生成的调度策略具体为:
步骤 201:策略生成模块首先要生成调度策略,并下发给调度执行模块;
步骤202:调度执行模块根据调度策略将域名解析请求分发给异构DNS等价执行体;
步骤203:被选择的异构DNS等价执行体独立执行域名解析;
步骤204:输出判决器对异构DNS执行体的解析结果进行择多判决;
步骤205:输出多数一致的域名解析结果。
一种提高DNS系统安全性的方法的硬件装置,包括控制器、一定数量的异构DNS等价执行体和输出判决器,控制器与异构DNS等价体相连接,所述控制器包括参数配置模块、策略生成模块、监控模块、输入代理模块和调度执行模块,所述策略生成模块为调度执行模块生成调度执行策略;所述调度执行模块为域名解析请求,确定执行解析任务的异构DNS等价执行体;所述输出判决器根据异构DNS等价执行体的解析结果进行择多判决,并输出多数一致的解析结果。
参数配置模块对策略生成模块进行配置,策略生成模块生成随机策略或者根据参数配置模块配置的参数生成动态策略。策略生成模块生成异构DNS等价执行体的调度执行策略,策略生成模块能够预先定义好策略或根据参数确定调度策略。监控模块负责监控控制器中的各个模块和异构DNS等价执行体的工作状态,并根据监测情况进行报警或发送相关操作指令,各个模块和异构DNS等价执行体能够根据监控模块反馈的指令对自身的工作状态进行调整。输入代理模块能够过滤非法请求,并把接收到的合法请求发送到调度执行模块。调度执行模块接收策略生成模块下发的调度策略,并根据此策略为域名解析请求分配异构DNS等价执行体进行域名解析。
输出判决器包括接受代理模块、结果比对模块、结果统计模块和输出模块,其中接收代理模块从异构DNS等价执行体接收域名解析结果,接收代理模块将接收到的域名解析结果发送到结果比对模块;结果比对模块对各个结果进行比对,并把比对结果发送到结果统计模块;结果统计模块将比对结果进行统计,选择多数一致的结果发送到输出模块;输出模块最终将多数一致的结果发送给请求者。
实施例2,结合图1-图5,本发明实施例提供的一种提高DNS系统安全性的装置,该装置包括控制器、一定数量异构DNS等价执行体和输出判决器,控制器、异构DNS等价执行体和输出判决器相连接。
控制器包含策略生成模块、调度执行模块和监控模块,策略生成模块用于生成异构DNS等价执行体的调度执行策略,策略生成模块可以预先定义好策略,也可以根据参数确定调度策略。该调度策略用于决定如何选择异构DNS等价执行体,例如选择几个异构DNS等价执行体和按照何种顺序进行选择。
控制器中的调度执行模块接收策略生成模块下发的调度策略,并根据此策略为域名解析请求分配多个异构DNS等价执行体进行域名解析。
控制器中的监控模块负责监控控制器中的各个模块和异构DNS等价执行体的工作状态,并根据监测情况进行报警或发送相关操作指令,各个模块和异构DNS等价执行体可以根据监控模块反馈的指令对自身的工作状态进行调整。
异构DNS等价执行体负责执行域名解析任务,这些异构DNS等价执行体可以通过采用不同架构的服务器、不同的软硬件实现方式以及这些方式的不同组合实现。
输出判决器用于对异构DNS等价执行体的输出结果进行择多判决,使输出结果为多数一致的结果。
一种提高DNS系统安全性的装置遵循以下域名解析方法,具体域名解析流程骤如下:
步骤1:域名解析请求发送到控制器的调度执行模块;
步骤2:调度执行模块根据策略生成模块生成的调度策略为该域名解析请求分配执行域名解析的多个异构DNS等价执行体,调度执行模块还要确保所分配的异构DNS等价执行体能够正常工作;
步骤3:多个异构DNS等价执行体同时独立地执行域名解析任务;
步骤4:多个异构DNS等价执行体的输出结果同时发送到输出判决器,输出结果判决器比对异构DNS等价执行体的输出结果,依据多数一致的原则确定最终解析结果;
步骤5:将最终确定的域名解析结果反馈给域名解析请求者。
控制器内部功能结构包括参数配置模块、策略生成模块、监控模块、请求接收代理模块和调度执行模块。
参数配置模块用于对策略生成模块进行配置,策略生成模块可以生成随机策略,也可以根据参数配置模块配置的参数生成动态策略;请求接收代理模块用于过滤非法请求,并把接收到的合法请求发送到调度执行模块;监控模块负责监控控制器中各个模块的工作状态,并将监控结果或相应指令反馈到各个模块,各个模块根据监控模块反馈的信息调整自身的工作状态,以更好适应系统的要求。
异构DNS等价执行体的调度流程图,具体步骤如下:
步骤 201:策略生成模块首先要生成调度策略,并下发给调度执行模块;
步骤202:调度执行模块根据调度策略将域名解析请求分发给多个异构DNS等价执行体,调度策略用于选择异构DNS等价执行体;
步骤203:被选择的多个异构DNS等价执行体独立执行域名解析;
步骤204:输出判决器对多个异构DNS执行体的解析结果进行择多判决;
步骤205:输出多数一致的域名解析结果。
输出判决器的内部功能结果如下:
接收代理负责从异构DNS等价执行体接收域名解析结果,每个接收代理分别对应不同的异构DNS等价执行体;接收代理将接收到的域名解析结果发送到结果比对模块,结果比对模块负责对各个结果进行比对,并把比对结果发送到结果统计模块;结果统计模块对比对结果进行统计,选择多数一致的结果发送到输出模块,输出模块最终将多数一致的结果发送给请求者。