浅谈僵尸网络利器: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技术工作方式。

11.png

图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所示:

22.png

图 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流程

33.png

图 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所示。

44.png

图 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.

*本文原创作者:ArkTeam/JW,本文属FreeBuf原创奖励计划,未经许可禁止转载

本文由 华盟网 作者:AlexFrankly 发表,其版权均为 华盟网 所有,文章内容系作者个人观点,不代表 华盟网 对观点赞同或支持。如需转载,请注明文章来源。

0

相关文章

发表评论

电子邮件地址不会被公开。