僵尸网络的研究毕业论文.doc
安徽职业技术学院 毕 业 论 文课题名称: 僵尸网络的研究 学生姓名: 吴成林 学 号 : 2009238182 专 业: 网络系统管理 班 级: 网管921 指导教师: 孙玉 2012年2 月摘要僵尸网络是由被僵尸程序感染的网络上计算机组成的可相互通信、可被控制的网络,是一种新型的网络攻击形式,对网络安全构成了很大危害,也为网络战提供了一种新的进攻手段。介绍了僵尸网络的概念和演化过程,深入剖析了僵尸网络的功能结构和工作机制,讨论了僵尸网络的传播模型,提出讨论了僵尸网络的检测和反制方法,对僵尸网络的发展趋势和军事上的应用作了展望。目前僵尸程序的检测主要有基于行为特征的检测技术和基于流量特征的检测技术。基于行为特征的检测技术能够比较精确的检测僵尸程序的活动,但是处理数据的能力有限;而基于流量特征的检测技术能够处理较大规模的数据量,但是存在较大的误报。基于网络僵尸程序检测方法能够较好的结合这两种检测技术的优点,有效地检测在较大背景流量中活动的僵尸程序。由于目前在僵尸程序代码的设计上存在结构化的特性,同一个僵尸网络内的僵尸主机行为和消息在时间和空间上都表现出了极大的关联性和相似性。分析了僵尸程序的流特征,根据实验结果,设计出了基于轻量级有效载荷协议匹配算法。然后利用序列假设检验算法对僵尸程序的网络活动进行动态的判定。关键词:僵尸程序,网络行为,网络安全,僵尸网络恶意代码,网络战。 AbstractA botnet is the program on the web infection zombie computer can be composed of communication, can be control network, is a new type of network attack form of network security constitutes the very great harm, but also for WangLaoZhan provides a new offensive means. Introduces the concept of the botnet and evolution process, this paper explores the botnet function structure and work mechanism, and discusses the spread the botnet model, discussed the botnet detection and counterspell method, the development trend of botnetsPotential and military application are discussed.At present the main testing program zombie based on behavior characteristics of the testing technology based on the characteristics of the flow and testing technology. Based on behavior characteristics of the testing technology can be more precise detection of zombie program activities, but limited ability to deal with data; Based on the characteristics of the flow and testing technology to be able to deal with a large amount of data, but there is large misstatement. Based on network zombie program to better detection method combining the two kinds of testing technology advantages, detect in the big background traffic zombie program activities.Because the present in the zombie program code on the design of the characteristics of the existing structured, within the same botnet bots behavior and the news in time and space showed a lot of connections and similarity. Analysis of the zombie program flow characteristics, according to the experimental results, the design based on lightweight payload agreement matching algorithms. And then the sequence of hypothesis test algorithm of zombie program for dynamic network activity of the judgment.Keywords: zombie procedures, network behavior, network security, botnet malicious code.目 录选题背景- 4 -一、绪论- 5 -二、僵尸网络的演化过程和工作机制- 6 -1、僵尸网络的演化- 6 -2、僵尸网络的工作机制- 7 -2.1、僵尸网络的工作模型- 7 -2.1.1、僵尸网络的传播- 7 -2.1.2、僵尸网络的加入- 8 -2.1.2、僵尸网络的控制- 9 -2.3、僵尸网络的功能结构- 9 -三、僵尸网络的检测和反制- 10 -1、僵尸网络的检测- 10 -2、僵尸程序检测技术- 12 -3、僵尸网络的反制- 13 -四、致谢- 14 -参考文献- 15 -选题背景: 近年来,随着Intemet在全球的迅速发展,其技术已广泛渗透到各个领域。由Intemet发展所带来的网络系统的安全问题受到越来越多的关注。在信息战中,计算机网络战的强大威慑力集中体现在对信息化社会具有巨大的破坏作用上,它将是一种对社会破坏潜力最大、技术手段最新、发展最快的形式。世界各主要国家和地区都把发展信息战能力作为国家安全战略和军事战略的重点,特别是重点开发计算机网络攻防武器和手段。僵尸网络是一种具有很大作战效能的进攻手段。僵尸网络不同于以往简单的安全事件,它相当于一个高效、隐蔽的攻击平台。利用该平台,攻击者能够发起各种各样的破坏行为,由于平台的搭建使得这些破坏行为产生聚合,造成比传统破坏行为更大的危害,并且使得攻击的防范难度增大。僵尸网络将攻击源从一个转化为多个,乃至一个庞大的网络体系,攻击者通过网络来控制受感染的系统,同时不同地造成网络危害,如更快地传播蠕虫、短时间内窃取大量敏感信息、抢占系统资源进行非法目的牟利、发起大范围的分布式拒绝服务攻击等,受控网络的存在,给危害追踪和损失抑制带来巨大的麻烦,这也是僵尸网络迅速发展的原因。一 绪论 僵尸网络(botnet)是被攻击者远程控制的、而其用户尚无感知的一群计算机。攻击者通常利用僵尸网络发起各种恶意行为,比如对任何指定主机发起分布式拒绝服务攻击(DDoS)1、发送垃圾邮件(Spam)2、获取机密、滥用资源等。传统的恶意代码有后门工具(如 rootkit)3,网络蠕虫(Worm)4和特洛伊木马(Trojan horse)5等,僵尸网络来源于传统恶意代码但是又高于传统恶意代码。僵尸网络的发展一般经历传播、加入和控制三个阶段,通过这三个阶段,僵尸程序会根据中心服务器的控制命令下载、更新僵尸样本。正因为僵尸网络能随时更新样本,使得僵尸程序能够保持良好的健壮性。僵尸网络中心服务器通过命令与控制通道对网络内的僵尸主机进行控制,僵尸程序分类方法比较多样,但是一般以命令与控制机制作为分类标准。当前,僵尸网络的命令与控制机制主要有 3 种:基于 IRC 协议的命令与控制机制、基于 HTTP 协议的命令与控制机制和基于 P2P 协议的命令与控制机制。基于 IRC 和基于 HTTP 的命令与控制机制是C/S模式,存在一个集中控制服务器,并通过该服务器向网络内的各僵尸主机发送命令;基于P2P协议的命令与控制机制采用的是点到点的对等模式,网络内的各僵尸主机均可以作为僵尸网络的中心服务器。二、僵尸网络的演化过程和工作机制1、僵尸网络的演化Bot是秘密运行在被控制计算机中、可以接收预定义的命令和执行预定义的功能,具有一定人工智能的程序。Bot的本质就是一个网络客户端,它会主动连接到服务器读取控制指令,按照指令执行相应的代码。僵尸网络是随着自动智能程序的应用而逐渐发展起来的。1993年,在IRC聊天网络中出现了第一个bot程序一Eggdrop,能够智能地协助管理员完成一些重复工作,这种hot的功能是良性的,但这个设计思路被黑客利用。他们编写出了恶意的hot程序,对大量的受害主机进行控制,利用其资源以达到恶意目的。20世纪90年代末,随着分布式拒绝服务攻击的成熟,出现了大量分布式拒绝服务攻击工具如dn、tfn2k和trinoo,攻击者利用这些工具控制大量的被感染主机,发动分布式拒绝服务攻击。而这些被控主机从一定意义上来说已经具有bomet的雏形。1999年,在第八届defcon年会上发布的subseven 21版开始使用IRC协议构建攻击者对僵尸主机的控制信道,这是第一个真正意义上的僵尸程序。随后基于IRC协议的bot程序的大量出现,如gtbot、sdbot等,基于IRC协议的botnet成为主流。2003年之后,随着蠕虫技术的不断成熟,hot的传播开始使用蠕虫的主动传播技术,从而能够快速构建大规模的botnet。著名的有2004年爆发的agobotgaobot和rbotspybot。同年出现的phatbot则在agobot的基础上,开始独立使用P2P协议构建控制信道以及2004年5月出现的基于H1阿P协议构建控制信道的Bobax。从良性hot的出现到恶意bot的实现,从被动传播到利用蠕虫技术主动传播,从使用简单的IRC协议构成控制信道到构建复杂多变P2P结构的控制模式,僵尸网络逐渐发展成规模庞大、功能多样、不易检测的恶意网络。地下经济与僵尸网络的发展 同任何由金钱驱动的市场一样,僵尸网络开发者就像经营一个合法的生意那样工作:他们利用合作、贸易和开发流程以及质量等好处。最近,僵尸网络已经开始使用生命周期管理工具、面向对象和模块化等通用的软件质量做法。僵尸网络开发者正在销售其软件和感染载体,提供说明书和技术支持,并且收集用户的反馈意见和要求。在僵尸网络团体中,一致的经济目标是推动技术。在线易货贸易和市场网站已经开始为这种地下经济团体服务,向僵尸牧人提供更好的易货贸易和交易方式、在线技术支持以及租借和租赁等服务。这里可以销售和购买僵尸网络节点或者僵尸网络群。僵尸牧人在对一个实体展开攻击的时候会在这里寻求合作。窃取的身份证和账户可以在这个地下市场的参与者之间交换和出售。2、僵尸网络的工作机制 2.1僵尸网络的工作模型 僵尸网络的工作模型包括传播、加入和控制三个阶段:僵尸网络的工作模型包括传播、加入和控制三个阶段:2.1.1 僵尸网络的传播僵尸网络首先需要一定规模被控制的僵尸主机,为了提高僵尸网络的规模,僵尸程序通常会采用各种方法进行传播。僵尸程序的传播方式与蠕虫、病毒等恶意代码很相近,主要采取以下几种:(1)主动攻击其原理是通过攻击系统所存在的漏洞获得访问权,并利用Shellcode执行bot程序注入代码,感染被攻击系统,使之变成僵尸主机,成为僵尸网络的一部分。这类攻击方式描述如下:首先,黑客进行手动攻击,获取主机权限后下载 bot 程序,然后执行下载的 bot 程序,这类工具有 metasploit16等,原理就是利用扫描器找出网段中有漏洞的机器,然后通过缓冲区溢出,获取主机的控制权限。僵尸网络主动攻击漏洞的全过程:第一步Tenable Nessus 3扫描目标 IP 段,获取主机(如 172.17.255.5 )的漏洞信息,根据扫描报告信息,拟采用 MS06-040。第二步use windows/smb/ms06_040_netapi /*利用 ms06_040_netapi 漏洞*/第三部set PAYLOAD windows/shell/reverse_tcp /*设定对应的 PAYLOAD*/第四步set RHOST 172.17.255.5 /*设定远程主机 IP*/第五步 set LHOST 172.17.255.11/*设定本地主机 IP*/第六步 exploit /*溢出,溢出成功*/首先,利用Tenable Nessus 3扫描漏洞,然后利用扫描到的漏洞,设定对应的PAYLOAD,远程 IP 和本地 IP,最后溢出成功,获得目标主机的控制权。(2)邮件病毒。僵尸程序的另外一个传播途径是通过垃圾邮件,感染僵尸程序的主机加入到僵尸网络以后,会向外发送大量垃圾邮件。一般情况下,黑客在垃圾邮件附件中携带僵尸程序,或者通过社会工程学17诱惑用户下载包含僵尸程序样本的附件,并运行该样本,使的主机被僵尸程序感染。 (3)即时通信软件。社会工程学不仅可以应用在邮件病毒传播僵尸程序,而且还可以应用在即时通讯软件(QQ、MSN 等),这类方法虽说效率不高,但是因为网络用户总数的巨大,使得该方法成为一种比较简单实用的僵尸程序感染方法。在实际僵尸网络环境中,有相当数量僵尸主机是通过这种方式被感染的。(4)恶意网站脚本。黑客可以攻击获取 WEB 服务器主机的控制权,或者伪装成常用的 WEB 服务器,然后再主机上绑定恶意脚本,当访问者访问这些网站时,往往会在不知不觉的情况下下载并执行僵尸程序,使得正常主机被感染变成僵尸主机,成为僵尸网络的一部分。(5)特洛伊木马。黑客可以将僵尸程序样本放在特洛伊木马中,然后将这些木马放到特定的地方,诱使用户在不知情的情况下下载并执行这些僵尸程序样本,使得正常主机被感染成为僵尸主机,成为僵尸网络的一部分。2.1.2 僵尸网络的加入正常主机被感染成为僵尸主机后,就进入到加入阶段。在加入阶段,隐藏在被感染主机的僵尸程序开始运行,随后被感染主机加入到僵尸网络中。每种不同的僵尸程序的加入方法不尽相同。IRC 僵尸网络中,僵尸主机登录到指定的服务器和频道,然后等待僵尸网络中心控制服务器的恶意指令。HTTP 僵尸网络和IRC 僵尸网络类似,同样都有中心控制服务器,但是HTTP僵尸网络不会加入到服务器和频道,而是直接登录到指定的 WEB 页面,然后在 WEB 页面上下载、更新僵尸程序样本。P2P僵尸网络没有中心控制服务器,而且有多个控制命令发送服务器,被感染的僵尸主机一般是从 IP 最相近的服务器上下载、更新僵尸程序样本。为了保证 IP 最近,一般采用异或求最小的方法。2.1.3 僵尸网络的控制经过加入阶段后,僵尸主机将进入到僵尸网络的控制阶段,僵尸网络的控制是通过发送控制命令来实现的,每一种僵尸网络的控制命令发送方式都各不相同。每个 IRC僵尸主机都存在于一个服务器和频道中,僵尸主机通过频道接收中心服务器发送的控制命令,并采取相应的操作;HTTP 僵尸主机则是直接从僵尸中心控制服务器的 WEB 页面上获取各种控制命令;P2P 僵尸网络和 IRC 僵尸网络、HTTP 僵尸网络不同,有多个控制服务器,所以P2P僵尸主机会从最近的控制服务器获取控制命令。接收了控制服务器的控制命令以后,僵尸主机将在中心服务器的命令下发起多种恶意攻击。22僵尸网络的功能结构僵尸网络是一个可控制的网络,它不是物理意义上具有拓扑结构的网络,它具有一定的分布性,随着僵尸程序的不断传播而不断有新的被僵尸程序感染的计算机即僵尸计算机添加到这个网络中来。一般情况下,僵尸网络由僵尸计算机、命令与控制服务器和攻击者组成。其典型结构如图1所示。其中根据命令与控制信道采用协议的不同,可以将僵尸网络分为基于IRC的僵尸网络、基于P2P的僵尸网络和基于HTTP的僵尸网络。通过对目前主流僵尸程序的总结可以提出如图2所示的僵尸程序功能结构4。僵尸程序的功能模块可以分为主体功能模块和辅助功能模块,主体功能模块包括了实现僵尸网络定义特性的命令与控制模块和实现网络传播特性的传播模块,而包含辅助功能模块的僵尸程序则具有更强大的攻击功能和更好的生存能力。其中主体功能模块中的命令与控制模块是僵尸程序的核心模块,攻击者通过命令与控制模块实现和僵尸计算机的交互,对僵尸计算机发出控制命令,并通过命令与控制信道接收僵尸计算机对命令的执行结果。传播模块通过各种手段将僵尸程序传播至网络上新的主机,并使其加入僵尸网络,从而达到扩展僵尸网络规模的目的。僵尸程序的传播方式包括通过远程扫描软件的漏洞传播、扫描弱密码传播、扫描恶意代码留下的后门进行传播、通过网页恶意代码传播、通过发送邮件病毒传播、通过文件共享传播和通过即时通讯软件及P2P下载软件等方式传播。辅助功能模块是对僵尸程序除主体功能外其他功能的归纳,主要包括信息窃取、僵尸主机控制、下载与更新、躲避检测与对分析等功能模块。基于IRC的僵尸网络、基于P2P的僵尸网络和基于HTFP的僵尸网络的本质上的不同在于其命令与控制模块的不同,它们分别采用了IRC协议、P2P协议和H1可P协议来构建命令与控制模块,并且在基于P2P的僵尸网络中,由P2P僵尸程序同时担当服务器和客户端的双重角色,使其更难被跟踪和反制。三、僵尸网络的检测和反制 1 僵尸网络的检测对于僵尸网络的检测,计算机个人用户主要侧重于发现个人计算机中隐藏的僵尸程序。对于个人用户而言,发现僵尸程序的难度取决于僵尸程序的隐蔽度。因为僵尸程序平时潜伏在僵尸计算机中,等待攻击者的指令,僵尸计算机和攻者此时的联系引起的网络流量和网络连接数很小,因此很难察觉到,一般用户主要依靠杀毒软件和防火墙等网络安全软件来发现僵尸程序。对于计算机安全组织,检测僵尸网络的存在目前主要有使用蜜网技术、网络流量行为特征研究以及利用网络入侵监测系统发现三种方法。(1) 使用密网技术。使用密网技术主要是通过对僵尸程序的研究出发,分析其性质和特征。通过密网捕获僵尸程序的样本后,通过逆向工程等方法分析僵尸程序的代码,获得该僵尸网络的一系列属性。如基于IRC的僵尸网络,则可以找出隐藏在其中的僵尸程序要登录的IRC服务器的地址、端口号、频道名称和登录密码以及登录该频道需要的用户名等,通过这些信息,可以使用伪装的客户端登录到僵尸网络中,进行对僵尸网络的跟踪和进一步分析,采取进一步的措施。(2) 网络流量行为特征研究。这种方法的思路是通过分析僵尸网络中僵尸计算机的行为特征,来判断该计算机是否为僵尸计算机,对于基于IRC的僵尸网络而言,可以将僵尸计算机分为两类:长时间发呆型和快速加入型。具体来说就是僵尸计算机在僵尸网络中存在着三个比较明显的行为特征,一是通过蠕虫传播的僵尸程序,大量的被其感染计算机会在很短的时间内加入到同一个IRC服务器中,为快速加入型;二是僵尸计算机一般会长时间在线,为长期连接型;三是僵尸计算机作为一个IRC聊天的用户,在聊天频道内长时间不发言,保持空闲,为发呆型。这三种行为特征和一般的IRC聊天用户的行为特征相比都是不正常的。(3) 利用网络人侵监测系统。对于具有IRC协议解析能力的IDS,可以根据基于IRC的僵尸网络的僵尸程序常用命令,如joIN、PASS、PRIVMSG、NICK、TOPIC、NOTICE等及其命令参数来发现未知僵尸网络。如果不具有IRC协议解析功能,也可以根据TCP数据报文的内容发现可疑僵尸网络,可疑的数据报文包含udp、syn、ddos、http:、download、一exe,update,scan,exploit,Icon,Iogon,advscan,tsass,dcom,beagle、dDlTleware等僵尸程序在传播、更新和发起DDoS攻击时常用的命令。 2、僵尸程序检测技术 目前,大多数僵尸程序使用中心服务器作为命令与控制机制,所以僵尸网络的检测重心主要放在僵尸网络中心服务器的检测,只要检测到僵尸网络中心服务器的详细信息,就可以对僵尸网络中心服务器进行定位,安全人员可以根据需要对中心服务器采取当机或者继续监控等措施。检测方法分为基于主机信息的检测技术和基流量的检测方法两类。 基于主机信息的僵尸程序检测技术基于主机Botnet检测技术的基本思想就是以网络中每台主机作为研究对象,然后对其行为或特征进行分析。蜜罐(honeypot)/蜜网(honeynet)技术是目前最重要的基于主机 Botnet 检测技术。蜜网通过设置特殊的计算机(包括实际计算机和虚拟计算机)吸引黑客对这些主机进行入侵和注入恶意软件,使之加入僵尸网络,再通过分析获得僵尸网络信息,最后根据这些信息破解僵尸网络。蜜网由若干蜜罐主机、蜜罐网关HoneyWall和监控平台三部分组成。其中蜜罐主机可以是真实主机,也可以是运行不同操作系统的虚拟计算机;蜜罐主机含有很多漏洞,可以吸引黑客入侵。蜜罐网关HoneyWall是运行 Honeyd 的服务器,HoneyWall 可以对流进和流出蜜网的各种网络流进行检测和控制;监控平台专为网络安全研究人员与 HoneyWall 交互设计。 基于蜜网 Botnet 检测技术主要有以下优点:(l)部署简单,虚拟机技术的采用使得实验成本大幅降低。(2)安全性能好,采用封闭网络环境,同时管理流进和流出蜜网的网路流,不会对正常的网络应用造成影响和危害。(3)易于理解、升级方便、维护简单。其最大的缺点是:(l)由于虚拟蜜罐的响应与软硬件无关,黑客能够通过蜜罐的这一特性识别蜜罐从而绕开蜜罐,使得虚拟蜜罐无法取得应有效果。(2)蜜网检测 Bots 是一种被动检测方法,检测效率不高。基于流量的 Bots 检测技术僵尸网络之间的通信与正常用户之间的通信有较大差别,所以通过监控网络流有可能找到僵尸网络的命令与控制通道。这类方法通常有如下几个步骤:过滤可以确定的正常网络流,得到疑似异常流,然后对疑似异常流进行分析,试图找到可能属于同一个网络的主机,进而得到僵尸网络中心服务器信息,最后得到 Botnet的详细信息其优点有:(l)主动检测,相比基于蜜网僵尸网络检测方法效率更高。(2)有检测加密僵尸网络的能力。其缺点有:(l)因网络流量较大,使得检测时间效率不高,通常不能做到在线分析。(2)有可能产生误判,检测精度随检测方法不同而相差巨大。3.僵尸网络的反制检测到僵尸网络,并掌握其基本的属性后,对于基于IRC的僵尸网络和基于r丌P的僵尸网络,而言,可以采用以下方法对其进行反制。 (1)冒充攻击者控制僵尸网络。在掌握僵尸网络的特征信息后,模拟攻击者经过验证后,可以接管整个僵尸网络的控制权,然后向所有的僵尸计算机发送自删除命令,或是发送更新命令,使僵尸计算机下载并执行该僵尸程序的专杀工具。(2)切断命令与控制服务器和僵尸网络的联系。在获取僵尸网络中命令与控制服务器的准确信息后,可以在本地网络的入口处或安全设备上切除本地网络和命令与控制服务器的联系,使本地网络用户脱离攻击者的控制。也可以通过网络安全执法机构依靠法律程序关闭命令与控制服务器。这种方法的缺点在于,如果和命令与控制服务器断开联系的僵尸程序处于执行阶段,则仍然会执行预置的命令。(3)在僵尸计算机中清除僵尸程序。通过对僵尸网络的跟踪,找寻并定位被僵尸程序感染的计算机,然后通知该计算机用户清除僵尸程序并对系统进行安全升级。这种方法规模太大,效率比较低,而且因为僵尸程序会感染新的计算机,所以不能对僵尸网络进行根本上的清除。对于基于P2P的僵尸网络,因为其不存在集中的命令与控制服务器,对其的检测和反制更为困难,如何有效地对其进行检测和反制,还有待进一步研究。四、致谢三年的大学生活即将结束,三年生活,为我的人生增添了一笔丰富的财富。感谢我的母校,教会我诸知识。她在我的人生道路上留下了不可磨灭的记忆印记,无论现在还是将来我都铭记于心,无论以后走到哪都不会忘记。感谢尊敬的孙玉老师,感谢你在曾经我们的TCP/IP课程给予我们的关心和教导同时在我学生生涯最后一站有幸有您的指导写下这篇论文。衷心感谢一直爱护、关心我的家人和同学,他们是我的坚强后盾,感谢他们一直以来对我的支持。我也即将走出校园进入工作岗位。特别感谢论文评审老师对我的批评、建议和指导!参考文献1李禾,王述洋.拒绝服务攻击/分布式拒绝服务攻击防范技术的研究.中国安全科学学报, 2009, 19(1): 1321362周彩兰,虞珊,张亚芳.基于 SMTP 协议解析的垃圾邮件防治技术.计算机技术与发展, 2008, 18(1): 1881913查贵庭,彭其军,罗国富. UNIX 中后门技术 rootkit 的发现和防范.华中科技大学学报:自然科学版, 2003, 31(10): 1711734诸葛建伟等僵尸网络研究与发展软件学报,V0119,No3,20083。pp702715