浅谈僵尸网络利器: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. luoguP4213 【模板】杜教筛(Sum)杜教筛

    链接 luogu 思路 为了做hdu来学杜教筛. 杜教筛模板题. 卡常数,我加了register居然跑到不到800ms. 太深了. 代码 // luogu-judger-enable-o2 #incl ...

  2. 后来,我发现,要想用好WIMBuilder2你必须具有以下能力:

    后来,我发现,要想用好WIMBuilder2你必须具有以下能力:1.一定的中文语言阅读能力,两个帖子1500楼层中主要的功能要弄明白,包括wimbuilder2的架构.补丁的制作.2.一定的英文语言阅 ...

  3. [LeetCode] 14. Longest Common Prefix 最长共同前缀

    Write a function to find the longest common prefix string amongst an array of strings. If there is n ...

  4. POI打印Excel

    一.POI概述 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 结构:HSSF - 提供读写Mic ...

  5. vue学习面向对象,在项目中怎么用呢?

    面向对象感觉很牛逼,可是在项目中怎么用呢? 我至今见到的用法,写了一个用户对象. 效果:只要执行了new User(userInfo)就会在cookie,localStorage存放数据. 所以最简单 ...

  6. 【JVM学习】3.深入解析强引用、软引用、弱引用、幻象引用

    来源:公众号:猿人谷 关于强引用.软引用.弱引用.幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用 ...

  7. 详解XOR(异或)运算加密

    逻辑运算之中,除了 AND 和 OR,还有一种 XOR 运算,中文称为"异或运算".它的定义是:两个值相同时,返回false,否则返回true.也就是说,XOR可以用来判断两个值是 ...

  8. centos7.x下环境搭建(一)--yum方式安装mysql5.7

    前两天因为数据库被黑客攻击,导致数据被删除,数据库被损坏,系统重新安装了一下,所以环境也需要重新再搭一遍,包括mysql.nodejs.git.nginx和redis的安装.由于之前安装的mysql安 ...

  9. MAC安装Node.js

    官网下载Node.js Node.js v10.16.3 to /usr/local/bin/node • npm v6.9.0 to /usr/local/bin/npm Make sure tha ...

  10. Kafka学习笔记之Kafka背景及架构介绍

    0x00 概述 本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比.并介绍了Kafka的架构,Producer消息路由,Consumer Group以及由其实现的不 ...