专文绩丝
僵尸网络的发坝与控制
-’-- ‘J 土 尔 冈
(山西省专用通信局)
摘 要t从僵尸网络基本概念入手,通过分析其工作原理和攻击特征,介绍了一些发现及控制方法,以及僵
尸网络的发展 趋势和 未来的研 究重点。
关键 词 :僵 尸网络 发现 控制 发展趋势
1 概述
近年来,僵尸网络已成为国际网络安全领域最
为关注的威胁之一 ,蠕虫 (Worm)、分布式拒绝服务
攻击(DDos)、垃圾邮件(Spam)、网络仿冒(Phishing)
和间谍软件(Spyware)等已经成为 网络安全领域面
临的重要威胁并在世界各地引起 了高度重视。然
而,尽管各国纷纷完善相关法律和防范措施 ,这些
威胁依然没有得到有效的控制,而且在技术上看反
而面临越来越大的挑战。造成这种现象的原因之一
就是攻击者正在逐渐掌握一套既能保护 自身,又能
更高效地实施这些攻击的技术和方法 ,僵尸网络就
是一个很好的例子。
僵尸网络(恶意的 Botnet)不同于特定的安全事
件,它是攻击者手中的一个攻击平台。利用这样的
攻击平台,攻击者可以实施各种各样的破坏行为 ,
但是具体的危害在静态的情况下具有未知性和灵活
性。利用僵尸网络展开不同的攻击,可以导致整个
基础信息网络或者重要应用系统瘫痪 ,也可以导致
大量机密或个人隐私泄漏,还可以用来从事网络欺
诈等其他违法犯罪活动。而这些破坏行为往往比传
统的实施方式危害更大、防范更难。利用僵尸网络
发动的攻击行为包括:蠕虫释放 、分布式拒绝服务攻
击(DDoS)、发送垃圾邮件、窃取秘密 、滥用资源等。
本文所说的僵尸网络指的是攻击者利用互联网
用户的计算机秘密建立的可以集中控制的计算机
群。它涉及到的有关具体概念介绍如下:
Bot:“Robot”(机器人 )的简写,是秘密运行在被
控制计算机中、可以接收预定义的命令和执行预定
义的功能,具有一定人工智能的程序。
Zombie:现在 Zombie和 Bot经常被混为一谈 ,
但严格地说 ,它们是不同的概念。Bot是一个程序,
而Zombie是被植入 Bot程序的计算机,本文称之为
僵尸计算机。含有 Bot或其他可以远程控制程序的
计算机都可以叫 Zombie。
IRC Bot:利用 IRC协议进行通信和控制的 Boto
通常,IRC Bot连接预定义的服务器,加入到预定义
的频道(Channe1)中,接收经过认证的控制者的命
令 ,执行相应的动作。
Command&Control Server:可 以形象 地 将 IRC
收稿 日期:2Oo6一l2—3O
作者简介2王东岗,男(1970-),2003年毕业于太原理工大学计算机技术专业,现任山西省专用通信局运行维护处通信工程师。
维普资讯
言支援擅
僵P团结回7ilm与控制
王东岗
(山西省专用通信局)
摘 要:从僵尸网络基本概念入手,通过分析其工作原理和攻击特征,介绍了一些发现及控制方法,以及僵
尸网络的发展趋势和未来的研究重点 O
关键词:僵尸网络发现控制发展趋势
1 概述
近年来,僵尸网络已成为国际网络安全领域最
为关注的威胁之一,蠕虫 (Worm) 、分布式拒绝服务
攻击 (DDos) 、垃圾邮件 (Spam) 、网络仿冒 (Phishing)
和间谍软件 (Spyware)等已经成为网络安全领域面
临的重要威胁并在世界各地引起了高度重视。然
而,尽管各国纷纷完善相关法律和防范措施,这些
威胁依然没有得到有效的控制,而且在技术上看反
而面临越来越大的挑战。造成这种现象的原因之一
就是攻击者正在逐渐掌握一套既能保护自身,又能
更高效地实施这些攻击的技术和方法,僵尸网络就
是一个很好的例子。
僵尸网络(恶意的 Botnet)不同于特定的安全事
件,它是攻击者手中的一个攻击平台。利用这样的
攻击平台,攻击者可以实施各种各样的破坏行为,
但是具体的危害在静态的情况下具有未知性和灵活
性。利用僵尸网络展开不同的攻击,可以导致整个
基础信息网络或者重要应用系统瘫痪,也可以导致
大量机密或个人隐私世漏,还可以用来从事网络欺
收稿日期 :2∞6-12-30
诈等其他违法犯罪活动。而这些破坏行为往往比传
统的实施方式危害更大、防范更难。利用僵尸网络
发动的攻击行为包括:蠕虫释放、分布式拒绝服务攻
击(DDoS) 、发送垃圾邮件、窃取秘密、滥用资源等。
本文所说的僵尸网络指的是攻击者利用互联网
用户的计算机秘密建立的可以集中控制的计算机
群。它涉及到的有关具体概念介绍如下:
Bot: "Robot飞机器人)的简写,是秘密运行在被
控制计算机中、可以接收预定义的命令和执行预定
义的功能,具有一定人工智能的程序。
Zombie: 现在 Zombie 和 Bot 经常被混为一谈,
但严格地说,它们是不同的概念。 Bot 是一个程序,
而Zombie 是被植入 Bot 程序的计算机,本文称之为
僵尸计算机。含有 Bot 或其他可以远程控制程序的
计算机都可以叫 Zombieo
IRC Bot: 利用 IRC 协议进行通信和控制的 Bot。
通常,IRC Bot 连接预定义的服务器,加入到预定义
的频道 (Channel) 中,接收经过认证的控制者的命
令,执行相应的动作。
Command&Control Server: 可以形象地将 IRC
作者简介:王东岗,男(1970- ) , 2003 年毕业于太原理工大学计算机技术专业,现任山西省专用通信局运行维护处通信工程师。
唾品萨
<山西置信斟技)2007年簟1期
Bot连接的 IRC服务器称为命令 &控制服务器 ,简
写为 C&C S,因为控制者通过该服务器发送命令 ,进
行控制。
BotNet:即僵尸网络。是由 Bot、C&C S和控制者
组成的可通信、可控制的网络。典型的基于IRC协
议的僵尸网络的结构如图 1所示。
2 僵尸网络的工作原理
目前绝大多数僵尸 网络是基于 IRC协议的 ,现
以IRC Bot为例介绍僵尸网络的工作原理。
Bot
系 的受害计算机 \
被植入 程序 I\
的受害计算机 卜\\、据瓜
被植入 Bot程序
的受害计算机
被植入 Bot程序
的受害计 算机
被植入 Bot程序
的受害计算机
用户可以在IRC服务器上建立、选择和加入感
兴趣的频道 ,一个用户可以将消息发送给频道内的
所有其他用户 ,也可以秘密地发送给单个用户。
频道管理员可以设置频道模式,比如需要密码
才能加入频道、设置频道为隐藏模式(使频道对普通
权限用户不可见)等等。
2.2 lRC B0l的实现
IRC Bot实际上是一个定制 的 IRC客户端 ,它
与供用户正常使用 IRC服务的客户端 (如 HIRC、
mlRC)的不同之处在于:第一,IRC Bot只需支持部
分IRC命令 ;第二IRC Bot会将收到的消息做为命
攻击者建立的私有聊
天频道作为控制 频道
IRC服务器 l发送指令 (命令和控制服务器)l 攻击者的计算机
图 1 基 于 IR.C协议 实现的僵 尸网络的结 构
2.1 IRC(Internet Relay Chat)协议简介
IRC(RFC1459)是应用层协议 ,它的基本功能使
人们能够利用一个 IRC频道(Channe1)实现相互之
间实时对话,极大地方便了人们之间的信息交流,
通常所说的“聊天室”很多都是基于 IRC协议的。
IRC协议采用客户端/服务器模式,客户端连接
到 IRC服务器 ,多个 IRC服务器组成服务器 网络 ,
从一个用户到另一个用户 的信息可 以通 过服务器
网络传递 ,即使这些用户连接到不同的服务器O IRC
服务默认的端口是 TCP 6667,通常也可以在 6000-
7000端 口范围之 内选择 ,也可以配置为任何合法端
口。许多 IRC Bot为了逃避常规的检查 ,选择 443、
8oo0、500等自定义端 口。
令解释执行,而正常客户端却将这
些消息作为聊天内容显示在屏幕
上 。
因为 IRC Bot需要实现的IRC
命令很少 ,现在的IRC Bot通常是
独立的客户端 ,一般至少需要实现
以下 IRC命令:
(1)NICK和 USER:设置昵称
和用户名,呢称在 Bot登陆的 IRC
网络 内必须唯一 ;
(2)PASS:IRC服务器可以配
置为需要连接 口令 ,PASS命令在
TCP三次握手后立刻发送 ;
(3)JOIN#Channel key:加入
一 个频道 ,key为频道密码,可选。僵尸网络为保证
自身安全,常常设置频道密码 ;
(4)MODE:修改频道或用户模式 ,绝大多数
IRC Bot都将自身设置为不可见 ;
(5)PING和 PONG:维持与 IRC服务器的连
接 ,当 IRC客户端一段时间未“发言”时,服务器向
客户端发送 PING命令 ,客户端回应 PONG命令 ,参
数与PING的参数相同,表示客户端处于存活状态;
正常的 IRC用户经常处于聊天状态 ,而 IRC Bot除
非接收到控制者的命令或者汇报自身状态时,都处
于空闲状态,这时不断与服务器发送 PING/PONG命
令来维持连接,这也是 IRC Bot的一个特征;
维普资讯
.
Bot 连接的 IRC 服务器称为命令&控制服务器,简
写为 C&C S,因为控制者通过该服务器发送命令,进
行控制。
BotNet: 即僵尸网络。是由 Bot 、C&C S 和控制者
组成的可通信、可控制的网络。典型的基于 IRC 协
议的僵尸网络的结构如图 1 所示。
2 僵尸网络的工作原理
目前绝大多数僵尸网络是基于 IRC 协议的,现
以 IRC Bot 为例介绍僵尸网络的工作原理。
《山西匾窜圄嚣)2007 æ翻 1 回
用户可以在 IRC 服务器上建立、选择和加入感
兴趣的频道,一个用户可以将消息发送给频道内的
所有其他用户,也可以秘密地发送给单个用户。
频道管理员可以设置频道模式,比如需要密码
才能加入频道、设置频道为隐藏模式(使频道对普通
权限用户不可见)等等。
IRC 80t 的实现
IRC Bot 实际上是一个定制的 IRC 客户端,它
与供用户正常使用 IRC 服务的客户端(如 HIRC ,
mIRC) 的不同之处在于:第一,IRC Bot 只需支持部
分 IRC 命令;第二 IRC Bot 会将收到的消息做为命
令解释执行,而正常客户端却将这
被植入 Bot 程序
的受害计算机 攻击者建立的私有聊
天频道作为控制频道
些消息作为聊天内容显示在屏幕
上。
被植入 Bot 程序
的受害计算机
被植入 Bot 程序
的受害计算机
被植入 Bot 程序
的受害计算机
被植入 Bot 程序
的受害计算机
IRC 服务器
(命令和控制服务器)
固 1 基于 IRC 协议实现的僵尸网络的结构
IRC(lnternet Relay Chat)协议简介
IRC(RFC1459)是应用层协议,它的基本功能使
人们能够利用一个 IRC 频道 (Channel)实现相互之
间实时对话,极大地方便了人们之间的信息交流,
通常所说的"聊天室"很多都是基于 IRC 协议的。
IRC 协议采用客户端/服务器模式,客户端连接
到 IRC 服务器,多个 IRC 服务器组成服务器网络,
从一个用户到另一个用户的信息可以通过服务器
网络传递,即使这些用户连接到不同的服务器。 IRC
服务默认的端口是 TCP 6667 ,通常也可以在 6∞0-
7∞0 端口范围之内选择,也可以配置为任何合法端
口。许多 IRC Bot 为了逃避常规的检查,选择 443 、
8∞0 ,500 等自定义端口。
因为 IRC Bot 需要实现的 IRC
命令很少,现在的IRC Bot 通常是
独立的客户端,一般至少需要实现
以下 IRC 命令:
(1) NICK 和 USER;设置昵称
和用户名,昵称在 Bot 登陆的 IRC
网络内必须唯一;
(2) PASS: IRC 服务器可以配
置为需要连接口令,PASS 命令在
TCP 三次握手后立刻发送;
( 3) J OIN #Channel key; 加入
一个频道,key 为频道密码,可选。僵尸网络为保证
自身安全,常常设置频道密码;
(4) MODE: 修改频道或用户模式,绝大多数
IRC Bot 都将自身设置为不可见;
(5) PING 和 PONG; 维持与 IRC 服务器的连
接,当 IRC 客户端一段时间未"发言"时,服务器向
客户端发送 PING 命令,客户端回应 PONG 命令,参
数与 PING 的参数相同,表示客户端处于存活状态;
正常的 IRC 用户经常处于聊天状态,而 IRC Bot 除
非接收到控制者的命令或者汇报自身状态时,都处
于空闲状态,这时不断与服务器发送 PING/PONG 命
令来维持连接,这也是 IRC Bot 的一个特征;
二黯矗露
专文缉吐
(6)PRIVMSG#Channel msg:向一个频道或用
户发送消息,控制者或Bot都利用该命令互相通信,
控制者几乎总是 向频道而不是单个用户发送消息
(控制命令);
(7)DCC SEND:传送文件。Bot用该命令做为
继续扩散的方法之一。
2.3 僵尸网络的构建和扩张
攻击者制作了僵尸程序(Bot)、建立好 IRC服务
器中的环境之后,需要将僵尸程序植入到尽量多的
互联网主机上,才能构成一个威力强大的僵尸网
络。僵尸程序本身通常并不具备自我传播的能力,
因此它需要借助其他自动或手动进入用户计算机的
方式来蔓延 自己。
僵尸程序典型的蔓延方式是利用蠕虫 ,因为蠕
虫是能够 自主传播入侵用户计算机的最普遍 的手
段。僵尸程序可以跟随蠕虫程序一起进入用户的计
算机,也可以在跟随蠕虫进入用户计算机后从指定
地址下载完整的僵尸程序。
另外一种值得注意的方式是利用网站中嵌入的
恶意代码。这些恶意代码会利用浏览器的漏洞,在
用户访问这些网页的时候在其计算机中植入僵尸程
序。为了欺骗更多的用户在不知不觉中访问这些网
站,攻击者可以利用类似进行银行欺诈等网页仿冒
的手段,通过垃圾邮件的方式骗取用户上当。
3 僵尸网络的发现
个人用户侧重发现本机上的僵尸程序,而计算
机安全应急组织侧重发现活跃的僵尸网络。
对于使用 Windows操作系统的个人用户来说 ,
发现僵尸程序(Bot)的难度取决于该程序的隐蔽程
度。Bot平时潜伏在被控主机上,等待控制者发来的
命令,此时,bot的网络活动只限于与服务器之间的
PING/PONG命令,引起的流量和网络连接很少。而
且,bot未必使用 IRC协议常用的 TCP 6667端口,所
以很难察觉。但根据 CNCERT/CC的观察 ,目前的
bot很少处于静止状态,它们总是在扫描 、传播 自身
(因为很多 bot加入频道后会将频道主题解释为命
令,而主题多数是扫描命令),这时,系统的网络连
接会大大增加 ,对系统资源的占用也可能导致机器
明显变慢。症状和普通的蠕虫没有区别。用户可以
在命令行(cmd.exe)里输入“netstat—an”命令,如果
出现 本 地 IP向多 个 目标 IP的相 同端 口 (如
135,445)发起连接的现象 ,则很可能是扫描行为。发
现扫描后,可以用端 口与进程对应工具 ,如 fport.
exe,找到扫描进程 ,从而发现可疑的恶意程序。用户
也可以直接使用 netstat命令观察本机对外建立的
活跃的网络连接的情况,积累足够的经验之后也可
以发现僵尸程序建立的可疑连接。
如果 bot未进行扫描和拒绝服务攻击这种引起
流量突变的活动,而只是窃取用户敏感信息,如银行
卡、邮件的帐号和密码、CD—Key、按键记录并通过邮
件或网页访问的方式通知控制者,则难以发现。可
以采取的措施是安装防火墙。这样,当bot访问互联
网时,防火墙会提示 “某文件试图访问⋯是否允
许?”,用户可以根据文件名和端口判断该程序的合
法性,判断是不是自己运行的程序或系统程序?发
现可疑则禁止该文件访问互联网。当然,如果 bot将
访问互联网的功能插入到 i_e等进程内,则可以有效
地穿透防火墙 ,因为 ie总是被用户允许的。
对于计算机安全应急组织而言,与僵尸网络进
行对抗、保护用户 的安全和利益,是安全组织 、网管
等不容推卸的责任。如果他们掌握了一个僵尸网络
的具体情况,可以在其所管理的网络中对僵尸网络
的控制服务器地址或动态域名实施屏蔽 ,这样可以
更直接和快速地避免用户的计算机加入到僵尸网络
中。现有的发现僵尸网络的方法主要有利用蜜罐
(honeypot)捕获 bot样本 、利用 IDS监测及在 IRC服
务器上利用僵尸网络的行为特征三种方式。下面对
此分别介绍。
(1)利用蜜罐(Honeypot)发现
部署多个蜜罐捕获传播中的bot,记录该bot的
网络行为(通过 Honeywal1)。通过人工分析网络 日志
并结合样本分析结果,可以掌握该 bot的属性 ,包括
它连接的服务器 (dns/ip)、端 口、频道 、连接/频道/控
制密码等信息,从而获得该僵尸网络的基本信息甚
维普资讯
琶支撞撞
(6) PRIVMSG #Channel msg: 向一个频道或用
户发送消息,控制者或 Bot 都利用该命令互相通信,
控制者几乎总是向频道而不是单个用户发送消息
(控制命令) ;
(7) DCC SEND:传送文件。 Bot 用该命令做为
继续扩散的方法之一。
僵户网络的构建和扩张
攻击者制作了僵尸程序(Bot)、建立好 IRC 服务
器中的环境之后,需要将僵尸程序植入到尽量多的
互联网主机上,才能构成一个威力强大的僵尸网
络。僵尸程序本身通常并不具备自我传播的能力,
因此它需要借助其他自动或手动进入用户计算机的
方式来蔓延自己。
僵尸程序典型的蔓延方式是利用蠕虫,因为蠕
虫是能够自主传播入侵用户计算机的最普遍的手
段。僵尸程序可以跟随蠕虫程序一起进入用户的计
算机,也可以在跟随蠕虫进入用户计算机后从指定
地址下载完整的僵尸程序。
另外一种值得注意的方式是利用网站中嵌入的
恶意代码。这些恶意代码会利用浏览器的漏洞,在
用户访问这些网页的时候在其计算机中植入僵尸程
序。为了欺骗更多的用户在不知不觉中访问这些网
站,攻击者可以利用类似进行银行欺诈等网页仿冒
的手段,通过垃圾邮件的方式骗取用户上当。
3 僵尸网络的发现
个人用户侧重发现本机上的僵尸程序,而计算
机安全应急组织侧重发现活跃的僵尸网络。
对于使用 Windows 操作系统的个人用户来说,
发现僵尸程序 (Bot) 的难度取决于该程序的隐蔽程
度。 Bot 平时潜伏在被控主机上,等待控制者发来的
命令,此时,bot 的网络活动只限于与服务器之间的
PING/PONG 命令,引起的流量和网络连接很少。而
且, bot 未必使用 IRC 协议常用的 TCP 6667 端口,所
以很难察觉。但根据 CNCERT/CC 的观察,目前的
bot 很少处于静止状态,它们总是在扫描、传播自身
(因为很多 bot 加入频道后会将频道主题解释为命
唾如
令,而主题多数是扫描命令) ,这时,系统的网络连
接会大大增加,对系统资源的占用也可能导致机器
明显变慢。症状和普通的蠕虫没有区别。用户可以
在命令行 ()里输入 "netstat -an"命令,如果
出现本地 IP 向多个目标 IP 的相同端口(如
135 , 445)发起连接的现象,则很可能是扫描行为。发
现扫描后,可以用端口与进程对应工具,如 fport.
exe ,找到扫描进程,从而发现可疑的恶意程序。用户
也可以直接使用 ne恒tat 命令观察本机对外建立的
活跃的网络连接的情况,积累足够的经验之后也可
以发现僵尸程序建立的可疑连接。
如果 bot 未进行扫描和拒绝服务攻击这种引起
流量突变的活动,而只是窃取用户敏感信息,如银行
卡、邮件的帐号和密码、CD-K町、按键记录并通过邮
件或网页访问的方式通知控制者,则难以发现。可
以采取的措施是安装防火墙。这样,当 bot 访问互联
网时,防火墙会提示"某文件试图访问…是否允
许? "用户可以根据文件名和端口判断该程序的合
法性,判断是不是自己运行的程序或系统程序?发
现可疑则禁止该文件访问互联网。当然,如果 bot 将
访问互联网的功能插入到 le 等进程内,则可以有效
地穿透防火墙,因为 le 总是被用户允许的。
对于计算机安全应急组织而言,与僵尸网络进
行对抗、保护用户的安全和利益,是安全组织、网管
等不容推卸的责任。如果他们掌握了一个僵尸网络
的具体情况,可以在其所管理的网络中对僵尸网络
的控制服务器地址或动态域名实施屏蔽,这样可以
更直接和快速地避免用户的计算机加入到僵尸网络
中。现有的发现僵尸网络的方法主要有利用蜜罐
(honeypot)捕获 bot 样本、利用 IDS 监测及在 IRC 服
务器上利用僵尸网络的行为特征三种方式。下面对
此分别介绍。
(1)利用蜜罐 (Honeypot)发现
部署多个蜜罐捕获传播中的 bot,记录该 bot 的
网络行为(通过 Honeywall) 。通过人工分析网络日志
并结合样本分析结果,可以掌握该 bot 的属性,包括
它连接的服务器 (dns/ip) 、端口、频道、连接/频道/控
制密码等信息,从而获得该僵尸网络的基本信息甚
<山西置信斟技)2007年囊 1期
至控制权。
(2)利用网络入侵监测系统发现
对于具有 IRC协议解析能力的 IDS,可以根据
IRC Bot常用命令 ,如 JOIN、PASS、PRIVMSG、NICK、
TOPIC、NOTICE等及其命令参数来发现未知僵尸网
络 。
如果不具有 IRC协议解析功能 ,也可以根据
TCP数据报文的内容发现可疑僵尸网络 ,可疑的数
据报文包含 udp、syn、ddos、http://、download、.exe、up—
date、scan、exploit、login、logon、advscan、lsass、dcom、
beagle、dameware等o
(3)利用僵尸网络的行为特征发现
① 快速加入型bot(fast joining bots)
这类bots通常利用蠕虫传播,一旦在受害主机
上运行 ,就按预定义 的参数连接 IRC服务器 、加入
指定的频道接受指令。短期内大量 IRC客户端加入
同一服务器的同一频道是可疑的。
② 长期连接型 bot(Long standing connection)
正常用户很少长期停 留在一个频道 中,而 bots
只有在接受 “退出”、“休眠”、“自杀”等命令后才会
退 出 。
③ 发呆型 bot(not talkative1
Bots与正 常用户另 一个不同之处是 bot很少
“说话”,经常“发呆”,靠 ping/pong命令来维持连接。
4 僵尸网络的控制
以 IRC僵尸网络为例 ,要控制一个僵尸网络,
首先要掌握的基本信息包括以下几点:
(1)控制服务器信息
域名或 IP、端口(port)、连接密码(如有);
(2)频道信息
频道名(channe1)、频道密码(如有);
(3)控制密码 、编码规则和 Host
控制者发送密码到频道 中,用于标识身份 ,常
以.1ogin pass的形式出现 。编码规则和是否启用 host
认证是 hot程序实现的,不体现在网络通信 中。
(4)Bot支持的命令集
主要是认证 、升级和自删除类的命令,比如 lo—
gin、.update、.download、.uninstall等。
获得 了Botnet的基础特性后 ,有多种方法可以
控制僵尸网络 ,每种方法 的复杂度和效果各不相
同。以下是三种控制方法。
4.1模拟控制者。对僵尸网络进行完全控制
前提是已经掌握了上面提到的僵尸网络的基础
信息。模拟控制者通过认证后,可以发送各种 hot支
持的命令:
(1)发送更新命令
可以使 bot下载并运行 自身的专杀工具 ,当然 ,
需架设网站或文件服务器等作为存放专杀工具的载
体 ;
也可以修改控制密码或更新 bot,从而接管整个僵尸
网络;
(2)自删除命令
使 hot删除自身。这种方法只有在发现僵尸网
络正在从事恶意活动时才有价值,否则 ,单纯地删
除 bot后,这种有漏洞的系统很快会被其它恶意代
码感染。事实上,含有一种 bot的主机通常同时含有
多种其它 bot。(在实际的案例中,也有一些攻击者为
了避免自己控制的计算机被其他人抢夺 ,有时候会
在入侵一台计算机并留下控制渠道之后,将该计算
机的漏洞都修复)
4.2切断用户主机和控制服务器的联系。使僵尸网
络失去控制
网管可以在本网的网关处或者安全设备上切断
本网用户和控制服务器的联系,使本网内的用户不
受僵尸网络的控制。
4.3清除主机上的 hot程序
寻找定位被植入僵尸程序的计算机,让这些计
算机的用户使用专用软件清除本机的僵尸程序并作
安全升级。这是一个庞大的工作而且有很多困难。
另外 ,清除主机上的 Bot程序 ,不但规模太大、效率
低下,而且也是治标不治本 ,因为攻击者同时也在
继续扩张,使新的计算机加入僵尸网络。口
维普资讯
至控制权。
(2) 利用网络入侵监测系统发现
对于具有 IRC 协议解析能力的 IDS,可以根据
IRC Bot 常用命令,如 JOIN 、PASS 、PRIVMSG 、NICK 、
TOPIC 、 NOTICE 等及其命令参数来发现未知僵尸网
络。
如果不具有 IRC 协议解析功能,也可以根据
TCP 数据报文的内容发现可疑僵尸网络,可疑的数
据报文包含 udp 、 syn 、 ddos , http:1.人 download 、 .exe 、 up-
date 、 scan 、 exploit 、 login 、 logon 、 advscan 、lsass ,dcom 、
beagle 、 dameware 等。
(3) 利用僵尸网络的行为特征发现
①快速加入型 bot(fast joining bots)
这类 bots 通常利用蠕虫传播,一且在受害主机
上运行,就按预定义的参数连接 IRC 服务器、加入
指定的频道接受指令。短期内大量 IRC 客户端加入
同一服务器的同一频道是可疑的。
②长期连接型 bot(Long standing connection)
正常用户很少长期停留在一个频道中,而 bots
只有在接受"退出"、"休眠"、"自杀"等命令后才会
退出。
③发呆型 bot(not talkative)
Bots 与正常用户另一个不同之处是 bot 很少
"说话经常"发呆靠 ping/pong 命令来维持连接。
4 僵尸网络的控制
以 IRC 僵尸网络为例,要控制-个僵尸网络,
首先要掌握的基本信息包括以下几点:
(1)控制服务器信息
域名或 IP、端口 (port) 、连接密码(如有) ;
(2) 频道信息
频道名 (channel) 、频道密码(如有) ;
(3) 控制密码、编码规则和 Host
控制者发送密码到频道中,用于标识身份,常
以.login pass 的形式出现。编码规则和是否启用 host
认证是 hot 程序实现的,不体现在网络通信中。
《山西匾窜圄嚣}2007 æ目 1 跚
(4) Bot 支持的命令集
主要是认证、升级和自删除类的命令,比如 10-
gin 、 .update 、 .download 、 .uninstall 等。
获得了 Botnet 的基础特性后,有多种方法可以
控制僵尸网络,每种方法的复杂度和效果各不相
同。以下是三种控制方法。
模拟控制者,对僵尸网络进行完全控制
前提是已经掌握了上面提到的僵尸网络的基础
信息。模拟控制者通过认证后,可以发送各种 hot 支
持的命令:
(1)发送更新命令
可以使 bot 下载并运行自身的专杀工具,当然,
需架设网站或文件服务器等作为存放专杀工具的载
体;
也可以修改控制密码或更新 bot ,从而接管整个僵尸
网络;
(2) 自删除命令
使 hot 删除自身。这种方法只有在发现僵尸网
络正在从事恶意活动时才有价值,否则,单纯地删
除 bot 后,这种有漏洞的系统很快会被其它恶意代
码感染。事实上,含有一种 bot 的主机通常同时含有
多种其它 bot o (在实际的案例中,也有一些攻击者为
了避免自己控制的计算机被其他人抢夺,有时候会
在入侵一台计算机并留下控制渠道之后,将该计算
机的漏洞都修复)
切断用户主机和控制服务器的联系,使僵尸网
络失去控制
网管可以在本网的网关处或者安全设崔上切断
本网用户和控制服务器的联系,使本网内的用户不
受僵尸网络的控制。
清除主机上的 bot 程序
寻找定位被植入僵尸程序的计算机,让这些计
算机的用户使用专用软件清除本机的僵尸程序并作
安全升级。这是一个庞大的工作而且有很多困难。
另外,清除主机上的 Bot 程序,不但规模太大、效率
低下,而且也是治标不治本,因为攻击者同时也在
继续扩张,使新的计算机加入僵尸网络。口
喝撞撞