基于聚类算法的DNS攻击检测
2016-07-15李建
李建
DOI:10.16644/j.cnki.cn33-1094/tp.2016.07.009
摘 要: DNS是Internet应用基础,通过DNS映射主机名和IP地址信息来保证两者间正常解析,但DNS设计有先天缺陷,使得其成为被网络攻击的首要对象。为了研究DNS攻击检测方法,从网络遭受DNS攻击的特性等方面分析,提出将捕获到的数据包进行过滤,并将过滤后数据信息通过K-means聚类算法分为不同类别,再用相应算法判定该类数据是否为DNS攻击。
关键词: DNS攻击; 过滤; 聚类; K-means算法
中图分类号:TP393.08 文献标志码:A 文章编号:1006-8228(2016)07-31-03
DNS attack detection based on clustering algorithm
Li Jian
(Communication University of Shanxi, Jinzhong, Shanxi 030619, China)
Abstract: DNS is the basis of Internet application. In order to ensure the normal parsing information between the hostname and IP address, the DNS using mapping methods. But DNS makes it the primary object of network attack because of its birth defects. In order to study the DNS attack detection methods, the article analyzes the characteristics of DNS attack from networks, proposes to filter the captured data packets, and divide these data into different categories by using K-means methods, and then whether the data is DNS attack is determined by the corresponding algorithm.
Key words: DNS attack; filter; clustering; K-means algorithm
0 引言
DNS实现IP地址与网络域名之间的映射关系,是Internet重要的基础设施,但DNS设计本身没有完善的安全措施,使得其成为主要被攻击对象。2010年1月百度域名NS记录被伊朗网军(Iranian Cyber Army)劫持,持续时间8小时,直接经济损失700万人民币[1]。2013年8月CN域DNS受到DDOS攻击,导致所有CN域名无法解析。2014年1月发生的全国DNS故障是大陆境内遭受最为严重的DNS攻击事件,所有通用顶级域(.com/.net/.org)均遭到DNS污染[2]。
国内外很多学者针对DNS攻击问题曾提出许多解决方案。1997年1月IETF域名安全工作组提出了DNS安全扩展协议[3],以此加强DNS基础设施安全性。Fetzer[4]提出SSL协议改进DNS安全性,但SSL是面向连接的协议,以TCP协议为基础,不适合DNS广泛使用的UDP协议。除了对协议本身研究外,也有研究提出在现有基础上改进安全方案,但大多方式是针对现有技术基础上的服务器软件升级、禁止相关功能等较为被动的方法,对DNS攻击缺乏必要的解决方案,为解决此类问题,需对检测和防御技术作深入研究。
1 DNS攻击原理
DNS作为开放的协议体系,其上数据未加密,也没有足够的信息认证和保护措施,对基础设施和主要设备的攻击未能引起足够重视。DNS系统在给全球用户提供域名解析服务的同时也遭受到来自各方的攻击和安全威胁,主要攻击特征描述如表1所示。
由表1可知,大多针对DNS的攻击都会导致源、目的IP、端口信息等产生异常。因此,可通过分析报头信息来检测其是否受到DNS的攻击,分别选取报文5维属性(源IP,目的IP,源端口,目的端口,报文长度)作为分析数据,一定时间间隔内(如5min)截取相关端口数据包,分别统计各维度数据,并依据统计数据做相关处理和检测,以确定其是否受到DNS攻击。具体异常检测模型流程如图1所示。
具体方法为:在一定时间间隔内(如5min)捕获经过网络端口的数据包并分别统计各维度数据;根据数据可信白名单进行过滤,分离出正常网络流量数据;使用聚类算法对过滤出来的数据进行聚类,将数据分为不同类别;计算各聚类间的偏移程度,并将可疑聚类数据移入观察区做进一步检测确定其是否为DNS攻击,为此提出系统异常评估因子的计算公式,根据系统阀值计算系统异常评估因子,并借此判定是否受到DNS攻击。
2 数据包捕获
捕获全部经DNS服务器发往本机53端口的UDP请求数据包(TCP数据包不在此检测范围),并进行过滤分析。流经DNS域名解析服务器的网络流量大、服务器负载大,捕包技术的选择直接影响数据包捕获效率,甚至可能产生丢包现象,直接影响异常检测效果。因此,高效的捕包技术为后续准确、全面分析数据包提供保障。常用的较为流行的数据包捕获技术有WinPcap技术、零拷贝技术等[5-6]。
WinPcap技术由伯克利分组捕获库派生而得,是在Windows 平台上实现BPF 模型与Libpcap 函数库结合的对底层包的捕获、状态分析的体系结构,此体系结构分别包含核心包过滤驱动程序、底层动态连接库 Packet.dll及相对独立于系统的Libpcap函数库。
零拷贝(True Zero Copy)技术可描述为在某节点的报文收发过程中不出现内存间的拷贝,发送数据时数据包由用户缓冲区经过网络接口直接到达外部网络,接收数据时由网络接口直接将数据包送入用户缓冲区的数据发送模式。
4 结束语
DNS协议设计缺陷与软件漏洞使得对其攻击难度降低,从而使其成为近年来主要网络攻击目标。本文在传统的基于统计的误用检测方法上引入聚类分析的思想,将捕获数据包分为不同的类别,提出异常评估因子计算方法,并以此判定是否受到DNS攻击。该检测方法对判定疑似数据信息是否为DNS攻击有一定效果,但此算法效果在实际应用过程中受到系统参数取值的影响,如ξ、OF(ci)的取值直接影响最终结果。故后续还需在扩大检测范围、升级检测模型方面做深入研究,同时也需在智能检测方面做进一步探索,以期提高检测效果和检测效率。
参考文献(References):
[1] 中关村在线.百度域名劫持案尘埃落定[DB/OL]. http://
digi.tech.qq.com/a/20101208/000768.htm.2010-12-08.
[2] 腾讯科技.全国范围网络故障事件一览:DNS遭多次攻击
[DB/OL].http://tech.qq.com/a/20140121/020779.htm,2014-01-24.
[3] Pappas V, Xu Z. Impact of configuration errors on DNS
robustness. In: Proc. of the ACM SIGCOM,2004:319-330
[4] Fetzer C, Pfeifer G, Jim T. Enhancing DNS Security using
the SSL Trust Infrastructure, In: 10th IEEE International Workshop on Object-oriented Real-time Dependable Systems (WORDS 2005),2005:21-28
[5] 张显,黎文伟.基于多核平台的数据包捕获方法性能评估[J].
计算机应用研究,2011.28(7):2632-2639
[6] 刘小威,陈蜀宇,卢尧等.零拷贝技术在网络分析工具中的应
用[J].计算机系统应用,2012.21(4):169-173