法律状态公告日
法律状态信息
法律状态
2019-01-18
未缴年费专利权终止 IPC(主分类):H04L12/26 授权公告日:20150909 终止日期:20180201 申请日:20130201
专利权的终止
2015-09-09
授权
授权
2013-06-05
实质审查的生效 IPC(主分类):H04L12/26 申请日:20130201
实质审查的生效
2013-05-01
公开
公开
技术领域
本发明涉及计算机网络安全领域的僵尸网络检测系统和方法,尤其涉及一种基 于P2P的僵尸网络分布式协作检测系统和方法。
背景技术
计算机网络是当今社会最为重要的信息设施,随着社会的高速发展,人们 对计算机网络安全的要求也越来越高。僵尸网络(Botnet)是指攻击者制造并 传播僵尸程序以控制大量主机(通常所说的僵尸机或肉鸡),利用命令和控制 (Command and Control,C&C)通道组织成的网络,僵尸网络经常被用于发起 分布式拒绝服务(Distributed Denial-of-Service,DDoS)攻击、发送垃圾邮件、 传播或托管恶意代码和钓鱼网站,或者实施身份信息窃取等攻击。近年来,僵 尸网络已对计算机网络安全和社会经济构成了极大的威胁,成为网络安全领域 的重要问题,僵尸网络攻击相关的网络刑事案件也频频出现于各种媒体之上。
现有的基于网络通信监测的僵尸网络检测技术和方法,大多基于对僵尸网 络C&C通信常用的IRC和HTTP协议分析,以及僵尸网络感染主机的攻击等 异常行为的检测。总体看来,在现有的技术中,僵尸网络检测机制大多是对于 特定监测点的流量特征和行为特征进行分析,局限于僵尸网络在特定区域的活 动。然而,僵尸网络普遍具有克隆和迁移的现象,在一个监测点的僵尸网络可 能通过操作系统和软件漏洞等途径,传播到另一个监测点的网络中。因此,将 分布在不同地区的监测点联合起来进行协作检测是快速、准确地发现和跟踪僵 尸网络的有效手段。
P2P(Peer-to-Peer)对等网络,又称为端对端技术,作为一种新的网络通 信模式,其每个节点都具有同等的能力,通常不依赖一个中心的服务器,因此, P2P网络具有去中心化、可扩展、健壮、高性能和负载均衡的特点。分布式散 列表(Distributed Hash Table,DHT)是一种纯分布式的结构化P2P网络,提 供类似于散列表的键值(Key-Value)存储和查询服务,它将关键值空间 (Keyspace)分区并指定到DHT的节点上,并且可以有效地将消息传递到拥有 某一关键值(Key)的节点。基于P2P网络,尤其是DHT技术,可以创建数据 共享、检索、内容分发和实时通信等应用,从而实现网络节点的分布式协作机 制。
因此,本领域的技术人员致力于开发一种可以基于P2P的僵尸网络分布式协 作检测系统和方法。
发明内容
有鉴于现有的僵尸网络检测方法的缺陷,本发明提出了一种基于P2P的僵尸 网络分布式协作检测系统和方法,利用DHT将分布在不同监测点的僵尸网络 检测程序结合,实现分布式协作检测,从而提高僵尸网络检测和跟踪的效率和 准确性。
本发明提供了一种基于P2P的僵尸网络分布式协作检测系统,所述检测系 统由多个协作检测的对等节点组成,所述对等节点基于DHT分布式散列表协 议构成结构化的P2P网络,本发明的基于P2P的僵尸网络分布式协作检测系统 以运行在单个对等节点的僵尸网络检测程序的检测结果为输入,如检测报告或 程序日志,本发明中不关心运行在单个对等节点的僵尸网络检测程序采用的检 测方法,将运行在所述单个对等节点的检测程序统一称作IDS(Intrusion Detection System,入侵检测系统)。
进一步地,所述对等节点包括:
(1)DHT通信模块:用于实现DHT通信协议,提供DHT数据的访问接口 put(key,value)、get(key)以及散列函数hash(data);
(2)IDS传感器接口:用于读取IDS的检测结果,并通过所述DHT通信 模块发布到DHT网络上;
(3)查询客户端接口:用于接受查询客户端的IP黑名单查询或IP黑名单 下载请求,从所述DHT网络上获得请求的数据,并返回给所述查询客户端;
(4)协作检测算法模块:用于对所述DHT网络存储到本节点的所述IDS 检测结果进行评估以判断所述IDS检测结果涉及的IP地址是否为僵尸网络主 机。
优选地,所述对等节点的个数为两个以上。
本发明还提供了一种基于P2P的僵尸网络分布式协作检测方法,所述检测 方法步骤包括:
(1)、多个协作检测的对等节点基于DHT分布式散列表协议构成结构化 的P2P系统,所述对等节点包括,DHT通信模块:用于实现DHT通信协议, 提供DHT数据的访问接口put(key,value)、get(key)以及散列函数hash(data); IDS传感器接口:用于读取IDS的检测结果,并通过所述DHT通信模块发布 到DHT网络上;查询客户端接口:用于接受查询客户端的IP黑名单查询或IP 黑名单下载请求,从所述DHT网络上获得请求的数据,并返回给所述查询客 户端;协作检测算法模块:用于对所述DHT网络存储到本节点的所述IDS检 测结果进行运算,以判断所述IDS检测结果涉及的IP地址是否为僵尸网络主 机;
(2)、对等节点A的IDS传感器接口读取IDS的检测结果,并将所述检 测结果中属于外部网络范围的IP地址记作ipaddr,所述检测结果所含数据部分 记作data;
(3)、计算关键值k=hash(ipaddr),并通过对等节点A的DHT通信模块 执行put(k,data)操作,其中hash为哈希函数;
(4)、负责所述关键值k的对等节点B的DHT通信模块接收来自所述对 等节点A的数据,然后将{ipaddr,data}存储到本地数据库中;
(5)、所述对等节点B的协作检测算法模块从所述对等节点B的本地数 据库中读取所有与ipaddr关联的IDS检测结果,得到一组data,并对所述得到 的一组data进行分析,判断ipaddr是否属于僵尸网络主机;
(6)、如果步骤(5)判断结果为真,即ipaddr属于僵尸网络主机,则所 述对等节点B在本地将ipaddr标记为僵尸网络主机,并通过所述对等节点B的 DHT通信模块执行put(K_IPBL,ipaddr),将ipaddr添加到所述系统的IP黑名单 中,其中,K_IPBL是所述系统预先定义的IP黑名单所在的DHT关键值。
进一步地,步骤(6)中,所述对等节点B在本地将ipaddr标记为僵尸网 络主机,并通过所述对等节点B的DHT通信模块执行put(K_IPBL,ipaddr),将 ipaddr添加到所述系统的IP黑名单中,所述系统的查询客户端接口接受查询客 户端的IP黑名单查询或IP黑名单下载请求并处理,步骤包括:
步骤(7):对等节点C的查询客户端接口接受一个请求,如果请求类型 为IP黑名单查询,查询的IP地址记作qry_ipaddr,计算k=hash(qry_ipaddr); 反之,如果请求类型为IP黑名单下载,则k=K_IPBL;
步骤(8):所述对等节点C通过DHT通信模块执行get(k)操作;
步骤(9):对等节点D接受步骤(8)来自所述对等节点C的查询,如果 k为K_IPBL,则返回步骤6中来自所有对等节点的IP黑名单;否则,在本地 数据库查询qry_ipaddr是否标记为僵尸网络主机,然后将结果返回给所述对等 节点C;
步骤(10):所述对等节点C的查询客户端接口将来自所述对等节点D的 回答(黑名单IP列表或qry_ipaddr查询结果)返回给所述查询客户端。
较佳地,为了使本发明的基于P2P的僵尸网络分布式协作检测方法更好地 工作,对加入所述P2P系统的所有对等节点进行认证,并且所有通信消息(get、 put操作等)应加密和校验以确保安全性。
进一步地,IP黑名单也应加入过期机制,即所有列入黑名单的IP地址具有 一个有效期,定期移除过期的黑名单项;同时,对等节点本地标记的恶意IP 相应地设置超时时间,对于已过期的IP地址,利用协作检测算法进行重新判定, 如果依然符合僵尸网络特征,则重新执行步骤(6)的黑名单IP发布操作。
本发明的基于P2P的僵尸网络分布式协作检测系统和方法,将分布在不同 对等节点的僵尸网络检测程序利用DHT组织起来。本发明以运行在单个对等 节点的僵尸网络检测程序的检测结果为输入,以外部网络IP地址为关键值将单 个对等节点结果通过DHT发布,从而,同一IP地址的检测报告将汇聚到同一 个对等节点,该节点掌握了该IP地址主机的全部行为,易于判断检测报告对应 的IP地址是否属于僵尸网络主机。同时,本发明的IP黑名单发布和查询方法, 在允许单个IP地址检索的基础上,还能实现完整的黑名单IP列表下载。本发 明基于P2P实现多个对等节点的协作检测,可提供更广泛和全面的主机行为辨 识,提高僵尸网络检测和跟踪的效率和准确性,并且继承了DHT健壮、可扩 展的特点。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说 明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作检测系 统的结构示意图;
图2是本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作检测系 统对等节点结构示意图;
图3是本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作检测方 法中IDS检测结果发布过程示意图;
图4是本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作检测方 法中僵尸网络主机黑名单IP发布过程示意图;
图5是本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作检测方 法中客户端查询处理过程示意图。
具体实施方式
图1示出了本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作 检测系统的结构示意图,在本实施例中提供了一种基于P2P的僵尸网络分布式 协作检测系统,该检测系统由多个协作检测的对等节点组成,基于DHT分布 式散列表协议构成结构化的P2P网络。系统每个对等节点与IDS传感器和查询 客户端交互:读取IDS的检测结果,为查询客户端提供IP黑名单查询和IP黑 名单下载服务。一个对等节点可接口的IDS传感器和查询客户端数量不限,亦 可以不连接任何IDS传感器和查询客户端,此时对等节点仅作为DHT数据存 储和协作检测算法运算使用。
在本发明中,将运行在单个监测点的僵尸网络检测程序统一称作IDS (Intrusion Detection System,入侵检测系统),而并不关心其具体的检测机制 和实现方法。本系统的IDS传感器接口仅读取单监测点检测程序的检测结果(检 测报告或程序日志),并将其规范化。
图2示出了本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作检 测系统对等节点结构示意图,本发明实施例中的对等节点模块包括:
1)DHT通信模块:该模块实现任意一种DHT通信协议,并且为其他模块 提供DHT访问接口put(key,value)和get(key),以及一个散列函数hash(data);
2)IDS传感器接口:该模块读取IDS的检测结果,并通过DHT通信模块 发布到DHT网络上;
3)查询客户端接口:该模块接受查询客户端的IP黑名单查询或IP黑名单 下载请求,从DHT上获得请求的数据,并返回给查询客户端;
4)协作检测算法模块:该模块对DHT网络存储到本节点的IDS检测结果 进行运算,以判断IDS检测结果涉及的IP地址是否为僵尸网络主机。
对等节点模块利用一个本地的数据库管理DHT通信模块接收并存储在本节 点的数据,协作检测算法也从该数据库中读取信息以判断某个主机是否为僵尸 网络主机,然后把判断结果保存回该本地数据库中。
图3示出了本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作检 测方法中IDS检测结果发布过程示意图,显示了IDS传感器接口获取了一个IDS 检测结果后的处理过程。
将采集IDS检测结果的节点记作对等节点A。对等节点A的IDS传感器接 口获取一个IDS的检测结果,将检测结果中属于外部网络范围的IP地址保存 为ipaddr,检测结果所含的数据规范化后保存为data。然后,计算发布此结果 所用的DHT关键值:k=hash(ipaddr),通过DHT通信模块执行put(k,data)操 作发布采集到的检测结果。该结果被路由到对等节点B并保存在对等节点B的 本地数据库中。
图4示出了本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作检 测方法中僵尸网络主机黑名单IP发布过程示意图,显示了协作检测算法判定并 发布僵尸网络主机黑名单IP的过程。
对等节点B接收到来自对等节点A的检测结果后,对等节点B的协作检测 算法从对等节点B的本地数据库中读取所有与ipaddr关联的IDS检测结果(即 一组data),然后判断ipaddr是否属于僵尸网络主机。这里,读取的一组data 包括但不仅限于来自对等节点A的检测结果,它包含了DHT所有对等节点发 布的与ipaddr关联的data。由于IDS检测结果发布以ipaddr为关键值,因此, 所有与ipaddr有关的检测结果都将汇集到对等节点B。对等节点B拥有DHT 中关于主机ipaddr的所有行为报告,从而容易对ipaddr作出是否为僵尸网络主 机的判断。
如果协作检测算法判定ipaddr为僵尸网络主机IP地址,对等节点B则在本 地数据库中将ipaddr标记为恶意,并且,通过DHT通信模块执行put(K_IPBL, ipaddr)将ipaddr添加到协作检测系统的IP黑名单中。这里,K_IPBL是DHT 的一个关键值,是本系统预先定义的IP黑名单所在的关键值。假定关键值 K_IPBL被分派到对等节点C,对等节点C接收到来自B的消息后,将ipaddr 添加到本地数据库的IP黑名单列表中。
图5示出了本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作检 测方法中客户端查询处理过程示意图,显示了查询客户端接口处理客户端查询 请求的过程,查询客户端接口可提供IP黑名单查询和IP黑名单下载两种服务。
首先,对于IP黑名单查询,假设对等节点D的查询客户端发起请求,查询 ipaddr是否为僵尸网络主机。对等节点D计算DHT查询的关键值k= hash(ipaddr),然后通过DHT通信模块执行get(k)的操作,该消息被路由到对等 节点B。对等节点B搜索本地数据库以判断ipaddr在本节点是否被标记为恶意 (僵尸网络主机),如果是,则向对等节点D返回TRUE,否则,返回FALSE。 对等节点D接收到来自B的回答后,将结果返回给所述查询客户端。
其次,对于IP黑名单下载请求,对等节点E通过DHT通信模块发起查询 get(K_IPBL),该消息被路由到负责关键值K_IPBL的对等节点C,对等节点C 将本地数据库中所有的黑名单IP全部返回给对等节点E。这个黑名单IP列表 包含了来自DHT中所有对等节点通过put(K_IPBL,ipaddr)操作提交的僵尸网络 主机IP。
为了使本发明实施例的基于P2P的僵尸网络分布式协作检测方法更好地工 作,对加入P2P网络的所有对等节点进行认证,并且所有通信消息(get、put 操作等)应加密和校验以确保安全性。
更进一步地,IP黑名单也应加入过期机制,即所有列入黑名单的IP地址具 有一个有效期,定期移除过期的黑名单项;同时,其他对等节点本地标记的恶 意IP相应地设置超时时间,对于已过期的IP地址,利用协作检测算法进行重 新判定,如果依然符合僵尸网络特征,则重新执行步骤(6)的黑名单IP发布 操作。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需 创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中 技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验 可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
机译: P2P僵尸网络自适应和灵活入侵检测系统的方法和装置
机译: 基于Netflow会话的P2P僵尸网络检测方法
机译: 基于网络流量分析的基于签名的僵尸网络检测系统和方法