一种基于云平台的域名主动检测方法和系统转让专利

申请号 : CN201510435008.5

文献号 : CN105025025B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高胜胡俊何世平徐原赵慧徐晓燕刘婧陈阳李世淙党向磊饶毓赵宸

申请人 : 国家计算机网络与信息安全管理中心

摘要 :

本发明提供一种基于云平台的域名主动检测方法和系统,该方法包括:(1)将各处理微引擎注册到云平台上,初始化微引擎配置参数;(2)配置并生成域名检测任务,并将其发送到云平台;(3)调度所述域名检测任务到指定的微引擎程序,执行完成后将任务执行结果以文本方式存储到FTP服务器中;(4)从FTP服务器中获取执行结果文件,并将解析后的所述执行结果文件存储到数据库中。针对该方法构建了一种主动检测的系统,本发明运用云平台资源在各地域个运营商进行域名安全主动检测,能够高效完成Ipv4段DNS服务器判定。

权利要求 :

1.一种基于云平台的域名主动检测方法,其特征在于,所述方法包括如下步骤:(1)将各处理微引擎注册到云平台上,初始化微引擎配置参数;

(2)配置并生成域名检测任务,并将其发送到云平台;

(3)调度所述域名检测任务到指定的微引擎程序,执行完成后将任务执行结果以文本方式存储到FTP服务器中;

(4)从FTP服务器中获取执行结果文件,并将解析后的所述执行结果文件存储到数据库中;

所述步骤(1)中,所述配置参数包括检测的目标服务器地址和检测的域名;

所述步骤(2)中,所述配置域名检测任务包括配置任务执行的周期、任务执行节点所需的地域及运营商资源信息;

所述步骤(3)中,当所述域名检测任务为域名服务设施运行状态检测任务时,对全IPv4段地址依据地域及运营商进行DNS服务类型、提供服务情况以及服务质量进行检测,包括如下步骤:步骤401、设置要探测的IPv4段列表IPLIST,以及所需要探测的地域及运营商信息;所述IPLIST包括IP1、IP2…;

步骤402、将该任务下发到指定地域及运营商的云平台节点上;

步骤403、组织DNS报文序列SQ,所述SQ包括DNS1报文、DNS2报文、DNS3报文、DNS4报文和DNS5报文,其中DNS1报文为基于UDP的标准A类型请求,请求的域名为a.root-servers.net;

DNS2报文为基于UDP的标准A类型请求,请求的域名为a.dns.cn;DNS3报文为基于UDP的标准CNAME类型请求,请求的域名为www.xxx.com;DNS4报文为基于TCP的标准A类型请求,请求的域名为a.root-servers.net;DNS5报文为基于UDP的DNSSEC请求;

所述标准A类型请求为域名的IP请求类型;

步骤404、开启线程监听UDP的53端口,等待获取反馈的DNS应答报文;

步骤405、按照IPv4段列表信息依次向其中的IPv4服务器地址IP1、IP2…的53端口发送SQ中的DNS1报文,控制每秒的发送速率不超过10000PPS;

步骤406、在监听线程获取DNS应答报文,分析其报文应答域中的解析记录是否为a.root-servers.net的解析A记录以及报文目的IP是否在IPLIST中,如果满足步骤401到步骤406则该IP为DNS服务器;

步骤407、向已确定DNS服务器IP依次发送SQ中的DNS2、DNS3报文,分析其报文应答域中的解析记录是否正确获得相应的记录,若均获得正确应答记录则为递归服务器,若应答标记字段中权威记录标识取值为1或RCODE字段全部标记REFUSED则该IP为权威服务器;

步骤408、向DNS服务器发送SQ中的DNS4报文,分析其报文应答情况,若获取正确应答则该服务器支持TCP,否则不支持;

步骤409、向DNS服务器发送SQ中的DNS5报文,分析其报文应答中RRSIG记录情况,若正确获取则该服务器支持DNSSEC,否则不支持;

步骤410、向DNS服务器发送SQ中的DNS2报文数次,获取反馈的延迟时间及成功次数,计算平均延迟及响应成功率;

步骤411、在完成向全部IPLIST中IP发送报文后等待10秒结束微引擎处理。

