论文部分内容阅读
域名系统(Domain Name System,DNS)是因特网的重要基础设施和一项核心服务。DNS作为一个全球部署的分布式数据库,其核心功能是完成域名到IP地址的相互映射,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。DNS的正常运行,是WWW、Email、FTP等众多互联网应用正常工作的基础。从技术角度看,DNS解析是当今互联网绝大多数应用的实际寻址方式。域名技术的再发展,以及基于域名技术的多种应用,进一步丰富了互联网的应用和协议。从资源角度看,域名是互联网上的身份标识,是不可重复的唯一标识资源。互联网的全球化使得域名成为标识一国主权的国家战略资源。 然而,随着网络规模的不断扩大和新型网络应用的层出不穷,DNS面临着越来越多的问题。这些问题主要体现在两个方面:DNS安全威胁以及DNS性能缺陷。近年来针对DNS安全及性能问题,人们通过DNS安全扩展协议(DNSSecurity Extension,DNSSEC)的部署和DNS相关网络测量研究的进行,取得了一些效果。但是,由于一些安全威胁问题的特殊性以及DNS协议自身所存在缺陷,目前的一些高成本解决方案并不完善,问题依旧存在。 DNS作为用户访问网络的重要一环,部署在全球的各个层级的DNS权威名字服务器和递归名字服务器每天都会产生海量的用户使用数据,据统计,仅仅.CN区的权威名字服务器每天产生的查询日志数据量就达到200GB。这些数据记录了网络用户及各种应用的域名查询和相关交互信息,对于研究人员来说无疑是一笔巨大的财富。从DNS使用数据中抽取感兴趣的模式并进行分析,可以帮助理解网络用户的行为,从而对域名服务体系进行改进,或为域名注册及使用用户提供更加个性化的扩展性服务。然而,目前针对域名服务系统的研究范围主要集中在协议仿真和网络测量方面,对于如何利用数据挖掘技术解决DNS自身存在的问题,更加需要进一步的研究。本文通过分析和归纳目前DNS所面临的一些问题的本质特征,将这些问题均转化为统计模型的学习问题,对于如何利用机器学习技术及相关数据建模方法来改善目前DNS所面临的安全和性能问题,以及产生基于DNS扩展性应用的可能性,进行了深入的探讨和研究。本文的主要贡献和创新点包括以下三个方面: 第一,提出了一种专门适用于DNS服务器的入侵检测框架和DDoS攻击检测方法。将针对DNS服务器的入侵检测过程转换为机器学习中的有监督学习过程,可以按照机器学习的基本原理将入侵检测过程划分为三个子过程:特征提取过程、模型学习过程以及线上检测过程。本文根据这三个子过程,提出了不同以往的基于有监督学习的入侵检测框架。提出该框架的主要目标是通过更加形式化的方式,提供潜在的自动化检测能力,提高DNS入侵检测方法的开发和部署效率。基于这个框架,通过分析网络DDoS攻击的流量特征,本文提出了专门针对DNS服务器的DDoS攻击检测方法,该方法利用人工智能技术,具有较高的检测率及可以接受的误测率,是对DNS入侵检测框架一次成功的实例化,对目前DNS抗攻击设备算法群起到了有效补充。 第二,提出了基于域名查询用户序列行为模式分析的DNS递归名字服务器缓存优化方法和DNS权威名字服务器负载均衡优化策略。就DNS本身的域名查询机制而言,递归名字服务器的缓存在清空记录的时候只是根据记录生存期(TTL)的值是否过期,而并没有考虑到该域名或资源记录在过去和未来的访问情况。因此,也很有可能出现资源记录清除后短时间内即被再次请求的情况,造成资源的浪费。另外,目前CN域名DNS权威名字服务器的采取的是轮询(RoundRobin)负载调度策略,这种策略尽可能将域名查询流量负载快速、均匀地分布到多台服务器。然而,这种策略的缺点是不考虑服务器实际的连接数和系统负载,容易导致系统吞吐量较低。根据上述两种情况,本文基于用户查询行为分析和无监督学习技术,分别提出了“DNS缓存生存期过期干预机制”和“用户群体相关源地址散列调度算法”。这两种方法将同样的机器学习模型和聚类分析技术应用于不同的两个应用场景,从递归名字服务器和权威名字服务器两个角度提升DNS系统的域名解析性能。 第三,提出了DNS使用挖掘统一框架。该框架第一次给出了DNS使用挖掘的定义,可以利用的DNS数据类型、使用数据的共现矩阵表示形式等。在这个无监督学习框架的基础上,可以利用多种机器学习及相关技术对DNS使用数据进行挖掘、分析。本文基于DNS使用挖掘框架和域名解析系统的现实需求,提出了一种基于概率潜在语义分析模型(Probabilistic Latent Semantic Analysis,PLSA)的域名潜在语义识别方法和一种基于“聚集用户轮廓”和“相似度分析”的动态域名推荐方法。域名潜在语义识别方法通过对被查DNS服务器上的查询日志数据进行建模分析,可以在借助少量Web信息的情况下,识别出域名的潜在语义。从而为域名注册管理机构的域名管理和域名治理提供了新的自动化方法。由于域名所代表的网络实体不只具有单一的用途,因此本方法将域名表示为“语义序列”的形式,清晰地反映出域名的各种潜在语义及其权重,这可以作为域名注册管理机构对域名进行区别化管理以及安全性评级的重要依据。另外,本文第一次提出了动态域名推荐引擎作为域名解析系统的扩展性应用。该引擎通过实时统计、分析被查DNS服务器上的查询日志数据以及该DNS用户的历史查询行为,得出一些用户可能感兴趣的域名,并向域名查询用户进行动态推荐。因此,当DNS用户所查询的某些域名变得不可用时,可以向该用户推荐类似的域名,供用户查询并访问,避免不可用域名过多地干扰用户的网络访问。目前,类似这样的推荐系统在DNS领域还没有先例。