论文部分内容阅读
域名系统(Domain Name System,简称DNS)是Internet的关键基础设施,是整个互联网能够正常运转的基础。近年来,黑客将分布式拒绝服务(Distributed Denial of Service,简称DDoS)攻击的目标指向了DNS,使得针对DNS服务器的DDoS攻击频繁发生,越来越多的公司和组织因其DNS遭受到DDoS攻击而蒙受巨大的损失。因此,研究DNS如何抵御DDoS攻击具有十分重要的理论和现实意义。本论文将深入分析当前针对DNS的DDoS攻击的原理,对已有的较好的防御方案进行改进,并根据改进后的防御方案设计和实现一个抗DNS的DDoS攻击的防御系统。本文首先简要介绍了DNS的体系结构及查询原理。其次,结合攻击源代码深入分析了针对DNS的两种DDoS攻击的基本原理和方法,并在此基础上分析了攻击的特点。接下来,在防御DNS反弹式DDoS攻击上,本文对基于特征信息验证的方案做了改进,提出了新的防御系统模型,在详细分析各可取字段“随机性”的基础上给出了新的特征信息选取方案,并采用哈希链表的结构实现了高效特征信息库的设计。在防御伪造源地址的DNS查询DDoS攻击方面,本文对基于路由跳数的防御方法进行了改进,采用基于时间更新哈希链表作为跳数表,具有高效查询的优点。同时本文将DNS解析错误流和正确流的比值引入到该攻击的检测里,提出了一种简单且方便实现的检测方案,实验证明其可以有效检测目前存在的攻击。最后为了验证改进方案的可行性以及利于将防御方案应用到专业的硬件平台上,本课题在linux系统用模块化设计的方法设计和实现了一个抗DNS的DDoS攻击的防御系统。