一种基于状态划分的僵尸网络检测模型研究


19 ·技术 / TECHNOLOGY· 科研信息化技术与应用 2012, 3(2): 19–24 一种基于状态划分的僵尸网络检测 模型研究 万巍1,2,李俊1 1.中国科学院计算机网络信息中心 北京 100190 2.中国科学院研究生院 北京 100049 摘 要: 关键词: A Botnet Detection Model Based on State Division Wan Wei1, 2, Li Jun1 1. Computer Network Information Center of Chinese Academy of Sciences, Beijing 100190, China 2. Graduate University of the Chinese Academy of Sciences, Beijing 100049, China Abstract: 僵尸网络作为一种新型的攻击手段对互联网安全产生重大威胁,随着僵尸网络技术的快速发展,基 于多种协议的僵尸网络应运而生。针对僵尸网络的特点,将隐马尔可夫模型应用于僵尸网络检测技 术中。首先根据当前僵尸网络的发展状况及存在的问题分析了僵尸网络的生命周期和行为特征;然 后通过状态划分的方法对僵尸网络进行数学建模,并提出一种基于该模型的僵尸网络的检测方法; 最后通过实验,并对实验结果进行分析与总结,验证了检测方法的可靠性和合理性。 僵尸网络;隐马尔可夫模型;状态划分 Botnet as a new technology of attacks is a serious threat to Internet security. With the rapid development of the botnet, botnet based several protocols came into being. In accordance with the feature of botnet, the Hidden Markov Model has applied in botnet detection. Firstly, according to the current situation and problems of the botnet, the life cycle and behavior characteristics of the botnet have been analyzed. After 基金项目:中国科学院知识创新工程青年人才领域前沿项目 (CNIC_QN_11003) 20 科研信息化技术与应用,2012, 3 (2) 1. 引言 僵尸网络是近年来兴起的对互联网安全产生重 大安全威胁的一种技术手段。2011 年,国家互联网 应急中心 (CNCERT) 抽样监测发现,境外有近 4.7 万 个 IP 地址作为僵尸网络控制服务器参与控制我国境 内主机,虽然其数量较 2010 年的 22.1 万大幅降低, 但其控制的境内主机数量却由 2010 年的近 500 万增 加至近 890 万,增加了 78.5%,并呈现大规模化趋 势。以美国为例,2011 年以 9 528 个 IP 控制着我国 境内近 885 万台主机,控制我国境内主机数仍然高居 榜首[1]。国家、企业以及网民的信息安全面临严重威 胁。黑客在疯狂控制僵尸网络的同时,也在想法设法 逃避监测和打击,例如,越来越多的黑客采用频繁更 换域名指向 IP 等手段规避安全机构的监测和处置。 僵尸网络采用一种或多种传播手段,将大量主机 感染僵尸程序,从而在控制者和被感染主机之间形成 一个可以一对多进行控制的网络。僵尸网络具有一定 的分布性,随着僵尸程序的不断传播,不断的有新的 僵尸主机加入到这个网络中来。控制者利用僵尸网络 向僵尸主机下发各种命令以达到攻击的目的。根据僵 尸网络命令与控制的协议的不同,目前比较常见的僵 尸网络有三种:基于 IRC (Internet Relay Chat) 协议的 僵尸网络、基于 HTTP 协议的僵尸和基于 P2P (Peer- to-Peer) 协议的僵尸网络[2]。 2. 僵尸网络特征分析 为基于 IRC 协议的僵尸网络和基于 HTTP 协议的 僵尸网络都属于集中型 C/S 架构的僵尸网络,其命令 与控制机制具有较高的执行效率,但是中心控制服务 器作为集中的通信枢纽,一旦被控制或者破坏,整个 僵尸网络也将随之瓦解。随着 P2P 技术的不断发展, 基于 P2P 协议的僵尸网络也应运而生。它不同于集中 型的 C/S 架构的僵尸网络,这种僵尸网络没有集中的 控制服务器,每台僵尸主机之间都可以互相接收和传 播控制与命令,因此即使一些僵尸主机被发现或者控 制也不会对整个僵尸网络造成太大的影响。 2.1 僵尸网络的生命周期 一个典型的僵尸网络的生命周期可以划分为以 下 5 个阶段:传播阶段、感染阶段、控制阶段、攻击 阶段和销毁阶段[3]。 (1) 传播阶段:僵尸网络控制者必须拥有一定数量 的僵尸主机才能够达到对外攻击的目的,僵尸网络的 规模越大,其攻击效果越明显。因此控制者需要制造 僵尸程序并传播给受害主机,受害主机一旦感染上僵 尸程序后也能够自动对外传播僵尸程序,以达到扩大 僵尸网络规模的目的。 (2) 感染阶段:受害主机一旦下载了僵尸程序后会 自动执行僵尸程序感染系统,同时受感染的僵尸主机 会隐藏自身并加入僵尸网络控制与命令通道。 (3) 控制阶段:僵尸主机会通过控制与命令通道来 获取控制者的指令。基于 IRC 协议的僵尸网络中的僵 尸主机可以像正常用户那样从 IRC 聊天频道中接收僵 尸网络控制者的消息,并将收到的消息作为命令进行 解释执行。基于 HTTP 协议的僵尸网络中,攻击者通 过架设 HTTP 网站,在网页上发布命令脚本,僵尸主 机通过 HTTP 协议访问该网页,然后根据该脚本进行 相应的操作。基于 P2P 协议的僵尸网络,获取指令的 方法有主动获取和被动接收两种。前者是指僵尸主机 定期到某一指定的地点获取指令;后者是控制者将指 令发布给某些僵尸主机后,由受控主机按 P2P 的传播 方式继续将指令对外传播以使大量的僵尸主机获取该 Keywords: that, a mathematical model based on state division has been built to describe the botnet. Meanwhile, a method of botnet detection based on this model has been proposed. Finally, we analyzed and summarized the experimental results, and verified the reliability and rationality of the detection method. Botnet; Hidden Markov Model; State division 21 万巍 等: 一种基于状态划分的僵尸网络检测模型研究 指令。 (4) 攻击阶段:在该阶段,僵尸网络控制者利用 僵尸网络对某目标网站或主机实施 DDoS (Distributed Denial of Service, 分布式拒绝服务) 攻击,或者发送大 量的垃圾邮件,甚至通过发送含有仿冒 URL 的邮件 进行网络钓鱼诈骗等等。 (5) 销毁阶段:有时僵尸网络的控制者为了更好的 保护僵尸网络本身而根据僵尸主机的状态主动销毁掉 部分僵尸主机。或者僵尸主机通过技术手段被检测出 来而人为的销毁。 2.2 僵尸网络的特征 基于 IRC 协议的僵尸网络存在一些特殊的动作行 为,比如僵尸程序登录 IRC 频道后处于 idle 状态,仅 通过 ping-pong 命令与服务器保持连接,同时 IRC 僵尸 网络中的 IRC 数据包包长和 IRC 详细分布具有一定的 统计特性。另外基于 IRC 协议的僵尸网络频道内的大 部分客户端会执行大量的相似的攻击命令,并且客户 端的昵称也存在一定的相似性。 基于 HTTP 协议的僵尸网络以网页作为集中 发布控制命令的平台,因为僵尸程序都是通过正常 的 HTTP 协议访问该网页,因此在通信机制上存在一 定的隐蔽性。但是作为集中发布控制命令的网页存在 一定的特征,比如网页内容中含有异常字符串或可疑 脚本程序等。另外僵尸程序与该网页之间的通信报文 以及通信频率都存在一定的相似性。 基于 P2P 协议的僵尸网络使用了 P2P 协议,具体 表现在它通过 P2P 协议传播僵尸程序扩大僵尸网络规 模以及通过 P2P 协议构建僵尸网络控制与命令通信信 道[4]。因此基于 P2P 协议的僵尸网络的特征除了传统僵 尸网络的典型特征以外还同时具有 P2P 网络的许多特 征,比如 P2P 僵尸网络中的节点会频繁的加入或者退 出以及部分节点的关闭对整个基于 P2P 协议的僵尸网 络不会造成太大的影响等等。在基于 P2P 协议的僵尸 网络中,攻击者在某一时刻统一向网络中的僵尸主机 发送攻击指令,这使得在同一时刻多台僵尸主机具有 相似的网络行为,比如端口扫描、发送垃圾邮件、可 执行文件下载、DDoS 攻击等。另外 P2P 僵尸网络还 具有在短时间内频繁发送 SYN (Synchronize Sequence numbers) 包以及 ARP (Address Resolution Protocal) 包 请求、周期性的与某些 IP 地址建立连接等 P2P 网络 的特征[5]。 3. 僵尸网络数学建模 通过对僵尸网络的深入分析,本文研究结合隐马 尔可夫模型对僵尸网络进行基于状态划分的数学建模 并对其进行检测的方法。 3.1 隐马尔可夫模型 HMM (Hidden Markov Models,隐马尔可夫模型) 是马尔可夫链的一种,它的状态不能直接观察到,但 能通过观测向量序列观察到,每个观测向量都是通过 某些概率密度分布表现为各种状态,每一个观测向量 是由一个具有相应概率密度分布的状态序列产生[6]。 HMM 是一个双重的随机过程,其中一个是有限状态 马尔可夫链,它用来描述状态的转移;另一个随机 过程用来描述状态与观测值之间的统计对应关系。 HMM 可以定义为一个五元组: 其中,X 是状态集,一共有 N 个状态,这些状 态均满足马尔可夫性质,是马尔可夫模型中隐含表现 的状态,qt 表示在 t 时刻所处的状态,qt∈X;O 表示 观察值的集合,M 表示从每一个状态可能输出的不 同的观察值的数目;A 是状态转移概率矩阵,表示在 当 t 时刻状态为 Si 的条件下,t+1 时刻跳转为 Sj 的条 件概率;B 是观察值的概率分布矩阵,表示在 t 时刻 当状态为 Sj 时,观测到的观察值为 Vk 的条件概率; П是初始化状态概率分布矩阵,表示初始化时处于状 态 Si 的条件概率。一般情况下,隐马尔可夫模型可以 22 科研信息化技术与应用,2012, 3 (2) 简化表示为如下的三元组: λ = (A, B, П) 3.2 基于状态划分的数学建模 结合对僵尸网络的生命周期的描述,可以将僵尸 主机划分为 4 个状态,其有限状态机如图 1 所示: 僵尸主机有限状态机可以如下描述: M = (Q, Σ, δ, q0, F) Q = {Normal, Infection, Active, Attack} Σ = {inject, control, update, response, close} δ {Normal, inject) = Infection δ (Infection, control) = Active δ (Active, update) = Active δ (Active, response) = Attack δ (Active, control) = Infection δ {Infection | Active | Attack, close) = Normal q0 = Normal F = {Attack} 其中 Q 是有限状态集合;Σ 是有限输入集合, 在任一确定时刻,有限状态机只能接受一个确定的输 入;δ 是状态转移函数; q0∈ Q 是初始状态;F ⊆ Q 是 接受状态。 Normal 态:表示主机未受僵尸程序感染或者主 机上的僵尸程序被关闭或清除时的状态。该状态是主 机的正常状态。 Infection 态:表示主机被植入僵尸程序时的状 态。在该状态下,主机具有修改注册表、开放特定端 口、访问特定 IP 地址、访问特定 URL、扫描特定端 口、建立大量的 TCP 连接、发送大量 ARP 请求以及 其他异常行为特征。 Active 态:表示被感染僵尸程序的主机与其他僵 尸主机进行联系和通信的状态。在该状态下,主机具 有周期性的发送更新数据包、周期性访问特定 IP 地 址、周期性访问特定 URL、监听特定端口、扫描其 他主机漏洞以及其他异常特征。 Attack 态:表示僵尸主机接收到控制命令对外发 起攻击时的状态,比如发送垃圾邮件、DDoS 攻击等。 通过分析,僵尸网络中的僵尸主机的状态变迁也 是一个随机的过程,观察者只能观察到僵尸主机的行 为特征或者主机属性,而僵尸主机的状态并不能直接 观察到。另一方面,僵尸主机的状态变迁过程也符合 马尔可夫规则。因此可以利用隐马尔可夫模型对僵尸 网络中的僵尸主机的特征行为进行数学建模。 结合隐马尔可夫模型的数学描述和对僵尸主 机的状态定义,可以把僵尸主机的 4 个状态看做隐 马尔可夫链的状态集 X,把僵尸主机的行为特征、 网络流量特征、主机属性等看做观察值的集合 O。 在同一个僵尸网络中的各僵尸主机应该表现出相似 的隐马尔科夫链过程,因此对僵尸主机训练集利 用 Baum-Welch 算法迭代寻找使得训练模型似然函 数最大化的隐马尔可夫模型参数[7]。应用聚类算法重 复进行这一个过程来对一个给定的僵尸主机构建多 个隐马尔可夫模型,然后将多个隐马尔可夫模型合 并为一个最终的混合模型。通过 Viterbi 算法寻找对 于一个给定观察值集合 O 和隐马尔可夫模型 λ 最可 能的状态序列,产生最优的模型,数学表达式可以 表示为: class (O) = arg maxc Pviterbi (O, λc) 3.3 检测方法 根据对僵尸网络的数学建模,结合对僵尸主机的 状态划分,需要获取检测对象的观察值集合 O,即主 机的基本属性异常特征、网络流量异常特征、网络行 为异常特征等。通过比对主机状态转移模型与已训练 的僵尸网络模型之间的相似度来判断被检测主机是否 属于僵尸网络。系统结构图如图 2 所示: 图 1 僵尸主机有限状态机 23 万巍 等: 一种基于状态划分的僵尸网络检测模型研究 似,并且很多基于该协议的僵尸程序通信报文都经过 加密处理,因此对该类僵尸网络的检测效果不理想。 通过增加训练集样本的数量应该能够有效降低系统的 漏报率,同时对模型参数的调整可以减少因含有观察 特征值的非僵尸程序所产生的误报。 5. 结束语 本文提出一种僵尸网络的检测方法,通过结 合隐马尔可夫模型对僵尸网络进行基于状态划分的 数学建模以检测可疑的僵尸主机。通过实验评估表 明该方法能够有效的对基于 IRC 协议的僵尸网络 和基于 P2P 协议的僵尸网络进行有效的检测,对基 于 HTTP 协议的僵尸网络检测效果不理想。在未来的 工作中,将继续研究僵尸网络并对模型进行优化,进 一步提高检测的效率。 参考文献 [1] 国家计算机网络应急技术处理协调中心. 2010 年中国互联 网网络安全报告 [M]. 北京: 电子工业出版社, 2011 年. [2] 诸葛建伟, 韩心慧, 周勇林等. 僵尸网络研究 [J]. 软件学 报, 2008, 19 (3): 702–715. [3] Lee WK, Wang C, Dagon D, et al. Botnet Detection: 系统主要分为主机特征监测模块、数据存储模块 和僵尸网络检测模块三大部分。 主机特征监测模块包含主机监测、网络行为监测 和网络流量监测三个子模块。主机监测子模块需要部 署在监控主机上,负责记录系统关键文件变化、注册 表变化、关键进程变化、端口状态等,并提取出异常 信息作为主机基本属性的异常特征。网络行为监测子 模块基于入侵检测系统 snort 检测主机产生的异常网络 行为,包括发送垃圾邮件、DDoS 攻击等。网络流量 监测子模块基于 netflow 技术对主机的网络流量进行采 样,通过与历史数据比对分析主机的异常流量特征。 数据存储模块存储主机特征监测模块所产生的主 机异常特征信息。 僵尸网络检测模块通过实时获取主机特征监测模 块所产生的主机异常特征信息并结合数据存储模块中的 历史数据,通过计算判断该主机是否属于僵尸网络。 4. 试验结果 通 过 对 实 验 环 境 中 的 测 试 主 机 分 别 运 行 基 于 IRC 协议僵尸程序、基于 HTTP 协议僵尸程序、 基于P2P协议僵尸程序、其他攻击程序、正常 IRC 程 序、正常基于 HTTP 协议的程序、正常 P2P 程序和其 他正常程序各 50 种,利用该系统对它们进行检测, 结果如表 1 和表 2 所示。 经过计算,利用该方法检测基于 IRC 协议的僵 尸网络的漏报率为 4%,基于 HTTP 协议的僵尸网络 的漏报率为 24%,基于 P2P 协议的僵尸网络的漏报 率为 6%,非僵尸网络误报率为 5.2%。经分析,基 于 HTTP 协议僵尸网络由于与正常的网页访问非常相 表 1 僵尸网络程序检测结果 表 2 其他程序检测结果 检测程序类型 数量 检测结果 基于 IRC 协议僵尸程序 50 48 基于 HTTP 协议僵尸程序 50 38 基于 P2P 协议僵尸程序 50 47 检测程序类型 数量 检测结果 其他攻击程序 50 4 正常 IRC 程序 50 2 正常基于 HTTP 协议的程序 50 1 正常 P2P 程序 50 4 其他正常程序 50 2 图 2 系统结构图 24 科研信息化技术与应用,2012, 3 (2) Countering the Largest Security Threat[C]. New York: Springer-Verlag, 2007, 27(3): 25–32. [4] 张琛, 王亮, 熊文柱. P2P 僵尸网络的检测技术 [J]. 计算 机应用, 2010, 30 (S1): 117–120. [5] 周继鹏, 朱良愿. 基于物理网络拓扑的 P2P 系统模型 [J]. 微电子学与计算机, 2006, 23 (10): 65–67. [6] 孙永强, 徐昕, 黄遵国. 基于 HMM 的分布式拒绝服务攻 击监测方法 [J]. 微电子学与计算机, 2006, 10 (23): 176– 186. [7] 林果园, 郭山清, 黄皓等. 基于动态行为和特征模式的异 常检测模型 [J]. 计算机学报, 2006, 29 (9): 1553–1560. 收稿日期:2012 年 2 月 1 日 万 巍:中国科学院计算机网络信息中心,博士研 究生,工程师。主要研究方向为计算机网络安全。 E-mail: wanwei@cstnet.cn 李 俊:中国科学院计算机网络信息中心,研究员, 博士生导师。主要研究方向网络体系结构、管理、安 全、无线移动技术。 E-mail: jlee@cstnet.cn
还剩5页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf