一种检测僵尸网络的方法及其装置的制作方法

文档序号:7708342阅读:177来源:国知局
专利名称:一种检测僵尸网络的方法及其装置的制作方法
技术领域
本发明涉及计算机网络领域,尤其是涉及到一种检测僵尸网络的方法 及其装置。
背景技术
僵尸网络(Botnet)是网络攻击者将僵尸工具(Bot)植入到多个僵 尸主机(Zombie),然后利用僵尸主机上的僵尸工具控制僵尸主机去攻击 其他受害者主机的网络;其中,僵尸工具是被预定义的命令所远程控制, 并具有一定人工智能的程序,僵尸主机则为被植入僵尸工具的主机。
通过僵尸网络,网络攻击者可利用僵尸主机隐蔽自己,并控制僵尸主 机攻击其他主机达到非法目的,例如进行分布式拒绝服务攻击(DDos, Distributed Denial of Service )、发送垃圾邮件、窃取秘密、滥用资源等攻 击行为,使得僵尸网络成为目前互联网安全最严重的威胁之一。
要制止网络攻击者利用僵尸网络进行攻击,就必须确定僵尸网络的存 在;而僵尸主机是僵尸网络的重要特征,找到僵尸主机的所在,则可进一 步对僵尸网络采取响应和防御措施。
现有技术中, 一般是通过在站点或主机遭受僵尸网络攻击,或者部署 虚假主机引诱攻击者攻击后,获取僵尸工具的程序样本,采用逆向工程等 恶意代码分析手段,获得隐藏在代码中的僵尸网络的登录信息,使用定制 的僵尸程序登录到僵尸网络中去,再进一步采取应对措施。
在对现有技术的研究和实践过程中,本发明的发明人发现存在以下问

目前对僵尸网络的检测方法都是在遭受了僵尸网络的攻击后才被动 地进行4全测,较为滞后。