2.根据权利要求1所述检测方法,其特征在于,所述步骤(3)中,当所述检测任务为关键域名劫持事件检测任务时,获取所述关键域名的授权服务器,再从所述授权服务器上获取对应的解析资源,依据解析资源进行劫持检测,包括如下步骤:步骤501、从根域名服务器a.root-servers.net逐级获取待检域名DOMAIN的权威记录,最终获取所述关键域名的授权服务器IP地址;

步骤502、在各地域各运营商的处理节点向所述授权服务器进行针对待检域名的A类型请求;

步骤503、获取应答域中的各解析A记录,形成针对待检域名的解析IP列表VLIST;

步骤504、向待检DNS服务器进行待检域名的A类型请求,获取其解析IP结果,并与VLIST中的记录进行比对,若不存在该IP则进行劫持事件记录,所述劫持事件记录包括DNS服务器IP地址、域名、解析值以及依据的VLIST。

3.根据权利要求1所述检测方法,其特征在于,所述步骤(3)中,当所述检测任务为使用了CDN服务的域名检测任务时,利用域名资源数据分析利用字符、聚类的特性获取CDN域名列表,并利用所述CDN域名列表进行检测,包括如下步骤:步骤601、从域名资源数据中的CNAME记录进行二级域名提取,形成二级域名映射表,所述映射表中包括请求的二级域名、CNMAE以及应答的二级域名;

步骤602、对应答的二级域名中包含‘CDN’字符的进行提取加入到CDN服务域名列表CDNLIST中;

步骤603、对应答的二级域名进行聚类分析,获取不同请求二级域名映射到相同二级域名的记录,提取所述二级域名加入到CDN服务域名列表CDNLIST中;

步骤604、向DNS服务器请求待检域名的A类型记录,获取所述待检域名的应答记录,检查首条应答记录是否为CNAME记录,若不为CNAME记录则丢弃;若为CNAME记录,则提取解析值的二级域名并与CDNLIST进行匹配,匹配成功的则为使用了CDN的域名,否则不是。

4.一种基于云平台的域名主动监测系统,其特征在于,所述系统包括:微引擎管理模块,用于将各处理微引擎注册到云平台上,初始化微引擎配置参数;

任务生成模块,用于配置并生成域名检测任务,并将其发送到云平台;

云平台,用于调度所述域名检测任务到指定的微引擎程序,执行完成后将任务执行结果以文本方式存储到FTP服务器中;

结果处理模块,用于从FTP服务器中获取执行结果文件,并将解析后的所述执行结果文件存储到数据库中;

所述系统还包括微引擎库,所述微引擎库中包括:

服务状态检测微引擎,用于对全IPv4段地址依据地域及运营商进行DNS服务类型、提供服务情况以及服务质量进行检测;

关键域名劫持事件微引擎,用于获取所述关键域名的授权服务器,再从所述授权服务器上获取对应的解析资源,依据解析资源进行劫持检测;

使用CDN服务的域名检测微引擎,用于利用域名资源数据分析利用字符、聚类的特性获取CDN域名列表,并利用所述CDN域名列表进行检测;

域名服务器信息采集微引擎,用于对待检域名服务器进行探测,提取特征指纹,分析域名服务器基本状况;

缓存记录检测微引擎,用于对DNS缓存服务器进行主动探测,发现域名记录在各缓存服务器上当前资源信息,包括域名解析值、TTL信息,进而获取所述域名的全局缓存记录,为异常事件的发现提供基础数据支持;

权威记录检测微引擎,用于对DNS权威服务器进行主动探测。

说明书 :

一种基于云平台的域名主动检测方法和系统

技术领域

[0001] 本发明涉及一种主动检测方法和系统,具体涉及一种基于云平台的域名主动检测方法和系统。

背景技术

