基于DNS数据流的Fast—flux僵尸网络检测系统设计与研究
摘要 挖掘在DNS数据流中的Fast-Flux僵尸网络的行为特征,并对用户的通信行为进行聚类分析,可以准确区分正常Fast-Flux域名服务与非法Fast-Flux域名服务,从而实现对Fast-Flux僵尸网络的检测。本文解析了DNS数据流中Fast-Flux僵尸网络的行为特征,从业务及功能方面分析了系统需求,并就系统的实现进行了设计说明。
关键词 Fast-Flux僵尸网络检测;网络安全 ;特征分析;系统设计
1 概述
随着僵尸网络检测技术的不断增强,恶意攻击者在僵尸网络健壮性、可持续性、规避检测性及恢复性等方面加大了技术投入。其中,基于Fast-Flux技术的僵尸网络,具有较强隐蔽性、可持续性等特点,被恶意攻击者广泛使用。
在正常的DNS服务中,Fast-Flux技术是一种不断改变域名和IP地址映射关系的技术,主要用于实现流量的负载均衡和降低DNS服务的故障影响。但同时,Fast-Flux技术也被恶意攻击者应用于僵尸网络中,通过单一域名与多个IP(代理节点的IP)相互切换,来提高整个僵尸网络的
隐蔽性。
在传统的基于IRC服务器的僵尸网络中,只要检测出中央IRC服务器就能够消除整个僵尸网络,但在一个使用了Fast-Flux技术的僵尸网络中,代理主机Agent数量庞大,并且分布广泛,加大了僵尸网络的检测及消除难度。
目前,对于Fast-Flux僵尸网络的检测主要以下几种[1]:①基于典型的Netflow数据进行检测;②利用HTTP和IRC的C&C 流量分析进行检测;③基于IRC协议特征进行检测,例如流量监控、使用IRC协议的C&C服务器识别等。
本文中的Fast-Flux僵尸网络的检测系统主要是挖掘在DNS数据流中的Fast-Flux僵尸网络的行为特征,例如,具有TTL值小,同域名解析出的IP地址数量多、网段跨度大、组织分布广等。并对用户的通信行为进行聚类分析,准确区分正常Fast-Flux域名服务与非法Fast-Flux域名服务,从而实现对Fast-Flux僵尸网络的检测[2]。
2 Fast-flux僵尸網络的研究及特征分析
2.1 基于Fast-Flux的僵尸网络概述
Fast-flux技术是一种不断改变域名和IP映射关系的技术,用户在一段时间内访问同一域名,但返回的结果却不同。Fast-Flux技术在僵尸网络中,通过单一域名与多个IP(代理节点的IP)相互切换,来掩藏C&C服务器的真实IP,真正的C&C服务器在Fast-Flux中被称为Morher-ship,代理节点也就是僵尸网络中的“肉鸡”被称为Agent。下图为Fast-Flux僵尸网络的工作原理。
客户端向DNS服务器发送域名请求(www.botnet);域名服务器返回Agent-A的IP地址,且TTL值很小;客户端访问Agent-A,获取相关内容(如config.php);Agent-A收到请求后,向Mother-ship发送内容求情;Mother-ship将响应信息转发给控制者;控制者响应请求向Mother-ship发布命令或是文件资源;Mother-ship向Agent-A返回结果;Agent-A向客户端回复请求,并发送相关内容(如config.php);客户端再次访问www.botnet时,由于TTL很小,本地缓存失效,再次向DNS服务器发送域名请求(www.botnet);域名服务器返回Agent-B的IP地址,且TTL值很小……依次循环[3]。
2.2 Fast-Flux僵尸网络的特征分析和提取
通过Fast-Flux僵尸网络的工程流程以及行为特征,本文提取了以下特征并进行了分析。
(1)TTL特征
在Fast-Flux僵尸网络中,为了能够频繁更换域名的解析地址,域名服务器返回很小的TTL值,这样在客户端访问同一域名时,本地缓存失效,客户端便向域名服务器重新发送请求。然而Fast-Flux作为一项成熟的技术,也在正常域名服务中也得到了很好的应用,所以很多正常域名的TTL值也很小。
(2)同域名解析的IP个数特征
Fast-Flux技术的特点是单一域名对应多个解析IP地址,正常的域名服务中,域名服务器的数量基本是不变的,由此可知,正常域名的解析出来的是单一地址或是一组比较稳定的IP地址池。在Fast-Flux僵尸网络,为了隐蔽真实的恶意域名服务器的IP地址,代理主机(Agent)每隔一段时间就会更新,而每台代理主机(Agent)的稳定在线时间以及运行状态并不受Fast-Flux僵尸网络的控制。所以,为了保持网络的稳定性和持续性,Fast-Flux僵尸网络将会持续增加代理主机(Agent)的数量,而相对的域名解析得到的IP地址将越来越多,数量远远超过正常域名解析的IP地址数量。
(3)域名解析的IP网段分布特征
在Fast-Flux僵尸网络中,由代理服务器(Agent)充当真实恶意域名服务器,而代理服务器(Agent)本身为僵尸网络控制的僵尸主机,控制者并无法控制其范围,所以僵尸网络解析出的IP地址一般都在不同网段,而Fast-Flux僵尸网络组网越大,其IP的范围也就越广,且跨度越大。相比之下,一般的正常域名解析出的IP地址,都是同一网段的地址,或是极少数几个网段的IP地址。
(4)IP地址分布较广的特征
由上述几条特征可继续推断,代理服务器的地域分布较广,包括国家分布、组织分布、地域分布等。代理服务器的AS号(ASN)分布较广。对于正常域名服务来说,IP地址基本分布在同一自治域中。此特征可用来区别正常的Fast-Flux服务和Fast-Flux僵尸网络[4]。综上所述,对特征进行提取并形成集合,表达式为:
3 基于Fast-fux的僵尸网络检测系统需求分析
3.1 系统业务需求分析
本系统通过对DNS数据流的挖掘,对用户全程访问行为进行分析,提取DNS流中的Fast-Flux
僵尸网络的特征,进行聚类分析,检测僵尸网络拓扑、僵尸主机、活跃代理服务器等。
系统拓扑图如下:
由图可知,本系统包括了数据处理服务器、交换机、训练SVM服务器以及存储盘阵。数据处理服务器采集中心DNS系统数据库数据,并进行初步过滤,得出的可疑流量形成表项存入存储盘阵中;数据分析可按步骤分为两个部分,第一部分数据预处理部分,对域名和IP进行初步过滤等操作;第二部分为训练SVM分类器,对可以域名进行分类,并且形成域名和IP的对应关系;将确定的恶意域名、感染主机等存入存储盘阵中,用户通过Web服务器进行查询。
3.2 系统功能需求分析
系统能够对DNS解析域名进行筛选过滤,形成可进行分析的基础数据,对基础数据进行分析,并将结果保存至Mysql数据库,供web端查询使用。被检测出的Fast-Flux僵尸网络会通过Wed端进行展示,用户可通过Wed端查看整个僵尸网络的架构以及查询可疑感染主机、活跃代理等内容。本系统应包括以下几个方面的基本功能:
(1)恶意域名检测功能
对感染主机频繁访问的域名进行查询,通过初步过滤以及阈值、白名单等过滤手段筛选出可疑恶意域名,与Fast-Flux僵尸网络特征匹配分析后,确定恶意域名。可对恶意域名进行查询检索。
(2)感染主机检测功能。
本功能包括分为两个部分:感染主机检测以及代理主机(Agent)检测。
感染主机是指频繁向DNS服务器发送恶意域名请求,并与代理主机进行数据通信的主机。通过恶意域名访问代理主机(Agent)的主机。通过对DNS服务器中的报文进行采集,对感染主机访问行为特征进行分析,从而确定是否为感染的感染主机。
代理主机(Agent)是指接收和转发C&C服务器指令,在域名服务器上对恶意域名解析的主机。在确定僵尸网络以及恶意域名后,可形成可疑域名对应的一组IP列表。对IP列表的主机进行检测。
(3)僵尸网络拓扑呈现功能
本功能主要对恶意域名存在的僵尸网络进行拓扑生成,主要有感染主机、恶意域名服务器、代理主机(Agent)池等元素组成。
(4)数据存储及查询的功能
数据存储指的是,数据以表项的形式存储在Mysql数据库中,盘阵存储两部分内容,前一部分是由服务器初步过滤的表象,数据查询主要是指用户根据需求从数据库中查询相关数据,查询界面采用。
(5)系统展示功能
主要功能是调用数据库中的数据完成对Fast-Flux僵尸网络检测系统的演示,系统界面具有一定的交互功能。
4 基于DNS数据流的Fast-flux僵尸网络检测系统的研究及实现
本系统可分为数据处理模块、线性SVM模块以及数据存储模块、系统演示模块组成。下图为系统模块逻辑图。
4.1 数据过滤模块
(1)数据接入单元
数据接入单元主要是从DNS系统数据库中获取数据,以单位时间⊿T为单位进行数据采集。
(2)数据预处理单元
由于从数据库中拿到的数据为全DNS数据,所以为了减少系统的处理负担,对该数据进行初步过滤。主要通过两个方面:1、通过建立白名单对流量进行过滤,白名单主要采用我省各运营企业侧建立的白名单数据库的数据;2、由于Fast-Flux网络中TTL值一般都很小,例如www.sohu等大的网络服务商,而相对一些政府网站等本地服务商的TTL值一般都很大,所以利用这一点可以对流量做进一步过滤。
过滤规则F可表示为在单位时间⊿T内,过滤掉请求域名属于白名单或是TTL值大于600S的数据流。
表达式为:F=(D∈S白名单;TTL>600S);
(3)特征提取集合单元
本单元主要任务是将过滤后的数据流形成可疑Fast-Flux域名列表L,然后存入数据库盘阵中。可疑Fast-Flux域名列表L主要包括:感染主机IP(源IP)、请求域名、单位时间web服务器域名是什么⊿T内RR的TTL最大值、单位时间⊿T访问同一域名返回的不同解析IP地址列表。
4.2 分析處理模块
分析处理模块分为两部分:在线SVM线性分类器单元和离线聚类分析单元。
进过特征提取集合单元的特征提取及分类,以单位时间⊿T的可疑Fast-Flux域名列表L集合组成在线SVM线性分类器的训练集。在线SVM线性分类器单元对训练集进行线性分类,区分Fast-Flux僵尸网络和非Fast-Flux僵尸网络,并将结果存入数据库A中;离线聚合分析单元,对数据库A中的数据,进行长时间的聚类分析。聚类同一僵尸网络的不同恶意域名。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论