发明内容
本发明实施例提供一种能够实时检测僵尸网络的方法及其装置,能在 遭受到僵尸网络的攻击前主动地确定僵尸主机的位置,从而检测到僵尸网 络。为解决上述技术问题,本发明所提供的实施例是通过以下技术方案实
现的
一种检测僵尸网络的方法,包括 获取网络中的数据报文;
对所述数据报文中的可执行程序进行安全性分析,将有危害的可执行 程序确定为恶意资源;
监控所述恶意资源是否有访问请求;
当有访问请求时,确定发出所述访问请求的主机为僵尸主机。 一种检测僵尸网络的装置,包括 获取单元,用于获取网络中的数据报文;
分析单元,用于对获取单元获取的数据报文中的可执行程序进行安全 性分析,将有危害的可执行程序确定为恶意资源;
监控单元,用于监控分析单元分析得到的所述恶意资源是否有访问请
求;
确定单元,用于当有访问请求时,确定发出监控单元监控的所述访问 请求的主机为僵尸主机。
由上述技术方案可以看出,本发明实施例通过主动获取网络中的数据 报文,并对数据报文中的可执行程序进行安全性分析,然后监控访问有危 害的可执行程序的请求主机地址,即可确定发出所述请求的主机为僵尸主
从而在遭受到僵尸网络的攻击前主动地确定僵尸主才几的位置,4全测到 僵尸网络的存在。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性 劳动的前提下,还可以根据这些附图获得其他的附图。
图l是僵尸网络多级控制架构的结构示意图2是僵尸网络对等协议架构的结构示意图3是本发明实施例一的方法流程示意图;图4是本发明实施例二的方法流程示意图; 图5是本发明实施例装置的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进 行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没 有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的 范围。
僵尸网络的架构一般有
1、 多级控制架构参见图1,图1为僵尸网络多级控制架构结构示意 图。从上到下依次为攻击者、控制端、僵尸主机、受害者;攻击者通过控 制端向僵尸主机植入僵尸工具,进而攻击受害者;控制端可为多级控制结 构,在基于因特网中继聊天协议(IRC, Internet Relay Chat)实现的僵尸网 络中,控制端可为IRC服务器。
2、 对等协议(P2P, peer-to-peer)结构参见图2,图2为僵尸网络 对等协议架构的结构示意图。具有更强隐蔽性和危害性;攻击者可通过控 制定位文件位置的数据库,来将僵尸工具植入到与该数据库连接的所有主 机中,进而攻击受害者。
发明人发现,无论是哪一种网络架构,僵尸主机都需要下载僵尸工具 才能被攻击者所控制,而下载必须首先访问僵尸工具的地址;因此,本发 明实施例利用"访问"这一特性,监控请求访问网络恶意资源的主机地址, 从而确定僵尸主机。
以下为本发明具体实施例。
实施例一、参见图3详细说明,图3为本实施例的方法流程示意图。 步骤101:获取网络中的数据报文。
因网络访问经常使用的为超文本传输协议(HTTP, Hyper Text Transfer Protocol)、文件传输协议(FTP, File Transfer Protocol )、简单文件传输协 议(TFTP, Trivial File Transfer Protocol),本发明实施例则可直接获取网络 中使用这几种协议进行传输的数据报文,或者,也可在获取网络中的数据报文后过滤出使用这几种协议的数据报文,其中,可利用深度包检测技术
(DPI, Deep Packet Inspection)进行过滤。显然,上述几种协议是4吏用较 多的协议,获取使用其他协议进行传输的数据报文也不影响本发明实施例 的实现。
步骤102:对所述数据报文中的可执行程序进行安全性分析,将有危 害的可执行程序确定为恶意资源。
安全性分析可以参照杀毒软件的分析方法进行,或者直接利用现有的 杀毒软件进行安全性分析,杀毒软件报警则说明该可执行程序有危害。
有危害的可执行程序即为会产生危险行为的程序,例如未经授^l的访 问、緩冲区溢出、拒绝服务、信息被修改等。
恶意资源为网络中被主机访问以及使用的数据、程序、代码等对象, 网络攻击者通常将僵尸工具隐藏在恶意资源中,以蒙蔽用户,使得僵尸工 具隐藏地、不为访问用户所知地种植到访问恶意资源的主机中。
步骤103:监控恶意资源是否有访问请求。
还可先确定某一具体恶意资源的访问路径,然后监控所述访问;洛径的 访问请求。例如某恶意资源的访问路径为"服务器A/主目录B/子目录C", 则监控访问该路径的访问请求。
步骤104:当有访问请求时,确定发出访问请求的主机为僵尸主机。 确定发出步骤103监控的访问请求的主机为僵尸主机。 本发明实施例通过主动获取网络中的数据报文,并对数据报文中的可 执行程序进行安全性分析,然后监控访问有危害的可执行程序的请求主机 地址,即可确定发出所述请求的主机为僵尸主机,从而在遭受到僵尸网络 的攻击前主动地确定僵尸主机的位置,检测到僵尸网络的存在。
以下实施例二为实施例一监控恶意资源的访问请求的应用实施例。 实施例二、参见图4详细说明,图4为本实施例的方法流程示意图。 步骤201:获取网络中的数据报文。 步骤203:过滤数据报文。
因网络访问经常^f吏用的应用层协议为HTTP、 FTP、 TFTP协i义,本发 明实施例则可直接获取网络中使用这几种协议进行传输的数据报文,或者,也可在获取网络中的数据报文后过滤出使用这几种协议的数据报文。
过滤数据报文可通过深度包检测技术实现,它能高效地识别出网络上 的各种应用。所谓"深度,,是和普通的报文分析层次相比较而言的,普通 报文检测仅分析包的层4以下(网络层、链路层、物理层)的内容,包括 源地址、目的地址、源端口、目的端口以及协议类型,而深度包检测技术 除了对前面提到的层次进行分析外,还增加了应用层分析,识别各种应用 及其内容。
深度包检测技术的识别技术可分为多种
第一类是基于特征字的识别技术不同的应用通常会采用不同的协 议,而各种协议都有其特殊的指纹,这些指纹可能是特定的端口、特定的 字符串或者特定的比特流序列。基于特征字的识别技术,正是通过识别数 据报文中的指紋信息来确定业务流所承载的应用。通过对指紋信息的升 级,基于特征字的识别技术可以很方便地扩展到对任意协议的检测。
以基于对等协议的比特流(Bit torrent)协议的识别为例对等协议 总是由一个"握手"开始,后面是循环的消息流,每个消息的前面,都有 一个数字来表示消息的长度。在握手流程中,首先发送"19",跟着是字 符串"Bit Torrent protocol"。因此可以确定,"19 Bit Torrent Protocol"就 是Bit torrent协议的特征字。
第二类是行为模式识别技术基于对终端的各种行为的研究基础,建 立起行为识别模型,行为模式识别技术即可根据用户已经实施的行为,判 断用户正在进行的动作或者即将实施的动作。
行为模式识别技术通常用于那些无法由协议本身判定的业务。例如, 从电子邮件(Email)的内容看,垃圾邮件(SPAM)业务流与普通邮件业 务流两者没有区别,只有进一步分析才能识别出SPAM邮件。具体可通过 发送邮件的速率、目的邮件地址数目、变化频率、源邮件地址数目、变化 频率、邮件被拒绝的频率等参数,建立起行为识别模型,并以此分拣出垃 圾邮件。
步骤203:存储过滤后的数据报文。
将过滤后的数据报文的访问路径、访问软件名称、请求访问主机、被访问主机等记录下来,存在数据库中,可备后续分析之用。
数据库可为预置数据库,用于存储从网络中获取的数据报文和/或过滤
后的数据报文。
步骤204:对存储的数据报文中的可执行程序进行安全性分析,将包
含有危害的可执行程序确定为恶意资源。
为便于传输,攻击者要给僵尸主机植入的僵尸工具的所占空间不会太
大, 一般不会超过2M,因此,可对占用空间小于2M的可执行程序优先进 行安全性分析,以提高检测恶意资源的效率。
安全性分析可以参照杀毒软件的分析方法进行,或者直接利用现有的 杀毒软件进行安全性分析,杀毒软件报警则说明该可^L行程序有危害。
通过安全性分析,将可能引起緩冲区溢出、脚本注入和跨站点脚本处 理、分布式拒绝服务、蛮力攻击、信息修改等危险行为的可执行程序确定 为恶意资源。
步骤205:提取恶意资源的信息。
提取恶意资源的访问路径、访问软件名称等信息。
步骤206:监控恶意资源的访问请求。
根据提取的恶意资源的访问路径、访问程序名称等信息,监控恶意资 源的访问请求。可以是访问某程序的请求,或者是访问某访问路径的请求。
步骤207:确定发出访问请求的主机为僵尸主机。
也可以在发出访问请求的次数超过预设的阈值时,才确定发出所述访 问请求的主机为僵尸主机,避免误认。
本发明实施例通过主动获取网络中的数据报文,并对数据报文中的可 执行程序进行安全性分析,然后监控访问有危害的可执行程序的请求主机 地址,即可确定发出所述请求的主机为僵尸主机,从而在遭受到僵尸网络 的攻击前主动地确定僵尸主机的位置,检测到僵尸网络的存在。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将 其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发 明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以 采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不 一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中 没有详述的部分,可以参见其他实施例的相关描述。
以上提供了 一种检测僵尸网络的方法,本发明实施例还提供一种检测 僵尸网络的装置。
一种检测僵尸网络的装置,如图5所示,图5为本发明实施例装置的 结构示意图,包括
获取单元ll,用于获取网络中的数据报文;还可用于对获取的数据报 文进4于过滤;
因网络访问经常使用的为HTTP、 FTP、 TFTP,本发明实施例可直接 获取网络中使用这几种协议进行传输的数据报文,或者,也可在获取网络 中的数据报文后过滤出使用这几种协议的数据报文,其中,可利用深度包 检测技术(DPI, Deep Packet Inspection)进行过滤。显然,上述几种协议 是使用较多的协议,获取使用其他协议进行传输的数据报文也不影响本发 明实施例的实现。
分析单元12,用于对获取单元11获取的数据报文中的可执行程序进行 安全性分析,将有危害的可执行程序确定为恶意资源;具体用于存书者获取 的数据报文,再对存储的数据报文中的可执行程序进行安全性分析。
则分析单元12可包括存储子单元121、安全分析子单元122和确定子 单元123:
存储子单元121用于存储获取的数据报文;
安全分析子单元122用于对存储子单元121存储的数据报文中的可执 行程序进行安全性分析;
确定子单元123用于将安全分析子单元122分析得到的有危害的可执 行程序确定为恶意资源。
安全性分析可以参照杀毒软件的分析方法进行,或者直接利用现有的 杀毒软件进行安全性分析,杀毒软件报警则说明该可执行程序有危害。
有危害的可执行程序即为会产生危险行为的程序,例如未经授权的访问、緩冲区溢出、拒绝服务、信息被修改等。
恶奮资源为网络中被主机访问以及使用的数据、程序、代码等对象, 网络攻击者通常将僵尸工具隐藏在恶意资源中,以蒙蔽用户,使得僵尸工 具隐藏地、不为访问用户所知地种植到访问恶意资源的主机中。
监控单元13,用于监控分析单元12分析得到的所述恶意资源是否有 访问请求;具体用于确定恶意资源的访问路径后,对所述访问路径进行监 控,判断是否有主机发出访问请求。例如某恶意资源的访问路径为"服务
器A/主目录B/子目录C",则监控访问该路径的访问请求。
则监控单元13可包括路径确定子单元131和判断子单元132; 路径确定子单元131用于确定所述恶意资源的访问路径; 判断子单元132用于对路径确定子单元131确定的访问路径进4亍监控, 判断是否有主机发出访问请求。
确定单元14,用于当有访问请求时,确定监控单元13监控的发出访 问请求的主机为僵尸主机;还可用于在发出访问请求的次数超过预设的阈 值时,确定发出访问请求的主机为僵尸主机。
本发明实施例装置可存在于网关设备上,以更有效地保护网络安全。 本发明实施例装置通过获取单元11主动获取网络中的数据报文,并由 分析单元12对数据报文中的可执行程序进行安全性分析,然后监控单元 13监控访问有危害的可执行程序的请求主机地址,即可确定发出所述请求 的主机为僵尸主机,从而在遭受到僵尸网络的攻击前主动地确定僵尸主机 的位置,检测到僵尸网络的存在。
本发明实施例设备的各个模块可以集成于一体,也可以分离部署。上 述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分 流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一 计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施 例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。 以上对本发明实施例所提供的一种能够实时检测僵尸网络的方法及其装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式
思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实
施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解 为对本发明的限制。
权利要求
1、一种检测僵尸网络的方法,其特征在于,包括获取网络中的数据报文;对所述数据报文中的可执行程序进行安全性分析,将有危害的可执行程序确定为恶意资源;监控所述恶意资源是否有访问请求;当有访问请求时,确定发出所述访问请求的主机为僵尸主机。
2、 根据权利要求1所述的方法,其特征在于,所述监控所述恶意资源是 否有访问请求包括确定所述恶意资源的访问路径;对所述访问路径进行监控,判断是否有主机发出访问请求。
3、 根据权利要求1所述的方法,其特征在于,还包括 对获取的网络中的数据报文进行过滤;所述对所述数据报文中的可执行程序进行安全性分析包括对过滤后的 所述数据才艮文中的可执行程序进行安全性分析。
4、 根据权利要求1所述的方法,其特征在于,所述对所述数据报文中的 可执行程序进行安全性分析,将有危害的可执行程序确定为恶意资源包括存储所述数据^^艮文;对存储的数据报文中的可执行程序进行安全性分析; 将有危害的可执行程序确定为恶意资源。
5、 根据权利要求1至4任一项所述的方法,其特征在于,还包括 在发出所述访问请求的次数超过预设的阈值时,确定发出所述访问请求的主才几为僵尸主才几。
6、 一种检测僵尸网络的装置,其特征在于,包括 获取单元,用于获取网络中的数据报文;分析单元,用于对获取单元获取的数据报文中的可执行程序进行安全性分析,将有危害的可执行程序确定为恶意资源;监控单元,用于监控分析单元分析得到的所述恶意资源是否有访问请求; 确定单元,用于当有访问请求时,确定发出监控单元监控的所述访问请求的主机为僵尸主才几。
7、 根据权利要求6所述的装置,其特征在于,所述监控单元包括路径确 定子单元和判断子单元;所述路径确定子单元用于确定所述恶意资源的访问路径;判断是否有主机发出访问请求。
8、 根据权利要求6所述的装置,其特征在于,所述获取单元还用于对获 取的数据报文进行过滤。
9、 根据权利要求6所述的装置,其特征在于,所述分析单元包括存储 子单元、安全分析子单元和确定子单元;所述存储子单元用于存储获取的数据报文;进行安全性分析;所述确定子单元用于将安全分析子单元分析得到的有危害的可^M于程序 确定为恶意资源。
10、根据权利要求6至9任一项所述的装置,其特征在于,所述确定单 元还用于在发出所述访问请求的次数超过预设的阈值时,确定发出所述访问 请求的主机为僵尸主机。
全文摘要
本发明实施例公开了一种检测僵尸网络的方法及其装置,该方法为获取网络中的数据报文;对数据报文中的可执行程序进行安全性分析,将有危害的可执行程序确定为恶意资源;监控恶意资源是否有访问请求;当有访问请求时,确定发出访问请求的主机为僵尸主机。本发明实施例通过主动获取网络中的数据报文,并对数据报文中的可执行程序进行安全性分析,然后监控访问有危害的可执行程序的请求主机地址,即可确定发出所述请求的主机为僵尸主机,从而在遭受到僵尸网络的攻击前主动地确定僵尸主机的位置,检测到僵尸网络的存在。
文档编号H04L29/06GK101588276SQ20091014229
公开日2009年11月25日 申请日期2009年6月29日 优先权日2009年6月29日
发明者武 蒋 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1