[0002] 域名系统是互联网的关键组成部分,域名资源是互联网的基础资源,域名服务是互联网的核心服务之一,为大多数互联网应用提供基础服务,发挥中枢神经的作用。伴随着互联网的发展,各种互联网服务层出不穷,数亿量级的域名已被申请注册,随之而来域名服务设施也越来越多,但由于域名系统本身的脆弱性,其常常被网络攻击以及恶意利用,造成域名无法正确解析,例如利用其漏洞进行缓存投毒造成部分域名解析错误,对其进行DDoS攻击使得其服务异常而造成大范围用户访问互联网异常等,严重影响互联网服务的稳定性。因此,如何检测域名系统运行情况和安全状态是域名服务安全稳定运行保障中一个重要环节,对于维护互联网安全,促进其健康发展具有重要意义。
[0003] 在域名安全检测方面目前主要的方法有主动域名检测和被动域名检测两种方式,被动检测在域名系统服务器旁侧来对获取的DNS访问流量数据进行分析处理,记录实际域名访问情况,目前在该方面主要采用两种方式:一种为对域名服务器日志进行分析,一种为镜像方式将域名服务器数据进行镜像分析。主动域名检测主要可对域名解析服务器进行探测,获取某域名的相关解析数据以及其它服务器状态数据,目前在对缓存递归服务器、权威服务器等方面都有一些主动探测方法和工具,以单点探测为主,它不能反映全局域名及域名服务器解析情况,且各自工具功能相对较单一、资源复用率低、探测资源不足、系统检测性能不足等问题,另外对于一些域名服务器进行了访问IP的限制,因此单点探测也无法保障可对所有域名都能进行成功探测,分布式多点探测目前也多以部署多个单点探测来完成,对于一些特定特征及DNSSEC技术应用、CDN导致域名探测问题等方面也未涉及。

发明内容

