基于异常行为监控的僵尸网络发现技术研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专家新论
本栏目由网御神州科技有限公司协办
44
赵佐,蔡皖东,田广利
(西北工业大学计算机学院,陕西 西安 710072)
【摘 要】僵尸网络作为近年来危害互联网的重大安全威胁之一,引起了研究者的广泛关注。
论文通过分析僵尸网络工作过程中各阶段表现出的异常行为特征,提出了基于异常行为监控的僵尸网络发现技术,详细阐述了僵尸网络发现系统的原理及系统框架结构,并对其关键技术进行了设计实现。
【关键词】僵尸网络;异常行为特征;发现机制;监控规则
【中图分类号】TP391 【文献标识码】A 【文章编号】1009-8054(2007) 09-0044-03
Research on technology for Botnet Detection Based on Abnormal Behavior M onitoring
Z H A O Z u o , C A I W a n -d o n g , T I A N G u a n g -l i
(S c h o o l o f C o m p u t e r S c i e n c e , N o r t h w e s t e r n P o l y t e c h n i c a l U n i v e r s i t y , X i Õa n S h a n x i 710072, C h i n a )
【Abstract 】I n r e c e n t y e a r s , B o t n e t h a s b e e n o n e o f t h e e m e rg i n g s e r i o u s th r e a t s t o t h e I n t e r n e t a n d a t t r a c t e d w i d e a t t e n -t i o n f r o m r e s e a r c h e r s . B y a n a l y z i n g t h e c h a r a c t e r i s t i c s o f a b n o r m a l b e h a v i o r s h o w n b y B o t n e t a t i t s d i f f e r e n t s t a g e s , t h e p a p e r p r o p o s e s a B o t n e t -d e t e c t i n g m e t h o d b a s e d o n a b n o r m a l -b e h a v i o r -m o n i t o r i n g , d e s c r i b e s t h e p r i n c i p l e a n d t h e s t r u c -t u r a l f r a m e w o r k o f t h e s y s t e m , i n c l u d i n g t h e d e s i g n a n d i m p l e m e n t a t i o n o f i t s k e y t e c h n o l o g y .【Keywords 】b o t n e t ; a b n o r m a l b e h a v i o r ; d e t e c t i n g m e t h o d ; m o n i t o r i n g r u l e s
基于异常行为监控的
僵尸网络发现技术研究
*
0 引言
僵尸网络(Botnet)是指控制者和大量感染僵尸程序(Bot)主机之间形成一对多控制的网络,是近年来危害互联网的重大安全威胁之一。
攻击者利用Botnet远程控制大量僵尸计算机(Zombie)作为攻击平台,实施各种恶意行为。
由于Botnet能够实施众多攻击行为并从中获取经济利益,Internet上Botnet的数量和规模急剧膨胀,技术日趋成熟和复杂,逐渐发展成规模庞大、功能多样、不易检测的恶意网络,对互联
网的安全构成了不容忽视的威胁。
本文根据Botnet在工作过程各阶段表现出的异常行为特征,提出基于异常行为检测的Botnet发现思路,详细阐述了系统设计及关键技术的实现。
1 僵尸网络结构及其工作过程分析
1.1 僵尸网络结构
Botnet并不是物理意义上具有拓扑结构的网络,可以认为是一个受控逻辑网络[2]。
网络架构依据控制和通信方式分为IRC Botnet、AOL botnet和P2P Botnet三大类,现有大多数Botnet都采用IRC协议。
典型IRC Botnet结构采用
了命令与控制体系结构,如图1所示。
1.2 Botnet工作过程分析
Botnet工作过程分为传播、加入、等待和控制四个阶段。
(1) 传播阶段:Botnet控制者通过几种手段传播Bot控制一定规模的僵尸主机。
研究发现,有些Bot具有自动扫描大规模网段,利用系统漏洞和弱口令等手法查找脆弱主机进行传播,传播方式与蠕虫相类似。
信息安全与通信保密・2007.9
45
专家新论
源于联想 网御神州
图1 基于IRC协议的Botnet网络结构
图2 监控代理工作流程
(2) 加入阶段:每一个被感染主机上的Bot程序运行加入到Botnet中去,加入方式根据控制方式和通信协议的不同而有所不同。
基于IRC协议的Bot主机会登录到指定的IRC服务器和频道中去,在频道中等待控制者指令。
(3) 等待阶段:僵尸主机保持长时间在线连接,等待命令,没有任何动作。
在IRC聊天频道内长时间不发言,保持空闲。
(4) 控制阶段:控制者通过IRC Server发送预先定义好的控制指令,让僵尸主机执行恶意行为,如发起DDos攻击、更新升级恶意程序等。
在IRC Botnet中,控制者可以使用两种方式向Bot发送命令:直接发送普通的命令给Bot;在频道中设置一个特殊的主题[1]。
如果主题中没有包含任何指令,Bot将不作任何动作只是等待命令。
2 僵尸网络发现原理与系统结构
2.1 系统原理
Botnet工作过程的各个阶段都具有一些特定的行为特征。
大多数僵尸主机都具有可被利用的漏洞,在秘密植入Bot程序时,通常都会修改僵尸主机的注册表相应表项和系统文件,或作为线程插入到系统进程中,随着系统服务启动而激活。
通过网络流量研究,对于蠕虫传播的Bot程序,被其感染的大量计算机会在短时间内加入同一个IRC Server中;处于等待阶段的僵尸主机作为一个IRC聊天用户一般会长时间在线,在聊天频道内长时间保持静默。
在传播和攻击阶段时,僵尸主机会产生大量线程并有大量的网络流量,而此时鼠标和键盘可能并没有任何动作。
现有Bot程序大多数是由几种基本Bot程序(如Agobot、Rbot)衍生出的,可以通过对基本Bot程序的源码和样本分析,建立基本行为特征库,在后续的工作中不断完善。
基于IRC的Botnet网络拓扑结构是典型的层次型结构,控制者通过控制IRC服务器控制Bot活动。
大规模的僵尸网
络往往分成多个僵尸子网,每个僵尸子网由一个中间代理控制,控制者再控制多个中间代理。
一个重要特征:一个僵尸网络(或子网)的所有僵尸节点都受控于同一控制节点,与该节点建立通信关系。
僵尸主机只与上一级控制节点建立纵向通信关系,因此,利用这种偏序的通信关系层层向上追踪发现控制节点。
如果在很多节点上发现非正常通信关系指向同一个节点,则该节点很可能就是一个控制节点。
2.2 系统框架描述
基于上述原理,我们设计了一个分布式协同Botnet发现系统。
系统由若干监控代理(Agent)和一个监控中心组成。
监
控代理部署在有漏洞的主机和蜜罐上,按约定策略监控该节点上的通信关系和工作状态。
这些计算机的通信关系和状态是事先未知的,一般采用协同发现机制。
蜜罐部署采用分布式蜜罐系统,在每个蜜罐节点安装监控程序。
蜜罐节点的通信关系和状态是事先已知的,可以采用单点发现机制或协同发现机制。
监控中心存储、综合、分析各个监控代理上传的监控数据,以此来判别僵尸网络存在、拓扑结构和相关控制信息。
3 系统关键技术实现
3.1 发现机制
单点发现机制通过一个监控节点的独立信息来分析和确定其为一个僵尸节点,并进一步分析其通信关系获取其上级控制节点信息(如IP地址和端口、频道、口令等)。
这种机制在蜜罐下具有较高识别率,实现简单;对于主机部署,要区分Bot和正常程序的通信关系和操作行为,其准确率取决于对于僵尸
程序提取的特征模型、监控规则和推理规则,实现相对复杂。
协同发现机制主要是根据监控节点和IRC服务器之间的通信关系,监控中心综合分析多个监控节点的共同信息来确定它们是否是僵尸节点。
在确定是僵尸节点后,监控中心修改监控主机的监控规则来进一步获取僵尸网络的信息,其识别率取决于僵尸网络规模以及监控节点捕获同一僵尸网络节点的概率。
3.2 监控代理工作机制
整个监控活动由监控规则控制,包括行为定义、注册、修改、注销、默认启动的行为、动态启动和停止行为、行为参数修改等。
监控规则可以由监控代理根据推理规则动态调整,或依据监控中心根据各个节点数据处理结果人工参与修改。
监控代理的工作流程如图2所示。
监控代理主要工作过程如下:
专家新论
本栏目由网御神州科技有限公司协办
46
图3 僵尸程序工作状态转移图
(1) 由监控中心统一设置各个监控代理节点初始监控规则(一般采取默认设置)。
(2) 监控模块根据监控规则实施监控。
(3) 监控模块获取异常事件,并通知数据分析模块。
(4) 数据分析模块根据推理规则分析事件,若需更多事件信息,则修改监控规则,通知监控模块;若能够推理,则说明发现Bot,然后修改规则进一步获取Bot信息,并将Bot信息数据和Bot样本上传到监控中心;若不能推理,将事件信息上传监控中心,监控中心对各监控节点事件信息进行处理。
3.3 僵尸程序行为特征与监控规则监控规则的设计建立在行为特征分析基础上。
利用状态转移图描述Bot工作过程如图3所示。
Bot一般处于四个工作状态:临时态、挂起态、
活动态和攻击态。
临时态表示Bot第一次被激活,进行一些系统设置(如设置自启动项、文件拷贝);挂起态下Bot在频道中保持静默,等待命令;活动态时处于运行状态,与控制节点通信,但没有攻击行为;攻击态表示Bot正在对目标主机进行攻击。
通过对每种状态下的异常行为操作进行分析,获取特征行为集,用X ={a ,b ,c ,d ,e ,…}表示,X 为非空有限集合,其中每个元素代表一个特征行为。
监控代理监控X 的每一个特征行为,并给出一个行为事件,每个特征行为对应一个事件。
设行为集X对应的事件集为S `={A ,B ,C ,D ,E ,…},令事件集S =S `∪{Z },Z 表示事件“确定程序为僵尸程序”。
一个事件或几个事件对应于监控模块的一个或几个函数,这些函数通过获取系统的通信和操作行为等来确定事件是否发生,其结果集M={确定发生,确定没有发生,无法获取},对应的值为真(true)、假(false)、不确定(unknown)。
事件集由Bot行为特征和基本属性确定,基本事件反映Bot基本属性,如文件类型是exe、开机自启动等;非基本事件由Bot行为特征产生,如在无键盘操作时在IRC服务器上留言等。
3.4 特征数据分析及异常模式建立与推理
监控代理处理的行为特征数据是基于特定程序异常事件所产生的特征数据,监控程序根据监控规则获取特征行为事件,将事件信息和相关数据记录下来,并提交给数据处理模块。
推理规则根据Bot的行为特征和基本属性分为基本规则和非基本规则。
规则来自Bot一般属性,如文件类型是exe或dll、窗口隐藏等,基本规则一般用来否定一个程序是Bot;
非基本规则根据Bot的异常行为特征来推断,如短时间内产生大量的线程,主动对其他主机的不常用端口进行连接。
当一个程序具有此类行为特征时,该程序可能是Bot。
当事件A产生时,首先利用基本规则来试图否定它,如果程序满足所有基本规则,则搜索每一个含有A的推理规则,看条件是否满足,若满足则能推断它是僵尸程序;若不满足,则说明它不是僵尸程序;若推理规则中含有其他未知值的事件,则产生新规则,获取这些事件的值,然后再推理;若最后条件事件的值为不确定,则放弃推理,产生新的数据提交到监控中心。
监控中心综合分析、处理大量各个节点获取的可疑通信行为数据,为提高效率和准确度,根据Bonet通信行为特征,可利用数据挖掘、统计推断等方法处理。
3.5 控制节点追踪机制
控制节点的追踪机制采用逆向追踪方法,首先建立监控代理获取的僵尸节点分布视图,然后分析和获取控制节点的信息,再追踪上一级控制节点,直到最终的攻击者节点。
当确定获取到一个新的Bot,可以根据监控代理的通信记录获取监控节点的IP地址和端口号、控制方式等信息。
采用动态反编译工具和通信监听工具获取认证口令和用户名等信息。
通过模拟一个IRC客户端来获取通信信息,进而可以获取其他僵尸节点的信息。
通过ISP的配合,在通信连接建立以后,冒充僵尸程序向中间代理发送特殊格式的数据包,这些数据包就会通过中间代理一直达到控制节点。
ISP通过网络基础设施获取此类包,分析网络攻击路径,直到找到控制节点。
4 结语
通过对Botnet的结构和工作过程分析,本文针对Botnet在各阶段表现出的行为特征,提出了解决方法。
文中提出的基于异常行为检测的方法弥补了现有研究方法的不足。
该方法目前还存在一定的不足,在进一步的研究工作中需要设计更高效的数据处理算法来提高系统性能,综合其他发现机制以降低误报率。
现有的方法只能发现基于IRC协议的Botnet,未来将对基于P2P结构的Botnet进行研究,并找到行之有效的发现方法。
参考文献
[1] 周勇林. 僵尸网络的威胁和应对措施[R]. 国家计算机网
络应急技术处理协调中心,2005.
[2] 金双民,郑辉,段海新. 僵尸网络研究系列文章之一
—僵尸网络研究概述[J]. 中国教育网络,2006,7 :44~46. 。