登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 物联网工程 > 正文

基于网络元数据分析的DNS隧道检测方法研究毕业论文

 2021-03-26 11:03  

摘 要

DNS是Internet中的重要应用层协议,是Internet发展的重要支撑。而DNS隧道将编码后需要传输的非法数据封装在DNS报文中,其最初目的是绕过公共场所WiFi的安全验证来获得免费的互联网资源。然而,DNS隧道也可以被用来对目标组织或机构进行网络攻击导致其数据泄露,使这些组织或机构承担巨大的经济损失。

本文在对DNS隧道和网络元数据分析方法进行研究的基础上,提出一种DNS隧道检测方法,并将其设计和实现。首先,叙述本文提出的DNS隧道检测方法的处理流程;然后,分别利用报文分析方法和流量分析方法建立DNS隧道检测规则;最后,在流量监视及分析平台iTAP、大数据分析平台iMAP以及数据异常报警引擎SQLAlert中对DNS隧道检测方法进行设计与实现。

为了对DNS隧道检测方法进行验证,本文利用DNS隧道工具iodine搭建了一个DNS隧道,并利用DNS隧道传输一个文本文件。实验表明,本文提出的DNS隧道检测方法可以成功地检测出DNS隧道,从而避免DNS隧道攻击的发生。

关键词:DNS;DNS隧道;网络元数据;报文分析;流量分析

Abstract

DNS is an important application layer protocol in the Internet and is an important support for Internet development. However, DNS tunneling can encapsulate illegal data that needs to be transmitted in a DNS message. DNS tunneling was designed to bypass the WiFi security verification of public premises to get free Internet resources. However, DNS tunneling can also be used to network attacks on the target organizations, resulting in data leakage, which makes these organizations bear huge economic losses.

In this paper, based on the study of DNS tunnel and network metadata analysis methods, a DNS tunneling detection method is proposed and designed and implemented. First, this paper discusses the processing flow of the DNS tunneling detection method proposed in this paper. Then, the DNS tunneling detection rules are established by using the payload analysis method and the traffic analysis method respectively. Finally, this paper designs and implements DNS tunnel detection method using the traffic monitoring and analysis platform iTAP, the large data analysis platform iMAP and the data anomaly alarm engine SQLAlert.

In order to verify the DNS tunneling detection method, this paper uses DNS tunneling tool iodine to build a DNS tunneling, and use DNS tunneling to transmit a text file. Experiments show that the DNS tunneling detection method proposed in this paper can successfully detect the DNS tunneling, so as to avoid the occurrence of DNS tunneling attack.

Key Words:DNS;DNS tunneling;network metadata;payload analysis;traffic analysis

目 录

第1章 绪论 1

1.1 课题研究的背景与意义 1

1.2 DNS隧道检测的研究现状 1

1.3本文的主要工作与组织结构 2

1.3.1 本文的主要工作 2

1.3.2 本文的组织结构 3

第2章 DNS工作原理与DNS隧道 5

2.1 DNS工作原理 5

2.1.1 树状结构的域名空间 5

2.1.2 DNS分布式数据库的体系结构 6

2.1.3 DNS报文格式 8

2.1.4 DNS解析原理 11

2.2 DNS隧道原理 12

2.2.1 DNS隧道 12

2.2.2 著名的DNS隧道工具 15

2.2.3 DNS隧道攻击与检测 16

2.3 本章小结 16

第3章 DNS隧道检测方法 18

3.1 DNS隧道检测流程 18

3.2 基于报文分析建立检测规则 19

3.2.1 未授权的域名服务器 19

3.2.2 不符合规范的DNS请求报文的格式 20

3.2.3 非常用的DNS资源记录类型 20

3.2.4 过长的域名 21

3.2.5 过高的域名熵值 22

3.3 基于流量分析建立检测规则 22

3.3.1 单个源IP地址发出了过多的DNS请求 23

3.3.2 当天某个时间段内发出了过多的DNS请求 24

3.3.3 过低的DNS请求响应比 25

3.4 本章小结 26

第4章 DNS隧道检测的设计与实现 27

4.1 利用DNS隧道工具iodine搭建隧道 27

4.1.1 前期配置 27

4.1.2 配置DNS隧道服务器 28

4.1.3 配置DNS隧道客户端 29

4.1.4 测试DNS隧道是否搭建成功 30

4.2 网络元数据分析平台 31

4.2.1 流量监视及分析平台iTAP 31

4.2.2 大数据分析平台iMAP 31

4.3 数据异常报警引擎SQLAlert 32

4.4 DNS隧道检测的实现 32

4.5 实验与分析 33

4.6 本章小结 36

第5章 全文总结与展望 37

5.1 全文总结 37

5.2 展望 37

参考文献 38

致 谢 40

第1章 绪论

1.1 课题研究的背景与意义

DNS(Domain Name System)是Internet中的重要应用层协议,是Internet发展的重要支撑。它实现了域名到IP地址的转换[1]。DNS允许互联网上的用户使用域名而不是IP地址访问网站。互联网可以在没有DNS的情况下运行,但是用户就必须要知道网站、邮件服务器或其他需要访问的服务器的IP地址。对于用户来说,这些32位或64位的二进制的IP地址是很难记住的,即使是点分十进制的IP地址也不太容易记忆[2]。由于互联网的庞大规模,需要有一种有效的方法让用户浏览互联网。DNS提供了此服务并为其它Internet应用提供了方便。

虽然各个组织或公司会采取各种防御措施来保护其网络及其相关设施,但是黑客依然能找到各种办法来绕过这些防御手段。因为DNS不适用于数据传输,所以DNS不被认为是恶意通信或数据泄露的来源。因此DNS在安全监视方面比较薄弱。但是在1998年Oskar Pearson发现通过DNS协议传输数据是可能的[3]。DNS隧道(DNS Tunneling)正是在这种情况下产生的。本文会介绍一些利用DNS进行隧道传输的工具,这些工具的共同目的是绕过公共场所的WiFi的安全验证来获得免费的互联网资源[4]。然而,这些DNS隧道工具也可以被用来对目标组织或机构进行网络攻击导致其数据泄露,比如泄露知识产权信息、贸易信息、客户记录以及员工数据等等。这些数据的泄露可能会使这些组织或机构承担巨大的经济损失[5]

因为目前国内外还没有DNS隧道发生之前就可以禁止所有DNS隧道的方法,所以监控网络上的DNS服务是非常重要的。为了有效的检测DNS隧道,我们需要获取所有与DNS服务相关的数据,这个数据量无疑是非常庞大的。使用南京云利来公司开发的网络元数据分析平台iTAP和iMAP可以轻松有效地从网络中获取与DNS服务相关的数据,对数据进行统计分析,可视化数据。基于这个平台,本文提出了一种DNS隧道检测方法。经实验验证,当有DNS隧道发生时,该检测方法可以及时将DNS隧道检测出来,最大程度地降低了由DNS隧道带来的数据泄露风险。

1.2 DNS隧道检测的研究现状

Oskar Pearson于1998年4月提出了DNS隧道的概念。自那时起,众多DNS隧道工具被开发出来。由Florian Heinz和Julien Oster开发的NSTX于2000年首次发布[6]。由Bjorn Andersson和Erik Ekman开发的iodine于2000年首次发布[7]。由Dan Kaminsky开发的OzymanDNS于2004年发布[8]。由Olivier Dembour和Nicolas Collignon开发的dns2tcp于在2008年8月发布[9]。其他的比较著名的隧道工具还包括:dnscat2、DeNise、Heyoka。不同工具的核心原理相似,只是在数据编码、实现细节以及应用场景方面存在一定的差异。

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图