浅谈僵尸网络利器:Fast-flux技术

 

一、背景

在早期的僵尸网络中,控制者通常会把C&C服务器的域名或者IP地址硬编码到恶意程序中,僵尸主机通过这些信息定时访问C&C主机获取命令。但同时安全人员也能够通过逆向恶意程序,得到C&C服务器的域名或者IP,利用这些信息定位C&C主机,安全人员就可以隔断C&C主机从而破坏僵尸网络。不少控制者为了保护C&C主机,使用Fast-flux技术来提高C&C服务器的健壮性。

二、基本概念

在正常的DNS服务器中,用户对同一个域名做DNS查询,在较长的一段时间内,无论查询多少次返回的结果基本上是不会改变的。Fast-flux技术是指不断改变域名和IP地址映射关系的一种技术,也就是说在短时间内查询使用Fast-flux技术部署的域名,会得到不同的结果。图2-1为Fast-flux技术工作方式。

图2-1 客户端访问Fast-flux网络流程

客户端两次访问www.example.com的过程如下:

1) 为了得到网站www.example.com的IP地址,客户端发起DNS查询。

2) 随后DNS服务器返回了一个IP地址1.2.3.4,同时TTL为一个很小的数值。

3) 客户端访问IP为1.2.3.4的服务器获取内容。

4) IP为1.2.3.4的服务器响应请求,返回相应内容。

5) 客户端再次访问www.example.com,由于TTL过小,本地缓存的DNS记录失效,客户端需要再次向DNS服务器获取新的IP地址。

6) 此次DNS服务器返回了IP 4.3.2.1,这次的TTL仍然很小。

7) 客户端访问IP为4.3.2.1的服务器获取内容。

8) IP为4.3.2.1的服务器响应请求,返回相应内容。

客户端在短时间内多次访问www.example.com网站时,虽然域名相同,但是实际访问的服务器主机是不同的,这就是Fast-flux网络的工作过程。

三、Fast-flux技术在僵尸网络中的具体使用方式

在僵尸网络中,Fast-flux从技术上可分为两类:Single-Flux 和Double-Flux

Single-Flux:

Single-Flux模式是指只有一层的变化的Fast-flux。在Single-Flux中,一个域名拥有一个不断变化的IP地址列表,这个列表可能会有几百到上千条。为了实现频繁的变化IP地址,控制者提供最底层域名服务器,这个服务器会返回频繁变化的C&C服务器IP地址。如果在别人提供的域名服务器中频繁更改域名的IP地址列表,容易被管理者检测出来,导致僵尸网络暴露。Single-Flux的工作步骤流程如图3-1所示:

图 3-1 Single-Flux流程图

Double-Flux:

Double-Flux网络跟名字中的意思一样,比Single-Flux多一层变化。在Double-Flux中,控制者会部署多个解析C&C服务器域名的底层域名服务器,并不断修改顶级域名服务器中,对应的底层域名服务器的IP地址,这样每次解析C&C服务器域名的底层域名服务器也会变化。由于顶级域名服务器不是控制者所有,为了避免僵尸网络暴露,域名服务器IP地址修改的频率比C&C服务器IP的修改频率低很多。图3-2为Double-Flux流程

图 3-2 Double-Flux流程图

Fast-flux僵尸网络有着大量的C&C主机,且大部分C&C主机不是控制者所有的,而是控制者控制的僵尸主机,控制者如果想要发布命令给所有C&C主机会非常困难。所以在真正的Fast-flux僵尸网络中,真正保存有控制命令的C&C主机很少(通常称为Mothership),其他的C&C主机都是假的C&C主机,只提供命令转发和跳板的功能。一个完整的Fast-flux网络如图3-3所示。

图 3-3 Fast-flux僵尸网络

1-2)被控主机向顶级DNS服务器发送请求,询问僵尸网络的DNS服务器地址。

3-4)被控主机向僵尸网络的DNS服务器发送请求,询问C&C跳板域名的当前IP地址。

5-6)被控主机访问IP为1.2.3.4的主机获取控制命令,但这个主机不会提供任何实质性的控制命令,它是充当一个代理或者跳板的角色。它将被控主机的请求转交给母体(Mothership)(真正的C&C主机)去处理。

7-8)母体取出控制者最新发布的命令,返回给1.2.3.4主机,1.2.3.4主机再将结果返回转交给被控主机。

四、Fast-flux僵尸网络的优点

Fast-flux技术在僵尸网络中存在三个明显的优势:

第一,Fast-flux技术在合法的和非法的犯罪运营中都存在,检测困难。Fast-flux技术在合法的运营中扮演调节服务器压力的角色,是每个网站都必备的功能。

第二,对于犯罪运营中,仅仅需要少量的高性能母体(mothership)主机,用于提供C&C服务。而僵尸主机的数据请求连接的是Fast-flux网络,隐藏了实际的犯罪证据。在安全人员追踪僵尸网络时,通常只能最终到Fast-flux中的部分节点,在这些节点中没有真正的控制命令,这使得对网络犯罪的调查变得更加困难。

第三,Fast-flux延长了母体C&C服务器的生命期,由于多层的跳板,使得安全人员需要更长的时间用于识别和关闭C&C服务器。

五、Fast-flux僵尸网络的检测