[0004] 为了克服上述现有技术的不足,本发明提供一种基于云平台的域名主动检测方法和系统,本发明能够高效完成Ipv4段DNS服务器判定,对关键域名劫持事件进行主动检测。
[0005] 为了实现上述发明目的,本发明采取如下技术方案:
[0006] 一种基于云平台的域名主动检测方法,所述方法包括如下步骤:
[0007] (1)将各处理微引擎注册到云平台上,初始化微引擎配置参数;
[0008] (2)配置并生成域名检测任务,并将其发送到云平台;
[0009] (3)调度所述域名检测任务到指定的微引擎程序,执行完成后将任务执行结果以文本方式存储到FTP服务器中;
[0010] (4)从FTP服务器中获取执行结果文件,并将解析后的所述执行结果文件存储到数据库中。
[0011] 优选的,所述步骤(1)中,所述配置参数包括检测的目标服务器地址和检测的域名。
[0012] 优选的,所述步骤(2)中,所述配置域名检测任务包括配置任务执行的周期、任务执行节点所需的地域及运营商资源信息。
[0013] 优选的,所述步骤(3)中,当所述域名检测任务为域名服务设施运行状态检测任务时,对全IPv4段地址依据地域及运营商进行DNS服务类型、提供服务情况以及服务质量进行检测,包括如下步骤:
[0014] 步骤401、设置要探测的IPv4段列表IPLIST,以及所需要探测的地域及运营商信息;所述IPLIST包括IP1、IP2…;
[0015] 步骤402、将该任务下发到指定地域及运营商的云平台节点上;
[0016] 步骤403、组织DNS报文序列SQ,所述SQ包括DNS1报文、DNS2报文、DNS3报文、DNS4报文和DNS5报文,其中DNS1报文为基于UDP的标准A类型请求,请求的域名为a.root-servers.net;DNS2报文为基于UDP的标准A类型请求,请求的域名为a.dns.cn;DNS3报文为基于UDP的标准CNAME类型请求,请求的域名为www.xxx.com;DNS4报文为基于TCP的标准A类型请求,请求的域名为a.root-servers.net;DNS5报文为基于UDP的DNSSEC请求;
[0017] 所述标准A类型请求为域名的IP请求类型;
[0018] 步骤404、开启线程监听UDP的53端口,等待获取反馈的DNS应答报文;
[0019] 步骤405、按照IPv4段列表信息依次向其中的IPv4服务器地址IP1、IP2…的53端口发送SQ中的DNS1报文,控制每秒的发送速率不超过10000PPS;
[0020] 步骤406、在监听线程获取DNS应答报文,分析其报文应答域中的解析记录是否为a.root-servers.net的解析A记录以及报文目的IP是否在IPLIST中,如果满足以上条件则该IP为DNS服务器;
[0021] 步骤407、向已确定DNS服务器IP依次发送SQ中的DNS2、DNS3报文,分析其报文应答域中的解析记录是否正确获得相应的记录,若均获得正确应答记录则为递归服务器,若应答标记字段中权威记录标识取值为1或RCODE字段全部标记REFUSED则该IP为权威服务器;
[0022] 步骤408、向DNS服务器发送SQ中的DNS4报文,分析其报文应答情况,若获取正确应答则该服务器支持TCP,否则不支持;
[0023] 步骤409、向DNS服务器发送SQ中的DNS5报文,分析其报文应答中RRSIG记录情况,若正确获取则该服务器支持DNSSEC,否则不支持;
[0024] 步骤410、向DNS服务器发送SQ中的DNS2报文数次,获取反馈的延迟时间及成功次数,计算平均延迟及响应成功率;
[0025] 步骤411、在完成向全部IPLIST中IP发送报文后等待10秒结束微引擎处理。
[0026] 优选的,所述步骤(3)中,当所述检测任务为关键域名劫持事件检测任务时,获取该域名的授权服务器,再从该服务器上获取对应的解析资源,依据解析资源进行劫持检测,包括如下步骤:
[0027] 步骤501、从根域名服务器a.root-servers.net逐级获取待检域名DOMAIN的权威记录,最终获取该域名的授权服务器IP地址;
[0028] 步骤502、在各地域各运营商的处理节点向所述授权服务器进行针对待检域名的A类型请求;
[0029] 步骤503、获取应答域中的各解析A记录,形成针对待检域名的解析IP列表VLIST;
[0030] 步骤504、向待检DNS服务器进行待检域名的A类型请求,获取其解析IP结果,并与VLIST中的记录进行比对,若不存在该IP则进行劫持事件记录,所述劫持事件记录包括DNS服务器IP地址、域名、解析值以及依据的VLIST。
[0031] 优选的,所述步骤(3)中,当所述检测任务为使用了CDN服务的域名检测任务时,利用域名资源数据分析利用字符、聚类的特性获取CDN域名列表,并利用该列表进行检测,包括如下步骤:
[0032] 步骤601、从域名资源数据中的CNAME记录进行二级域名提取,形成二级域名映射表,所述映射表中包括请求的二级域名、CNMAE以及应答的二级域名;
[0033] 步骤602、对应答的二级域名中包含‘CDN’字符的进行提取加入到CDN服务域名列表CDNLIST中;
[0034] 步骤603、对应答的二级域名进行聚类分析,获取不同请求二级域名映射到相同二级域名的记录,提取该域名加入到CDN服务域名列表CDNLIST中;
[0035] 步骤604、向DNS服务器请求待检域名的A类型记录,获取该域名的应答记录,检查首条应答记录是否为CNAME记录,若不为CNAME记录则丢弃;若为CNAME记录,则提取解析值的二级域名并与CDNLIST进行匹配,匹配成功的则为使用了CDN的域名,否则不是。
[0036] 优选的,一种基于云平台的域名主动监测系统,所述系统包括:
[0037] 微引擎管理模块,用于将各处理微引擎注册到云平台上,初始化微引擎配置参数;
[0038] 任务生成模块,用于配置并生成域名检测任务,并将其发送到云平台;
[0039] 云平台,用于调度所述域名检测任务到指定的微引擎程序,执行完成后将任务执行结果以文本方式存储到FTP服务器中;
[0040] 结果处理模块,用于从FTP服务器中获取执行结果文件,并将解析后的所述执行结果文件存储到数据库中。
[0041] 优选的,所述系统还包括微引擎库,所述微引擎库中包括:
[0042] 服务状态检测微引擎,用于对全IPv4段地址依据地域及运营商进行DNS服务类型、提供服务情况以及服务质量进行检测;
[0043] 关键域名劫持事件微引擎,用于获取该域名的授权服务器,再从该服务器上获取对应的解析资源,依据解析资源进行劫持检测;
[0044] 使用CDN服务的域名检测微引擎,用于利用域名资源数据分析利用字符、聚类的特性获取CDN域名列表,并利用该列表进行检测;
[0045] 域名服务器信息采集微引擎,用于对待检域名服务器进行探测,提取特征指纹,分析域名服务器基本状况;
[0046] 缓存记录检测微引擎,用于对DNS缓存服务器进行主动探测,发现域名记录在各缓存服务器上当前资源信息,包括域名解析值、TTL信息,进而获取该域名的全局缓存记录,为异常事件的发现提供基础数据支持;
[0047] 权威记录检测微引擎,用于对DNS权威服务器进行主动探测。
[0048] 与现有技术相比,本发明的有益效果在于:
[0049] 本发明运用云平台资源在各地域个运营商进行域名安全主动检测,能够高效完成Ipv4段DNS服务器判定,单节点10Mbps带宽检测完成Ipv4段需要时间短,对关键域名劫持事件进行主动检测,对使用了CDN服务的域名进行检测,掌握数百CDN服务商域名。

