僵尸网络原理与检测根据互联网公开资料整理-曾剑平目录一、定义二、网络特点三、出现原因四、发展历程五、工作原理六、网络危害形式七、案例分析僵尸网络定义•中文名称:僵尸网络•英文名称:botnet•定义:通过各种手段在大量计算机中植入特定的恶意程序,使控制者能够通过相对集中的若干计算机直接向大量计算机发送指令的攻击网络。攻击者通常利用这样大规模的僵尸网络实施各种其他攻击活动。僵尸网络主要由攻击者、僵尸主机、命令与控制信道构成。通过命令与控制信道的类型对僵尸网络进行分类:(1)使用中心服务器的僵尸网络,主要有基于IRC的僵尸网络;(2)不使用中心服务器的僵尸网络,主要是基于P2P的僵尸网络。僵尸网络的分类•IRC通信控制方式即攻击者在公共或者私密的IRC聊天服务器中开辟私有聊天频道作为控制频道,僵尸程序在运行时会根据预置的连接认证信息自动寻找和连接这些IRC控制频道,收取频道中的控制信息。攻击者则通过控制频道向所有连接的僵尸程序发送指令。•IRC协议采用C/S模式,用户可以通过客户端连接到IRC服务器,建立、选择并加入感兴趣的频道,每个用户都可以将消息发送给频道内所有其他用户,也可以单独发给某个用户。频道的管理员可以设置频道的属性,例如:设置密码、设置频道为隐藏模式。IRC僵尸网络工作原理,如下图所示。•攻击者首先通过各种传播方式使得目标主机感染僵尸程序。采用不同的方式将僵尸程序植入用户计算机,例如:通过蠕虫进行主动传播、利用系统漏洞直接侵入计算机、通过电子邮件或者即时聊天工具等•当bot在被感染计算机上运行后,以一个随机的匿名和内置密码连接到特定的IRC服务器,并加入指定的频道。攻击者普遍使用动态域名服务将僵尸程序连接的域名映射到他所控制的多台IRC服务器上,从而避免由于单一服务器被摧毁后导致整个僵尸网络瘫痪的情况。•僵尸程序加入到攻击者私有的IRC命令与控制信道中。加入信道的大量僵尸程序监听控制指令。•攻击者随时登陆该频道,并发送认证消息,认证通过后,随即向活跃的僵尸程序(或者暂时非活跃的僵尸程序)发送控制指令。•僵尸程序接受指令,并调用对应模块执行指令,从而完成攻击者的攻击目标。•HTTP协议的命令与控制–由于用IRC方式比较容易被发现,于是出现了另一种方式,就是HTTP基于的连接和共享数据方式。–原理同上,只是把IRC服务器换成了HTTP服务器–僵尸主机通过HTTP协议连接到服务器上,控制者也连接到服务器上发送控制命令。–由于现在网路上有大量的HTTP数据包,所以这种方式不容易被防火墙发现而截获。•P2P通信方式以上两种方式,如果中心服务器被发现而断掉,整个僵尸网络就垮掉了,所以出现了第三种僵尸网络。该类僵尸网络中使用的程序本身包含了P2P的客户端,可以连入采用了Gnutella技术的服务器,利用WASTE文件共享协议进行相互通信。由于这种协议分布式地进行连接,就使得每一个僵尸主机可以很方便地找到其他的僵尸主机并进行通信,而当有一些僵尸主机被发现时,并不会影响到僵尸主机的生存,所以这类的僵尸网络具有不存在单点失效但实现相对复杂的特点。Agobot和Phatbot采用了P2P的方式。僵尸主机僵尸主机僵尸主机僵尸网络攻击者被攻击服务器•p2p僵尸网络没有固定服务器做主机,分散式主机。•P2P僵尸网络或者使用已存在的P2P协议,或者使用自定义的P2P协议。•由于P2P网络本身具有的对等节点特性,在P2P僵尸网络中不存在只充当服务器角色的僵尸网络控制器,而是由僵尸程序同时承担客户端和服务器的双重角色。每个僵尸主机(节点)接受攻击者的命令时扮演的是客户端角色。同时,它把接收到的命令传播到其它节点,这时扮演的是服务端角色。•僵尸主机中又分为两种:一种是有公网IP,另一种没有公网IP。没有公网IP的主机只能做被控主机。僵尸网络特点•首先•是一个可控制的网络,这个网络并不是指物理意义上具有拓扑结构的网络,它具有一定的分布性,随着bot程序的不断传播而不断有新位置的僵尸计算机添加到这个网络中来。•其次•这个网络是采用了一定的恶意传播手段形成的,例如主动漏洞攻击,邮件病毒等各种病毒与蠕虫的传播手段,都可以用来进行Botnet的传播,从这个意义上讲,恶意程序bot也是一种病毒或蠕虫。•最后•也是Botnet的最主要的特点,就是可以一对多地执行相同的恶意行为,比如可以同时对某目标网站进行分布式拒绝服务(DDos)攻击,同时发送大量的垃圾邮件等,而正是这种一对多的控制关系,使得攻击者能够以极低的代价高效地控制大量的资源为其服务,这也是Botnet攻击模式近年来受到黑客青睐的根本原因。在执行恶意行为的时候,Botnet充当了一个攻击平台的角色,这也就使得Botnet不同于简单的病毒和蠕虫,也与通常意义的木马有所不同。僵尸网络出现原因•僵尸网络是互联网上受到黑客集中控制的一群计算机,往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息,譬如银行帐户的密码与社会安全号码等也都可被黑客随意“取用”。因此,不论是对网络安全运行还是用户数据安全的保护来说,僵尸网络都是极具威胁的隐患。僵尸网络的威胁也因此成为目前一个国际上十分关注的问题。然而,发现一个僵尸网络是非常困难的,因为黑客通常远程、隐蔽地控制分散在网络上的“僵尸主机”,这些主机的用户往往并不知情。因此,僵尸网络是目前互联网上黑客最青睐的作案工具。•对网友而言,感染上“僵尸病毒”却十分容易。网络上搔首弄姿的美女、各种各样有趣的小游戏,都在吸引着网友轻轻一点鼠标。但事实上,点击之后毫无动静,原来一切只是骗局,意在诱惑网友下载有问题的软件。一旦这种有毒的软件进入到网友电脑,远端主机就可以发号施令,对电脑进行操控。下载时只用一种杀毒软件查不出来。•专家表示,每周平均新增数十万台任人遥控的僵尸电脑,任凭远端主机指挥,进行各种不法活动。多数时候,僵尸电脑的主人根本不晓得自己已被选中,任人摆布。•僵尸网络之所以出现,在家高速上网越来越普遍也是原因。高速上网可以处理(或制造)更多的流量,但高速上网家庭习惯将电脑长时间开机,唯有电脑开机,远端主机才可以对僵尸电脑发号施令。•网络专家称:“重要的硬件设施虽然非常重视杀毒、防黑客,但网络真正的安全漏洞来自于住家用户,这些个体户欠缺自我保护的知识,让网络充满地雷,进而对其他用户构成威胁。”僵尸网络出现原因僵尸网络发展历程•1993年,首次发现•20世纪90年代末,初步发展•1999年,在第八届DEFCON年会上发布的SubSeven2.1版开始使用IRC协议构建攻击者对僵尸主机的控制信道,也成为第一个真正意义上的bot程序。随后基于IRC协议的bot程序的大量出现,如GTBot、Sdbot等,使得基于IRC协议的Botnet成为主流。•2003年之后,随着蠕虫技术的不断成熟,bot的传播开始使用蠕虫的主动传播技术,从而能够快速构建大规模的Botnet。著名的有2004年爆发的Agobot/Gaobot和rBot/Spybot。同年出现的Phatbot则在Agobot的基础上,开始独立使用P2P结构构建控制信道。僵尸网络工作原理•Botnet的工作过程包括•传播•加入•控制•一个Botnet首先需要的是具有一定规模的被控计算机,而这个规模是逐渐地随着采用某种或某几种传播手段的bot程序的扩散而形成的,在这个传播过程中有如下几种手段:僵尸网络工作原理•(1)主动攻击漏洞。其原理是通过攻击系统所存在的漏洞获得访问权,并在Shellcode执行bot程序注入代码,将被攻击系统感染成为僵尸主机。属于此类的最基本的感染途径是攻击者手动地利用一系列黑客工具和脚本进行攻击,获得权限后下载bot程序执行。攻击者还会将僵尸程序和蠕虫技术进行结合,从而使bot程序能够进行自动传播,著名的bot样本AgoBot,就是实现了将bot程序的自动传播。•(2)邮件病毒。bot程序还会通过发送大量的邮件病毒传播自身,通常表现为在邮件附件中携带僵尸程序以及在邮件内容中包含下载执行bot程序的链接,并通过一系列社会工程学的技巧诱使接收者执行附件或点击链接,或是通过利用邮件客户端的漏洞自动执行,从而使得接收者主机被感染成为僵尸主机。僵尸网络工作原理•(3)即时通信软件。利用即时通信软件向好友列表发送执行僵尸程序的链接,并通过社会工程学技巧诱骗其点击,从而进行感染,如2005年年初爆发的MSN性感鸡(Worm.MSNLoveme)采用的就是这种方式。•(4)恶意网站脚本。攻击者在提供Web服务的网站中在HTML页面上绑定恶意的脚本,当访问者访问这些网站时就会执行恶意脚本,使得bot程序下载到主机上,并被自动执行。•(5)特洛伊木马。伪装成有用的软件,在网站、FTP服务器、P2P网络中提供,诱骗用户下载并执行。通过以上几种传播手段可以看出,在Botnet的形成中传播方式与蠕虫和病毒以及功能复杂的间谍软件很相近。僵尸网络危害形式•拒绝服务攻击•使用Botnet发动DDos攻击是当前最主要的威胁之一,攻击者可以向自己控制的所有bots发送指令,让它们在特定的时间同时开始连续访问特定的网络目标,从而达到DDos的目的。由于Botnet可以形成庞大规模,而且利用其进行DDos攻击可以做到更好地同步,所以在发布控制指令时,能够使得DDos的危害更大,防范更难。•发送垃圾邮件(spam)•一些bots会设立sockv4、v5代理,这样就可以利用Botnet发送大量的垃圾邮件,而且发送者可以很好地隐藏自身的IP信息。•窃取秘密•Botnet的控制者可以从僵尸主机中窃取用户的各种敏感信息和其他秘密,例如个人帐号、机密数据等。同时bot程序能够使用sniffer观测感兴趣的网络数据,从而获得网络流量中的秘密。•滥用资源•攻击者利用Botnet从事各种需要耗费网络资源的活动,从而使用户的网络性能受到影响,甚至带来经济损失。例如:种植广告软件,点击指定的网站;利用僵尸主机的资源存储大型数据和违法数据等,利用僵尸主机搭建假冒的银行网站从事网络钓鱼的非法活动。众多的计算机在不知不觉中如同中国古老传说中的僵尸群一样被人驱赶和指挥着,成为被人利用的一种工具。僵尸网络案例分析一、全球最大垃圾邮件源头Rustock僵尸网络被关闭二、河北黑客操控六万台电脑制造僵尸网络攻击案全球最大垃圾邮件源头Rustock•Rustock僵尸网络是由一群受到病毒感染的电脑组成的国际网络,多年来它每天要发送几十亿个垃圾电子邮件,在网上推销未经当局许可的配方和廉价壮阳药。河北黑客操控六万台电脑制造僵尸网络•■警方锁定神秘黑客•公安部经侦查发现,在我国互联网上有超过6万台的电脑,受到一神秘黑客编译的一种名为IPXSRV的后门程序的控制,组成了一个庞大的“僵尸网络”。而神秘黑客则通过操纵这个控制有6万余台电脑的“僵尸网络”,对北京那家网站进行“拒绝服务”攻击,让6万余台电脑同时登录该网站,造成网络堵塞,让其他客户无法访问该网站。•如此大规模的“僵尸网络”攻击案在我国尚属首例。•今年1月10日,公安部专家来到唐山,直接督导侦破工作,最终查到唐山黑客的主机位置,并确定主机所有人是唐山某企业职工徐某。通过高科技手段分析数据,警方进一步确认徐某就是他们要找的神秘黑客,并于当日下午1时许,将其在家中擒获。•■唐山黑客仅是个技校毕业生•徐某今年27岁,唐山市路北区人,某企业职工。•据徐某自述,其文化程度并不高,仅是个技校毕业生,而且所学专业还是车工。最初接触电脑是在1995年,他受一位小学同学影响,开始自学计算机知识,并很快成了一个电脑痴迷者,主攻计算机程序编译。•检测方法关键字检测方法为了确定实验中所需的关键字,使用wireshark抓包分析,依次测试正常IRC及各种IRCbot的通信,通过对其通信的解析和对比,找出IRCbot的可疑之处及可以充当关键字的Bot特征字。关键字归纳如下表所示。关键字检测方法-关键字确定关键字类型实例IRC通话确定命令nick,pass,user,privmsg,joi