一种Domainflux僵尸网络域名检测方法

文档序号:7866089阅读:2033来源:国知局
专利名称:一种Domain flux僵尸网络域名检测方法
技术领域
本检测方法涉及网络安全领域。
背景技术
域名系统(Domain Name System,DNS)作为重要的互联网业务基础设施,主要用于完成从域名到IP地址的翻译转换功能。当前大多数互联网应用在开展具体的业务前,都需要利用域名系统完成从域名到IP地址的寻址转换。作为当前网络上很多恶意活动开展的主体botnet,虽然部分已经采用了新的技术和协议,如p2p,但是大部分的botnet还在利用DNS进行资源获取、控制服务器定位等。为了提高自身的生存能力及达到更好的隐藏和灵活效果,获取更大的利益,这些botnet利用了一些技术,如fast flux和domain flux。近两年,botnet对domain flux的利用呈现快速上升的趋势。ICANN将fast flux描述为快速且持续变换主机的资源记录,导致域名解析出的ip快速改变的行为,而domain flux与fast flux恰好相反,指不停的改变和分配多个域名到一个或多个ip的行为。这两种技术都可用于Botnet的C&C定位方面,最为出名的僵尸网络storm利用的是fast flux方法,根据RSA fraudaction团队发布的报告,rock钓鱼组织也已经在它们的架构中使用了这种技术;而一些botnet如Conf icker、Kraken和Torpig等,则利用domainflux方法生成的域名进行联络和控制。以Conficker为例,其每3个小时生成250个域名,并随机挑选其中的32个获取ip以尝试连接控制端。由于fast flux利用一个域名,botnet在使用时,存在容易单点失效的缺陷,所以很多botnet利用domain flux来弥补这个问题。同时,生成的大量域名可以增加安全分析人员的分析成本,延长分析时间。在相关研究方面,前期fast flux的利用和相关研究比较多,而对domain flux的研究和关注这两年则比较迅速。当前对domain flux的检测,主要集中在对域名字符特征的分析上。由于域名生成算法差异较大,易于修改和替换,其生成的域名字符特征表现也就各不相同,由于当前的检测方法多针对具体的字符特征,所以字符特征的变化可以逃避针对其僵尸网络的检测。相比较于域名字符特征,由于域名访问具有较强的稳定和规律,domain flux域名的使用特征比较稳定,因此针对domain flux生成的域名访问活跃情况,提出一种检测domain flux僵尸网络域名的方法。

发明内容
针对现有domain flux僵尸网络,给出基于子域名活跃特征的域名检测方法。本文提出的检测方法,是基于这样的观察结论botnet在利用domain flux时,其域名在子域名数量、新子域名的出现和子域名活跃方面与合法的域名有着明显的区别。
在基于domian flux的botnet中,每个bot周期性的生成一系列域名用于联络c&c服务器,随着时间的推移,其域名数量不断增多。图I所示为几个此类样本生成的子域
名数量。由于部署的限制,捕获到所有针对某域名的解析请求是非常困难的。但是,即便针对获取的部分请求数据,随时间而增长的子域名数可以作为从大量域名数据中筛选域名的首要过滤条件[2]。对于domain flux生成的大量域名,其有一定的生成算法和组织方式。为了保证各个bot在某段时间能够定位到同一 C&C,其算法经常会 利用如时间、热门话题等作为种子。在域名的组织方面,很多botnet利用多个二级域名(或三级域名)来生成子域名。对于生成的域名,根据需要,将域名映射到一个或多个ip上去;生成的各子域名,除了在域名的词法方面表现一定的特征,如字符分布、字符串长度、所包含点的数量等。除了提高分析的代价、隐藏真正使用的域名达到迷惑的目的外,自动生成的域名主要任务是作为内部联络的途径,其在使用即域名的请求方面,会表现出一些特征,明显区别于合法域名的访问方式。如图2所示,图左边为一非法域名的被请求情况,图右为一合法域名的被请求解析情况。横轴表示时间,纵轴为域名对应的ip,星号表示在某时间此域名ip被客户端请求解析。从图2对比可以看到,合法的域名其访问比较随机,且时间上持续时间较长;而恶意样本利用的域名只在某一短时间内使用。图3为某一恶意域名在一段时间内其子域名的访问情况如图3所示,虽然时间的推移,不断有新的子域名被请求解析,每一子域名的活跃时间不同,且不相交,其活跃时间长度是一致的。可以看到,对于domain flux所生成的每个子域名,由于其使用方面的特点,其活跃时间在整个botnet的存活周期中,只占只是其中的一段。虽然此子域名在后面还能够解析到ip数据,但各bot按照使用约定放弃此子域名。对于各子域名,由于其使用方式是一样的,从总体上看,如果按照二级或三级域名这样的形式对域名进行分组,集合内的各子域名的活跃时间长度应该是保持一致的,即所有子域名的活跃时间长度非常集中。给定一个时间周期T,将时间范围内的域名按照二级或三级域名分组,得到此域名下的各子域名集合D = {si, s2,…,sn},如果sn子域名在Tl时间第一次被请求解析,在T2时间最后一次被请求解析,则此域名的活跃时间是从Tl到T2,活跃时间长度AT = T2-T1,用count (AT)表示长度活跃时间长度为AT的子域名数量,则D的子域名活跃时间长度的数量分布为 {count ( Δ T1), count ( Δ T2), , count ( Δ Tn)}当C0Unt(AT)占总子域名数的比重越大时,这组子域名在活跃时间长度的分布上越集中。用Distribute(D)来代表集合D的活跃时间分布情况,定义
ηDistribute(D) = max(count(ATi)) / ^count (AT1)
/=1当Distribute (D)的值越大,说明子域名的活跃时间长度分布越集中。其中Distribute (D) <=1。在前面的相关研究中,大多方法采用的是通过收集一定的已知数据作为训练集,利用分类算法对未知数据进行分类。这种方法比较成熟和完善,但需要已知数据的支持,且分类的效果受训练数据的影响。本文通过分组域名计算各Distribute (D),观察不同域名的Distribute (D)情况,通过指定Distribute (D)的阀值来过滤输出域名,并利用交叉验证等方式验证相关输出结果。通过多次实验,当阀值大于O. 9,可以较好的过滤出恶意域名。


