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

文档序号:7551779阅读:99来源:国知局
专利名称:基于p2p的僵尸网络分布式协作检测系统和方法
技术领域
本发明涉及计算机网络安全领域的僵尸网络检测系统和方法,尤其涉及一种基于P2P的僵尸网络分布式协作检测系统和方法。
背景技术
计算机网络是当今社会最为重要的信息设施,随着社会的高速发展,人们对计算机网络安全的要求也越来越高。僵尸网络(Botnet)是指攻击者制造并传播僵尸程序以控制大量主机(通常所说的僵尸机或肉鸡),利用命令和控制(Co_and and Control,C&C)通道组织成的网络,僵尸网络经常被用于发起分布式拒绝服务(DistributedDenial-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,入侵检测系统)。进一步地,所述对等节点包括:(I) 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的僵尸网络分布式协作检测方法,所述检测方法步骤包括:(I)、多个协作检测的对等节点基于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 (IntrusionDetection System,入侵检测系统),而并不关心其具体的检测机制和实现方法。本系统的IDS传感器接口仅读取单监测点检测程序的检测结果(检测报告或程序日志),并将其规范化。图2示出了本发明的一个较佳实施例中的基于P2P的僵尸网络分布式协作检测系统对等节点结构示意图,本发明实施例中的对等节点模块包括:I )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发布操作。以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
权利要求
1.一种基于P2P的僵尸网络分布式协作检测系统,其特征在于,所述检测系统包括多个协作检测的对等节点,所述对等节点基于DHT分布式散列表协议构成结构化的P2P网络。
2.根据权利要求1所述的系统,其特征在于,所述对等节点包括: DHT通信模块,其用于实现DHT通信协议,提供DHT数据的访问接口 put (key, value)、访问接口 get (key)以及散列函数hash (data); IDS传感器接口,其用于读取IDS的检测结果,并通过所述DHT通信模块发布到DHT网络上; 查询客户端接口,其用于接受查询客户端的IP黑名单查询或IP黑名单下载请求,从所述DHT网络上获得请求的数据,并返回给所述查询客户端; 协作检测算法模块,其用于对所述DHT网络存储到所述对等节点的所述IDS检测结果进行评估以判断所述IDS检测结果涉及的IP地址是否为僵尸网络主机。
3.一种基于P2P的僵尸网络分布式协作检测方法,其特征在于,包括如下步骤: (1)、多个协作检测的对等节点基于DHT分布式散列表协议构成结构化的P2P系统,所述对等节点包括DHT通信模块、IDS传感器接口、查询客户端接口和协作检测算法模块;所述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)操作; (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关键值。
4.根据权利要求3所述的方法,其特征在于,步骤(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_ipa ddr查询结果)返回给所述查询客户端。
全文摘要
本发明公开了一种基于P2P的僵尸网络分布式协作检测系统和方法,所述检测系统由多个协作检测的对等节点组成,所述对等节点基于DHT分布式散列表协议构成结构化的P2P网络,将分布在不同对等节点的僵尸网络检测程序利用DHT组织起来。本发明以运行在单个对等节点的僵尸网络检测程序的检测结果为输入,以外部网络IP地址为关键值将单个对等节点结果通过DHT发布,从而,同一IP地址的检测报告将汇聚到同一个对等节点,该节点掌握了该IP地址主机的全部行为,易于判断检测报告对应的IP地址是否属于僵尸网络主机。同时,本发明的IP黑名单发布和查询方法,在允许单个IP地址检索的基础上,还能实现完整的黑名单IP列表下载。
文档编号H04L12/26GK103078771SQ201310041810
公开日2013年5月1日 申请日期2013年2月1日 优先权日2013年2月1日
发明者邹福泰, 章思宇, 裴蓓, 黄道丽 申请人:上海交通大学, 公安部第三研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1