僵尸网络
1.什么是僵尸网络
僵尸网络(英文名称叫Botnet),是互联网上在网络蠕虫、特洛伊木马、后门工具等传统恶意代码形态的基础上发展、融合而产生的一种新型攻击方法。往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息也都可被黑客随意“取用”。因此,不论是对网络安全运行还是用户数据安全的保护来说,僵尸网络都是极具威胁的隐患。[1]
2.僵尸网络的种类[2]
根据不同的命令控制机制可将僵尸网络划分为IRC,HTFP和P2P三类。
1.基于IRC协议的僵尸网络
这类僵尸网络出现于20世纪末。IRC协议是一种简单、低延迟、匿名的实时通信协议,并被黑客用于相互间的远程交流。在僵尸网络发展初期,IRC协议成为了构建一对多命令与控制信道的主流协议。IRC网络最显著的特征就是提供了一个频道(Channe1),在这个频道里的所有人可以自由交谈,即多个IRC客户端连接到IRC网络并创建一个聊天信道,每个客户端发送到IRC服务器的消息将被转发给连接这个信道的全部客户端。同时IRC协议也支持两个客户端之间的私聊,并扩展进DCC(Direct Cliento Client)和CTCP(Client To Client Protoco1)两种协议,允许客户端之间不通过服务器中转而直接传送文件。由于IRC协议简单及IRC服务器搭设便捷,得到黑客们的广泛使用。最常用的IRC服务器软件有开源发布的Unreal,其他还有ircd,bahamut,hybrid,chinachat等。
2.基于HTTP协议的僵尸网络
伴随着安全领域研究人员对基于IRC协议僵尸网络关注程度的不断提高,黑客为了更好的隐藏自身和躲避检测,逐步开始利用HITrP协议构建僵尸网络。使用H1TrP协议可使僵尸网络流量隐匿于合法的Web流量中,这样便可以轻易的绕过基于端口过滤机制的防火墙以及躲避入侵检测系统(IDS)的检测。
3.基于P2P结构的僵尸网络
随着P2P技术的发展,加之攻击者为了逃避安全机制的检测,对等结构逐渐成为黑客部署僵尸网络的首选。Grizzard等人在相关文献中对P2P结构的僵尸网络进行了综述,给出了P2P结构的僵尸程序的进化时间线,如表1所示。
3.僵尸网络的传播过程[1]
Bot程序的转播过程主要有5种传播形式:
(1)攻击漏洞:攻击者主动攻击系统漏洞获得访问权,并在Shellcode执行僵尸程序注入代码。这些漏洞多数都是缓存区溢出漏洞。下面我们以Slapper为例,简单描述一下这种基于P2P协议的Bot的传播过程。①感染Slapper的主机,用非法的GET请求包扫描相邻网段的主机,希望获得主机的指纹(操作系统版本、web服务器版本)。②一旦发现有ApacheSSL缓存溢出漏洞的主机,就开始发动攻击。攻击者首先在建立SSLv2连接时,故意放一个过大参数,代码没有对参数做边界检查,并拷贝该参数到一个堆定位的SSLSESSION数据结构中的固定长度缓冲区.造成缓冲区溢出。手工制作的字段是缓存溢出的关键。漏洞探测者小心翼翼地覆盖这些数据域.不会严重影响SSL握手。
(2)邮件携带:据有关统计资料显示,7%的垃圾邮件含蠕虫。
(3)即时消息通讯:很多bot程序可以通过即时消息进行传播。2005年,性感鸡(Worm。MSNLoveme)爆发就是通过MSN消息传播的。
(4)恶意网站脚本:攻击者对有漏洞的服务器挂马或者是直接建立一个恶意服务器,访问了带有恶意代码网页后,主机则很容易感染上恶意代码。
(5)伪装软件:很多Bot程序被夹杂在P2P共享文件、局域网内共享文件、免费软件、共享软件中,一旦下载并且打开了这些文件,则会立即感染Bot程序。
4.僵尸网络的感染过程[1]
(1)攻击程序在攻陷主机后有两种做法,一个是随即将Bot程序植入被攻陷的主机,另一个是让被攻陷的主机自己去指定的地方下载。这种从指定地方下载的过程称为二次注入。二次注入是为了方便攻击者随时更新Bot程序,不断增加新功能。同时不断改变的代码特征也增加了跟踪的难度。
(2)Bot程序植入被攻陷的主机,会自动脱壳。
(3)在被感染主机上执行IRC客户端程序。
(4)Bot主机从指定的服务器上读取配置文件并导人恶意。
(5)Bot程序隐藏IRC界面,动部分。修改Windows注册表的自启
(6)Bot程序关闭某些特定程序(bootstrap process),如防火墙,系统自动更新。
5.僵尸网络的危害[1]
Botnet构成了一个攻击平台.利用这个平台可以有效地发起各种各样的攻击行为.可以导致整个基础信息网络或者重要应用系统瘫痪,也可以导致大量机密或个人隐私泄漏.还可以用来从事网络欺诈等其他违法犯罪活动。下面是已经发现的利用Botnet发动的攻击行为。随着将来出现各种新的攻击类型。Botnet还可能被用来发起新的未知攻击。
(1)拒绝服务攻击。使用Bother发动DDos攻击是当前最主要的威胁之一,攻击者可以向自己控制的所有bots发送指令,让它们在特定的时间同时开始连续访问特定的网络目标,从而达到DDos的目的。由于Botnet可以形成庞大规模。而且利用其进行DDos攻击可以做到更好地同步。所以在发布控制指令时,能够使得DDos的危害更大,防范更难。
(2)发送垃圾邮件。一些bots会设立sockv4/v5代理,这样就可以利用Botnet发送大量的垃圾邮件,而且发送者可以很好地隐藏自身的IP信息。
(3)窃取秘密。Botnet的控制者可以从僵尸主机中窃取用户的各种敏感信息和其他秘密,例如个人帐号、机密数据等。同时bot程序能够使用sniffer观测感兴趣的网络数据,从而获得网络流量中的秘密。
(4)滥用资源。攻击者利用Bother从事各种需要耗费网络资源的活动,从而使用户的网络性能受到影响.甚至带来经济损失。例如:种植广告软件。点击指定的网站;利用僵尸主机的资源存储大型数据和违法数据等。利用僵尸主机搭建假冒的银行网站从事网络钓鱼的非法活动。
可以看出,Botnet无论是对整个网络还是对用户自身,都造成了比较严重的危害,我们要采取有效的方法减少Botnet的危害。
6.僵尸网络的应对策略[3]
目前,针对僵尸网络的防御主要存在两种不同的方法:由于构建僵尸网络的僵尸程序仍是恶意代码的一种,因此,传统的防御方法是通过加强因特网主机的安全防御等级以防止被僵尸程序感染。并通过及时更新反病毒软件特征库清除主机中的僵尸程序。Overton等人给出了防御僵尸程序感染的方法嘲,包括遵循基本的安全策略以及使用防火墙、DNS阻断、补丁管理等技术手段。另一种防御方法针对僵尸网络具有命令与控制信道这一基本特性。通过摧毁或无效化僵尸网络命令与控制机制。使其无法对因,特网造成危害。由于命令与控制信道是僵尸网络得以生存和发挥攻击能力的基础,因此,第二种防御方法较第一种更加有效。
僵尸网络已经被列为对个人用户及企业威胁不断增加的一种安全危害。不论是对网络安全还是用户数据安全的保护来说。“僵尸网络”都因其极具威胁。而在国际上引起广泛关注由于网络系统存在的无数的漏洞,黑客会以此为缺E1来对系统进行攻击。一些存在安全隐患的电脑系统很容易被黑客劫持,在这些电脑上开置后门。为了将僵尸网络的危害减小到最低程度,我们给出一些僵尸网络的防范措施。首先,我们要从自己的电脑开始防范僵尸网络的进攻。
1.运行多种病毒扫描软件
保证Windows系统、杀毒软件、防火墙和其它安全软件都保持最新状态。这些预防措施肯定可以减少电脑受感染的机会。
2.使用电子邮件进行测试
如果一封被退回的电子邮件称你已经被封锁了,你的邮件地址可能在垃圾邮件黑名单上.这很有可能是因为你的电脑已经变成了僵尸电脑。目前有100多个这种黑名单。许多互联网服务提供商使用一个或者更多的黑名单封锁已知的垃圾邮件制造者的IP地址。
有许多黑名单报告网站。例如Robtex,你可以把你的IP地址贴在那个网站的唯一的对话框中,然后点击运行。Robtex将列出许多黑名单网站。如果这些网站有红色的,那么就有问题了。在接收陌生邮件时一定要小心,不点击陌生人发来的邮件,使用即时通信软件不轻易接收他人传来的文件。有些ISP也开始采取行动.有的供应商可以确认用户的电脑只发送来自自己服务器的电子邮件,而不是发送垃圾邮件服务器生成的邮件。而且,绝大部分服务供应商都使用了诸如比例控制等技术,以限制一名用户所能够发送的电子邮件信息的数量。
3.个人计算机系统也要注意维护
平时上网多留意各种安全信息,及时打上各种补丁更重要的是,要养成良好的上网习惯,比如计算机不通宵挂机,较长时间不上网记得要关机或拔网线,不因为好奇心点击一些陌生的网站,因为通过网页插件的方式也可以传播僵尸程序。
4.更要做好对于僵尸网络的防范
对于企事业单位而言,发现计算机有异常情况要刻汇报的意识,这样有助于及早发现僵尸计算机,可以将企业的损失降到最低点。
5.察看网络流量是否出现异常
发现被感染后,及时断开网络连接。