图I恶意样本生成的子域名数量图2域名活跃情况对比图3某恶意域名子域名访问情况图4部署结构图5检测流程
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明作进一步详细的说明。下面结合图4说明本发明方法。系统流程如图5所示。步骤I :抓取DNS数据。利用的数据来自DNS服务器的流量镜像,针对的是dns客户端所使用的缓存服务器。将镜像的流量引导到采集机的网卡上。步骤2 :在采集机上启动程序,进行数据的抓取;步骤3 :启动解析程序,对抓取到的数据,按照DNS RFC协议进行解析,区分请求和响应数据包。对响应数据,按照资源记录格式,解析出各字段内容。所有解析的内容按照固定的时间间隔保存到文件。假定时间间隔为5分钟,则每5分钟,生成一个文本文件。文本文件以时间命名来区分。·步骤4:启动分析计算程序,读取解析程序在一段时间内的导出文件,假定对一天内的导出文件进行分析。将所有文件内容读入内存,进行分组计算,输出结果到数据库表。步骤5 :按照阀值在数据库表中过滤域名,输出并展示。
权利要求
1.Domain flux僵尸网络域名检测方法,其特征在于,包括 按固定时间间隔记录域名的IP解析内容; 按照二级域名及域名解析ip对域名进行分组; 计算分组的域名访问时间的一致性数值。
2.根据权利要求I所描述的Domainflux僵尸网络域名检测方法,其特征在于,按照以下步骤按固定时间间隔记录域名的IP解析内容 镜像缓存服务器的DNS数据到数据采集机的网卡上,抓取DNS数据。
根据DNS协议解析响应资源记录,将各协议字段内容,按照固定时间间隔保存解析出的资源记录。
3.根据权利要求I所描述的Domainflux僵尸网络域名检测方法,其特征在于,按照如下对域名进行分组 按域名等级进行分组,将同属于一个域名的各子域名划分到一个集合中; 按照域名所解析出的ip进行分组,将解析ip —致的域名划分到一个集合中。
4.根据权利要求I所描述的Domainflux僵尸网络域名检测方法,其特征在于,按照以下步骤计算域名分组的域名访问时间一致性数值 对每一域名,计算域名初次解析记录时间与最后解析记录出现时间差值,作为域名活跃持续时间; 将域名集合得到的所有差值,计算每个差值所占百分比,保留最大百分比数值作为此域名集合的访问时间一致性数值。
5.一种针对僵尸网络域名变换技术进行检测的系统,其特征在于,包括 数据采集引擎,用于采集网口上的DNS原始数据; 数据解析引擎,用于对采集到的DNS原始数据,按照协议规定进行解析,并按需要的格式保存解析出的DNS资源记录内容; 域名过滤及输出引擎,对域名进行分组,并计算域名分组的域名访问时间一致性数值,按阀值要求输出域名列表。
6.根据权利要求5所述的一种针对僵尸网络域名变换技术进行检测的系统,其特征在于,域名过滤及输出引擎包括 域名分组单元,用于对所记录域名按父域名及ip进行分组; 一致性计算单元,计算域名访问一致性信息; 域名过滤单元,按照阀值过滤并输出域名; 展示单元,对输出的域名列表,展示其访问信息访问时间、返回解析内容,次数等。
全文摘要
本发明所述的一种Domain flux僵尸网络域名检测方法,是针对僵尸网络利用domain-flux技术进行定位及隐藏的问题,提出基于域名活动特征的僵尸网络域名检测方法。其方法步骤如下接收并解析DNS响应报文,按固定时间间隔记录域名的IP解析内容;按照二级域名及解析ip对域名进行分组,得到多个域名集合,每集合包含一到多个域名;针对每个集合,计算集合内各域名从最初出现到最后出现的时间间隔,作为域名解析有效持续时间;计算集合内,各持续时间所占总域名的最大比重;根据预先定义阈值,输出使用domain-flux技术的域名列表。
文档编号H04L29/06GK102938769SQ20121047559
公开日2013年2月20日 申请日期2012年11月22日 优先权日2012年11月22日
发明者袁春阳, 杜跃进, 孙波, 许俊峰, 王明华, 李青山, 徐小琳, 何跃鹰, 严寒冰, 王营康, 郑礼雄, 张胜利, 李洪生, 轩志朋, 王永建, 林绅文, 杨鹏, 王进, 张伟, 郭承青 申请人:国家计算机网络与信息安全管理中心, 北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1