附图说明

[0050] 图1是本发明提供的一种基于云平台的域名主动检测方法流程图
[0051] 图2是本发明提供的一种基于云平台的域名主动检测系统结构图

具体实施方式

[0052] 下面结合附图对本发明作进一步详细说明。
[0053] 如图1所示,一种基于云平台的域名主动检测方法,具体的实施步骤如下:
[0054] (1)将各处理微引擎注册到云平台中,之后选择需要使用的微引擎,初始化其配置参数,配置参数包括检测的目标服务器地址、检测的域名等;
[0055] (2)配置域名检测任务,配置任务包括选择执行的周期、执行节点所需的地域及运营商资源信息等;
[0056] (3)将配置好的任务下发到云平台,由云平台进行调度执行该任务,运行微引擎程序进行处理,执行完成后将任务执行结果以文本方式存储到FTP服务器中;
[0057] (4)从FTP服务器中获取执行结果,将解析后的执行结果存储到数据库中。
[0058] 上述过程中步骤(3)微引擎程序的处理过程为域名安全主动检测的关键步骤,不同微引擎程序的处理流程不同,以下分别对域名服务设施运行状态检测方法、关键域名劫持事件检测方法、使用了CDN服务的域名检测方法的具体实施步骤进行描述。
[0059] 域名服务设施运行状态检测需要对全IPv4段地址依据地域及运营商进行DNS服务类型、提供服务情况以及服务质量进行检测,具体实施步骤如下:
[0060] 步骤S201、配置域名服务器信息采集微引擎,设置要探测的IPv4段列表IPLIST,包括所需要探测的地域及运营商信息
[0061] 步骤S202、将该任务下发到指定地域及运营商的云平台节点上,待调度到该任务时开始执行;
[0062] 步骤S203、组织DNS报文序列SQ,其中DNS1报文为基于UDP的标准A类型请求,请求的域名为a.root-servers.net;DNS2报文为基于UDP的标准A类型请求,请求的域名为a.dns.cn;DNS3报文为基于UDP的标准CNMAE类型请求,请求的域名为www.xxx.com;DNS4报文为基于TCP的标准A类型请求,请求的域名为a.root-servers.net;DNS5报文为基于UDP的DNSSEC请求,还可加入其它类型的DNS报文到该序列SQ中;
[0063] 其中标准A类型请求为域名的IP请求类型;
[0064] 步骤S204、开启线程监听UDP53端口,等待获取反馈的DNS应答报文;
[0065] 步骤S205、按照IPv4段列表信息依次向其中的IPv4服务器地址IP1、IP2…等的53端口发送SQ中的DNS1报文,控制每秒的发送速率不超过10000PPS;
[0066] 步骤S206、在监听线程获取DNS应答报文,分析其报文应答域中的解析记录是否为a.root-servers.net的解析A记录、报文目的IP是否包含在IPLIST中,如果满足以上条件则该IP为DNS服务器;
[0067] 步骤S207、向已确定DNS服务器IP依次发送SQ中的DNS2、DNS3报文,分析其报文应答域中的解析记录是否正确获得相应的记录,如果均获得正确应答记录则为递归服务器,如果应答标记字段中AA(权威记录标识)是否取值为1或RCODE字段标记全部REFUSED则该IP为权威服务器;
[0068] 步骤S208、向DNS服务器发送SQ中的DNS4报文,分析其报文应答情况,如果获取正确应答则该服务器支持TCP,否则不支持;
[0069] 步骤S209、向DNS服务器发送SQ中的DNS5报文,分析其报文应答中RRSIG记录情况,如果正确获取则该服务器支持DNSSEC,否则不支持;
[0070] 步骤S210、向DNS服务器发送SQ中的DNS2报文数次,获取反馈的延迟时间及成功次数,计算平均延迟及响应成功率;
[0071] 步骤S211、在完成向全部IPLIST中IP发送报文后等待10秒结束微引擎处理;
[0072] 关键域名劫持事件检测需要获取该域名的授权服务器,再从该服务器上获取对应的解析资源,依据解析资源进行劫持检测,具体实施步骤如下:
[0073] 步骤S301、从根域名服务器a.root-servers.net逐级获取待检域名DOMAIN的权威NS记录(DNS的授权服务器解析记录),最终获取其授权服务器IP地址;
[0074] 步骤S302、在各地域各运营商的处理节点向该授权服务器进行针对待检域名的A类型请求;
[0075] 步骤S303、获取应答域中的各解析A记录,形成针对待检域名的解析IP列表VLIST,依据其进行后续步骤的检测;
[0076] 步骤S304、向待检DNS服务器进行待检域名的A类型请求,获取其解析IP结果,并与VLIST中的记录进行比对,如果不存在该IP则进行劫持事件记录
[0077] 使用了CDN服务的域名检测首先利用域名资源数据分析利用字符、聚类等特性获取CDN域名列表,之后利用该列表进行检测,具体实施步骤如下:
[0078] 步骤S401、从域名资源数据中的CNAME记录进行二级域名提取,形成二级域名映射表<请求的二级域名、CNMAE、应答的二级域名>;
[0079] 步骤S402、对应答的二级域名中包含‘CDN’字符的进行提取加入到CDN服务域名列表CDNLIST中;
[0080] 步骤S403、对应答的二级域名进行聚类分析,获取不同请求二级域名映射到相同二级域名的记录,提取该域名加入到CDN服务域名列表CDNLIST中;
[0081] 步骤S404、CDNLIST进行人工干预调整;
[0082] 步骤S405、向DNS服务器请求待检域名的A类型记录,获取该域名的应答记录,检查首条应答记录是否为CNAME记录,如果不为CNAME记录则丢弃;如果为CNAME记录,提取解析值的二级域名并与CDNLIST进行匹配,匹配成功的则为使用了CDN的域名,否则不是。
[0083] 如图2所示,一种基于云平台的域名主动检测系统,该系统包括:
[0084] 微引擎管理模块,用于将各处理微引擎注册到云平台上,初始化微引擎配置参数;
[0085] 任务生成模块,用于配置并生成域名检测任务,并将其发送到云平台;
[0086] 云平台,用于调度所述域名检测任务到指定的微引擎程序,执行完成后将任务执行结果以文本方式存储到FTP服务器中;
[0087] 结果处理模块,用于从FTP服务器中获取执行结果文件,并将解析后的所述执行结果文件存储到数据库中。
[0088] 微引擎模块,其中包括:
[0089] 服务状态检测微引擎,用于对全IPv4段地址依据地域及运营商进行DNS服务类型、提供服务情况以及服务质量进行检测;
[0090] 关键域名劫持事件微引擎,用于获取该域名的授权服务器,再从该服务器上获取对应的解析资源,依据解析资源进行劫持检测;
[0091] 使用CDN服务的域名检测微引擎,用于利用域名资源数据分析利用字符、聚类的特性获取CDN域名列表,并利用该列表进行检测;
[0092] 域名服务器信息采集微引擎,用于对待检域名服务器进行探测,提取特征指纹,分析域名服务器基本状况;
[0093] 缓存记录检测微引擎,用于对DNS缓存服务器进行主动探测,发现域名记录在各缓存服务器上当前资源信息,包括域名解析值、TTL信息,进而获取该域名的全局缓存记录,为异常事件的发现提供基础数据支持;
[0094] 权威记录检测微引擎,用于对DNS权威服务器进行主动探测。
[0095] 最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。