首页> 中国专利> 基于P2P的僵尸网络分布式协作检测系统和方法

基于P2P的僵尸网络分布式协作检测系统和方法

摘要

本发明公开了一种基于P2P的僵尸网络分布式协作检测系统和方法,所述检测系统由多个协作检测的对等节点组成,所述对等节点基于DHT分布式散列表协议构成结构化的P2P网络,将分布在不同对等节点的僵尸网络检测程序利用DHT组织起来。本发明以运行在单个对等节点的僵尸网络检测程序的检测结果为输入,以外部网络IP地址为关键值将单个对等节点结果通过DHT发布,从而,同一IP地址的检测报告将汇聚到同一个对等节点,该节点掌握了该IP地址主机的全部行为,易于判断检测报告对应的IP地址是否属于僵尸网络主机。同时,本发明的IP黑名单发布和查询方法,在允许单个IP地址检索的基础上,还能实现完整的黑名单IP列表下载。

著录项

  • 公开/公告号CN103078771A

    专利类型发明专利

  • 公开/公告日2013-05-01

    原文格式PDF

  • 申请/专利权人 上海交通大学;公安部第三研究所;

    申请/专利号CN201310041810.7

  • 发明设计人 邹福泰;章思宇;裴蓓;黄道丽;

    申请日2013-02-01

  • 分类号H04L12/26;H04L29/06;H04L29/08;

  • 代理机构上海旭诚知识产权代理有限公司;

  • 代理人郑立

  • 地址 200240 上海市闵行区东川路800号

  • 入库时间 2024-02-19 18:57:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 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发布 操作。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需 创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中 技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验 可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号