安全人员对Fast-flux僵尸网络检测取决于对DNS查询结果的多次分析,需要通过算法评分机制来评估DNS记录,分析每个DNS查询返回的IP情况,A地址,NS资源数等相关信息来检测,这些分析方法工作量巨大,且准确率不高。

六、总结

Fast-flux已经成为一种隐藏C&C服务器以及延长僵尸网络生命周期的必备技术,借助该技术,僵尸网络的控制者们向互联网安全发起了新一轮的挑战。

七、参考文献

[1] https://en.wikipedia.org/wiki/Fast_flux

[2] http://www.honeynet.org/node/144

[3] http://safe.zol.com.cn/411/4112749_all.html

[4] 靳冲. Fast-Flux网络检测与分析技术研究[D]. 中国科学院研究生院 中国科学院大学, 2011.

[5] 李晓茹.速变网络的自动化智能检测方法[J].内江师范学院学报,2013,(12):12-14.

[6] 汪洋.Fast-flux服务网络检测方法研究[D].导师:李芝棠.华中科技大学,2009.

浅谈僵尸网络利器:Fast-flux技术的更多相关文章

  1. Fast Flux技术——本质就是跳板,控制多个机器,同一域名指向极多的IP(TTL修改为0),以逃避追踪

    转自:http://ytuwlg.iteye.com/blog/355718 通过病毒邮件和欺诈网站学到的对付网络封锁的好东西:Fast Flux技术 收到一封邮件,引起我的好奇了: 邮件标题是:Ha ...

  2. 浅谈linux IO csy 360技术 2021-01-18

    浅谈linux IO csy 360技术 2021-01-18

  3. 浅谈iOS需要掌握的技术点

    鉴于很多人的简历中的技术点体现(很多朋友问我iOS需要知道注意哪些)! 技术点: 1.热更新 (及时解决线上问题) 2.runtime(json解析.数据越界.扩大button点击事件.拦截系统方法) ...

  4. 浅谈WLAN干扰与抗干扰技术

    一. 无线干扰的分类和来源 无线干扰按照类型可划分为WLAN干扰和非WLAN干扰.WLAN干扰是指干扰源发送的RF信号也符合802.11标准,除此之外都是非WLAN干扰.对WLAN干扰,可进一步按照频 ...

  5. 陆教授浅谈5G毫米波手机天线技术的发展现状和未来的应用场景

    近日,香港城大电子工程学系讲座教授陆贵文教授荣获英国皇家工程院院士荣衔,以表彰他在推动天线研究的卓越贡献.他研发的天线由L形探针馈电微带天线.磁电耦极天线,以至5G毫米波手机天线等技术,均在天线领域影 ...

  6. 【转】浅谈分布式服务协调技术 Zookeeper

    非常好介绍Zookeeper的文章, Google的三篇论文影响了很多很多人,也影响了很多很多系统.这三篇论文一直是分布式领域传阅的经典.根据MapReduce,于是我们有了Hadoop:根据GFS, ...

  7. 浅谈分布式消息技术 Kafka(转)

    一只神秘的程序猿. Kafka的基本介绍 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可 ...

  8. 浅谈分布式消息技术 Kafka

    Kafka的基本介绍Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/ngin ...

  9. 搞懂分布式技术21:浅谈分布式消息技术 Kafka

    搞懂分布式技术21:浅谈分布式消息技术 Kafka 浅谈分布式消息技术 Kafka 本文主要介绍了这几部分内容: 1基本介绍和架构概览 2kafka事务传输的特点 3kafka的消息存储格式:topi ...

随机推荐

  1. 前端Vue项目——初始化及导航栏

    一.项目初始化 创建webpack模板项目如下所示: MacBook-Pro:PycharmProjects hqs$ vue init webpack luffy_project ? Project ...

  2. [LeetCode] 286. Walls and Gates 墙和门

    You are given a m x n 2D grid initialized with these three possible values. -1 - A wall or an obstac ...

  3. [LeetCode] 104. Maximum Depth of Binary Tree 二叉树的最大深度

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

  4. markdown语法--基础

    记录一些 MarkDown 基础语法.以便记忆深刻,随用随拿. Markdown 是一种纯文本的标记语言,它可以通过一定的语法标记,使普通的文本具有一定的格式. 1.标题 Markdown 中标题的写 ...

  5. 应用层协议:HTTP

    1. HTTP定义 HyperText Transfer Protocol,超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络 ...

  6. 用SQL语句去掉重复的记录

    删除手机(mobilePhone),电话(officePhone),邮件(email)同时都相同的数据 1.delete from 表 where id not in (select max(id) ...

  7. python 属性描述符

    import numbers class IntField: # 一个类只要实现了这个魔法函数,那么它就是属性描述符 #数据描述符 def __get__(self, instance, owner) ...

  8. [转] linux 查找文本过滤grep正则表达式命令详解用法

    grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用 ...

  9. ASP.NET MVC自定义Module记录管道事件执行顺序

    1. 在Visual Studio 新建项目,模板为空,下面结构选择MVC. 2. 在项目中新建一个类MyModule,实现IHttpModule接口 namespace SimpleApp.Infr ...

  10. PIESDKDoNet二次开发配置注意事项

    在安装完PIESDK进行二次开发的过程中会遇到下面几种常见的开发配置问题,就写一个文档总结一下. 1.    新建项目无PIESDK模板问题 关于新建项目时候,找不到下图中的PIEMainApplic ...