P2p蠕虫检测的方法和装置制造方法

文档序号:7803401阅读:98来源:国知局
P2p蠕虫检测的方法和装置制造方法
【专利摘要】本发明公开了一种P2P蠕虫检测的方法,该方法包括:分析P2P蠕虫的特征,根据P2P蠕虫的相关信息构建蠕虫特征库;扫描P2P网络中主机的端口是否开启,若是,则根据蠕虫特征库中相应的P2P蠕虫的相关信息,向主机发送P2P蠕虫对应的请求消息;接收到主机返回的应答消息后,解析该应答消息的内容,根据蠕虫特征库中的相关信息确定主机是否感染P2P蠕虫。本发明还公开了一种P2P蠕虫检测的装置。本发明采用主动探测的检测方式,可以有效的避免现有的基于对数据包进行过滤和状态检测的方法的缺点,从而能够有效地防御已知P2P蠕虫,并且提高了内网系统的安全性。
【专利说明】P2P蠕虫检测的方法和装置
【技术领域】
[0001]本发明涉及互联网【技术领域】,尤其涉及P2P蠕虫检测的方法和装置。
【背景技术】
[0002]随着P2P (Peer to Peer,对等计算)软件的普及,P2P蠕虫已成为P2P网络安全的主要威胁之一,当P2P蠕虫成功感染P2P网络中的某台主机后,它会借助P2P网络,并利用P2P网络其他主机中的安全漏洞、P2P网络文件共享功能、资源共享等方式迅速隐蔽的向其他主机传播蠕虫,由于P2P网络设计的原因,在提高资源共享速度的同时,也加快了蠕虫的传播速度,使得P2P蠕虫能够在短时间内感染大片主机并同时构造一个巨大的僵尸网络,对现有网络造成了极大的安全威胁。针对P2P蠕虫的危害,目前的防火墙技术主要是通过对数据包内容进行过滤以及状态的检测来检测网络中的主机是否感染P2P蠕虫,这两种技术存在以下几种缺陷:
[0003]1、由于P2P蠕虫在内网传播,流量不经过防火墙,因而在这种情况下,防火墙就形同虚设;
[0004]2、由于P2P蠕虫和正常的P2P软件所采用的是相同的技术,使得P2P蠕虫和正常的P2P软件的难以区分;
[0005]3、P2P蠕虫往往都会对文件自身和通信内容采用加密和混淆技术,从而导致防火墙无法识别。
[0006]上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

【发明内容】

[0007]本发明的主要目的在于提供P2P蠕虫检测的方法和装置,旨在有效地防御已知P2P蠕虫,提高内网系统的安全性。
[0008]为实现上述目的,本发明提供的一种P2P蠕虫检测的方法,包括以下步骤:
[0009]分析P2P蠕虫的特征,根据P2P蠕虫的相关信息构建蠕虫特征库;
[0010]扫描P2P网络中主机的端口是否开启,若是,则根据所述蠕虫特征库中相应的P2P蠕虫的相关信息,向所述主机发送所述P2P蠕虫对应的请求消息;
[0011]接收到所述主机返回的应答消息后,解析该应答消息的内容,根据所述蠕虫特征库中的相关信息确定所述主机是否感染所述P2P蠕虫。
[0012]优选地,所述P2P蠕虫的相关信息包括蠕虫名称、蠕虫采用协议、蠕虫的端口、请求消息内容和应答消息内容。
[0013]优选地,所述根据所述蠕虫特征库中相应的P2P蠕虫的相关信息,向所述主机发送所述P2P蠕虫对应的请求消息的步骤包括:
[0014]当P2P网络中主机的端口开启时,比对该端口与所述蠕虫特征库中的P2P蠕虫的
端口是否一致;[0015]在所述主机的端口与P2P蠕虫的端口一致时,在所述蠕虫特征库中查找该P2P蠕虫的端口对应的P2P蠕虫的请求消息内容;
[0016]根据所述请求消息内容,向所述主机发送对应的请求消息。
[0017]优选地,在所述扫描P2P网络中主机的端口是否开启的步骤之前,还包括:
[0018]设定扫描时间,用于根据所述扫描时间定时扫描P2P网络中主机的端口。
[0019]优选地,在所述接收到所述主机返回的应答消息后,解析该应答消息的内容,根据所述蠕虫特征库中的相关信息确定所述主机是否感染所述P2P蠕虫的步骤之后,还包括:
[0020]当确定所述主机感染所述P2P蠕虫后,隔离所述主机并报警。
[0021]本发明进一步提供一种P2P蠕虫检测的装置,包括:
[0022]构建模块,用于分析P2P蠕虫的特征,根据P2P蠕虫的相关信息构建蠕虫特征库;
[0023]扫描模块,用于扫描P2P网络中主机的端口是否开启;
[0024]发送模块,用于在P2P网络中主机的端口开启时,根据所述蠕虫特征库中相应的P2P蠕虫的相关信息,向所述主机发送所述P2P蠕虫对应的请求消息;
[0025]确定模块,用于接收到所述主机返回的应答消息后,解析该应答消息的内容,根据所述蠕虫特征库中的相关信息确定所述主机是否感染所述P2P蠕虫。
[0026]优选地,所述P2P蠕虫的相关信息包括蠕虫名称、蠕虫采用协议、蠕虫的端口、请求消息内容和应答消息内容。
[0027]优选地,所述发送模块包括:
[0028]比对单元,用于当P2P网络中主机的端口开启时,比对该端口与所述蠕虫特征库中的P2P蠕虫的端口是否一致;
[0029]查找单元,用于在所述主机的端口与P2P蠕虫的端口 一致时,在所述蠕虫特征库中查找该P2P蠕虫的端口对应的P2P蠕虫的请求消息内容;
[0030]发送单元,用于根据所述请求消息内容,向所述主机发送对应的请求消息。
[0031]优选地,P2P蠕虫检测的装置还包括:
[0032]设定模块,用于设定扫描时间,用于根据所述扫描时间定时扫描P2P网络中主机的端口。
[0033]优选地,P2P蠕虫检测的装置还包括:
[0034]隔离及报警模块,用于当确定所述主机感染所述P2P蠕虫后,隔离所述主机并报
m
目O
[0035]本发明通过分析P2P蠕虫的特征,根据P2P蠕虫的相关信息构建蠕虫特征库,并扫描P2P网络中主机的端口是否开启;当主机的端口开启时,根据蠕虫特征库中相应的P2P蠕虫的相关信息,向主机发送P2P蠕虫对应的请求消息,接收到主机返回的应答消息后,解析该应答消息的内容,根据蠕虫特征库中的相关信息确定主机是否感染P2P蠕虫。采用主动探测的检测方式,可以有效的避免现有的基于对数据包进行过滤和状态检测的方法的缺点,从而能够有效地防御已知P2P蠕虫,并且提高了内网系统的安全性。
【专利附图】

【附图说明】
[0036]图1为本发明P2P蠕虫检测的方法第一实施例的流程示意图;
[0037]图2为图1中发送P2P蠕虫对应的请求消息的步骤的细化流程示意图;[0038]图3为本发明P2P蠕虫检测的方法第二实施例的流程示意图;
[0039]图4为本发明P2P蠕虫检测的方法第三实施例的流程示意图;
[0040]图5为本发明P2P蠕虫检测的装置第一实施例的功能模块示意图;
[0041]图6为图5中发送模块的功能模块示意图;
[0042]图7为本发明P2P蠕虫检测的装置第二实施例的功能模块示意图;
[0043]图8为本发明P2P蠕虫检测的装置第三实施例的功能模块示意图。
[0044]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0045]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0046]本发明提供一种P2P蠕虫检测的方法。
[0047]参照图1,图1为本发明P2P蠕虫检测的方法第一实施例的流程示意图。
[0048]在一实施例中,该P2P蠕虫检测的方法包括:
[0049]步骤S10,分析P2P蠕虫的特征,根据P2P蠕虫的相关信息构建蠕虫特征库;
[0050]本实施例所提供的P2P蠕虫检测的方法,通过模拟P2P蠕虫的行为,对指定网段的内网主机进行P2P蠕虫检测。首先,分析各种P2P蠕虫的特征,获取P2P蠕虫的相关信息,并根据这些相关信息构建一蠕虫特征库。构成该蠕虫特征库的P2P蠕虫的相关信息包括蠕虫名称、蠕虫采用协议、蠕虫的端口、请求消息内容和应答消息内容;其中,蠕虫名称即P2P蠕虫的名称;蠕虫采用协议通常为TCP协议或UDP协议;蠕虫的端口可以为固定端口,也可以为非固定端口,即使用算法生成的协商端口 ;大部分P2P蠕虫的请求消息和应答消息都会采用固定的消息结构,请求消息和应答消息的结构通常可以抽象为指令和指令内容或peerlist表,需要根据不同的P2P蠕虫编写不同的指令和指令内容,实现上可以采用字符串和正则表达式相结合的方式来表达消息。将相应的P2P蠕虫的相关信息对应的填在蠕虫特征库中,即形成蠕虫特征库。
[0051]步骤S20,扫描P2P网络中主机的端口是否开启;
[0052]步骤S21,当P2P网络中主机的端口开启时,根据蠕虫特征库中相应的P2P蠕虫的相关信息,向主机发送P2P蠕虫对应的请求消息;
[0053]构建了蠕虫特征库后,利用防火墙扫描用户指定网段的内网主机的端口,判断这些主机的端口是否开启,如有主机的端口开启,则表明该主机有感染P2P蠕虫的可能性,此时,根据该主机的端口,在蠕虫特征库中确定相应的P2P蠕虫,并根据该P2P蠕虫的相关信息中的请求消息内容,向主机发送与该P2P蠕虫对应的请求消息。
[0054]步骤S30,接收到主机返回的应答消息后,解析该应答消息的内容,根据蠕虫特征库中的相关息确定主机是否感染P2P螺虫。
[0055]在发送了 P2P蠕虫对应的请求消息后,如接收到主机返回的应答消息,解析该应答消息的内容,并根据蠕虫特征库中P2P蠕虫对应的应答消息内容进行匹配,以确定该主机是否感染了 P2P蠕虫;当然,如未接收到主机返回的应答消息,则表明该主机未感染P2P蠕虫。
[0056]本实施例通过分析P2P蠕虫的特征,根据P2P蠕虫的相关信息构建蠕虫特征库,并扫描P2P网络中主机的端口是否开启;当主机的端口开启时,根据蠕虫特征库中相应的P2P蠕虫的相关信息,向主机发送P2P蠕虫对应的请求消息,接收到主机返回的应答消息后,解析该应答消息的内容,根据蠕虫特征库中的相关信息确定主机是否感染P2P蠕虫。采用主动探测的检测方式,可以有效的避免现有的基于对数据包进行过滤和状态检测的方法的缺点,从而能够有效地防御已知P2P蠕虫,并且提高了内网系统的安全性。
[0057]参照图2,图2为图1中发送P2P蠕虫对应的请求消息的步骤的细化流程示意图。
[0058]在上述实施例中,步骤S21包括:
[0059]步骤S211,当P2P网络中主机的端口开启时,比对该端口与蠕虫特征库中的P2P蠕虫的端口是否一致;
[0060]步骤S212,在主机的端口与P2P蠕虫的端口 一致时,在蠕虫特征库中查找该P2P蠕虫的端口对应的P2P蠕虫的请求消息内容;
[0061]步骤S213,根据请求消息内容,向主机发送对应的请求消息。
[0062]在扫描到P2P网络中在主机的端口开启时,比对该端口与蠕虫特征库中的P2P蠕虫的端口是否一致,如主机的端口与P2P蠕虫的端口一致,则表明该主机有可能感染了该P2P蠕虫;然后根据该P2P蠕虫的端口,在蠕虫特征库中查找该P2P蠕虫的端口所对应的P2P蠕虫,并获得相应的请求消息内容,根据该请求消息内容向主机发送对应的请求消息,以根据是否接收到主机的应答消息,判断该主机是否感染了该P2P蠕虫。
[0063]当P2P网络中主机的端口开启时,在蠕虫特征库中查找与该主机的端口对应的P2P蠕虫的请求消息内容,并根据该请求消息内容,向主机发送对应的请求消息,从而为有效地防御已知P2P蠕虫提供了有力的前提保证。
[0064]参照图3,图3为本发明P2P蠕虫检测的方法第二实施例的流程示意图。
[0065]基于本发明P2P蠕虫检测的方法第一实施例,在步骤S20之前,该方法还包括:
[0066]步骤S40,设定扫描时间,用于根据扫描时间定时扫描P2P网络中主机的端口。
[0067]本实施例中,在利用防火墙扫描主机的端口之前,设定扫描时间,以便于防火墙根据该扫描时间定时对P2P网络中主机的端口进行扫描。该扫描时间为防火墙定时扫描主机端口的间隔时间,即每间隔扫描时间的时间长度,利用防火墙对P2P网络中指定网段的主机进行一次扫描。
[0068]在利用防火墙扫描主机的端口之前,设定扫描时间,以便防火墙每间隔扫描时间的时间长度对P2P网络中指定网段的主机进行一次扫描,进一步为有效地防御已知P2P蠕虫提供了基础。
[0069]参照图4,图4为本发明P2P蠕虫检测的方法第三实施例的流程示意图。
[0070]基于本发明P2P蠕虫检测的方法第一和第二实施例,在执行步骤S30之后,该方法还包括:
[0071]步骤S50,当确定主机感染P2P蠕虫后,隔离主机并报警。
[0072]当接收到主机的应答消息,并且对该应答消息的内容解析后与蠕虫数据库中的相应的P2P蠕虫的应答消息内容匹配,从而确定该主机感染了 P2P蠕虫后,对该主机进行隔离并报警,以防止该主机通过P2P网络中其他主机的安全漏洞、P2P网络文件共享功能、资源共享等方式迅速地向其他主机传播P2P蠕虫,从而造成安全威胁。
[0073]本发明进一步提供了一种P2P蠕虫检测的装置。
[0074]参照图5,图5为本发明P2P蠕虫检测的装置第一实施例的功能模块示意图。[0075]在一实施例中,P2P蠕虫检测的装置包括:
[0076]构建模块10,用于分析P2P蠕虫的特征,根据P2P蠕虫的相关信息构建蠕虫特征库;
[0077]扫描模块20,用于扫描P2P网络中主机的端口是否开启;
[0078]发送模块21,用于在P2P网络中主机的端口开启时,根据蠕虫特征库中相应的P2P蠕虫的相关信息,向主机发送P2P蠕虫对应的请求消息;
[0079]确定模块30,用于接收到主机返回的应答消息后,解析该应答消息的内容,根据蠕虫特征库中的相关信息确定主机是否感染P2P蠕虫。
[0080]本实施例所提供的P2P蠕虫检测的方法,通过模拟P2P蠕虫的行为,对指定网段的内网主机进行P2P蠕虫检测。首先,构建模块10分析各种P2P蠕虫的特征,获取P2P蠕虫的相关信息,并根据这些相关信息构建一蠕虫特征库。构成该蠕虫特征库的P2P蠕虫的相关信息包括蠕虫名称、蠕虫采用协议、蠕虫的端口、请求消息内容和应答消息内容;其中,蠕虫名称即P2P蠕虫的名称;蠕虫采用协议通常为TCP协议或UDP协议;蠕虫的端口可以为固定端口,也可以为非固定端口,即使用算法生成的协商端口 ;大部分P2P蠕虫的请求消息和应答消息都会采用固定的消息结构,请求消息和应答消息的结构通常可以抽象为指令和指令内容或peerlist表,需要根据不同的P2P蠕虫编写不同的指令和指令内容,实现上可以采用字符串和正则表达式相结合的方式来表达消息。将相应的P2P蠕虫的相关信息对应的填在蠕虫特征库中,即形成蠕虫特征库。
[0081 ] 构建了蠕虫特征库后,扫描模块20利用防火墙扫描用户指定网段的内网主机的端口,判断这些主机的端口是否开启,如有主机的端口开启,则表明该主机有感染P2P蠕虫的可能性,此时,根据该主机的端口,在蠕虫特征库中确定相应的P2P蠕虫,发送模块21根据该P2P蠕虫的相关信息中的请求消息内容,向主机发送与该P2P蠕虫对应的请求消息。
[0082]在发送了 P2P蠕虫对应的请求消息后,如接收到主机返回的应答消息,确定模块30解析该应答消息的内容,并根据蠕虫特征库中P2P蠕虫对应的应答消息内容进行匹配,以确定该主机是否感染了 P2P蠕虫;当然,如未接收到主机返回的应答消息,则表明该主机未感染P2P蠕虫。
[0083]本实施例通过分析P2P蠕虫的特征,根据P2P蠕虫的相关信息构建蠕虫特征库,并扫描P2P网络中主机的端口是否开启;当主机的端口开启时,根据蠕虫特征库中相应的P2P蠕虫的相关信息,向主机发送P2P蠕虫对应的请求消息,接收到主机返回的应答消息后,解析该应答消息的内容,根据蠕虫特征库中的相关信息确定主机是否感染P2P蠕虫。采用主动探测的检测方式,可以有效的避免现有的基于对数据包进行过滤和状态检测的方法的缺点,从而能够有效地防御已知P2P蠕虫,并且提高了内网系统的安全性。
[0084]参照图6,图6为图5中发送模块的功能模块示意图。
[0085]在上述实施例中,发送模块21包括:
[0086]比对单元211,用于当P2P网络中主机的端口开启时,比对该端口与蠕虫特征库中的P2P蠕虫的端口是否一致;
[0087]查找单元212,用于在主机的端口与P2P蠕虫的端口一致时,在蠕虫特征库中查找该P2P蠕虫的端口对应的P2P蠕虫的请求消息内容;
[0088]发送单元213,用于根据请求消息内容,向主机发送对应的请求消息。[0089]在扫描到P2P网络中在主机的端口开启时,通过比对单元211比对该端口与蠕虫特征库中的P2P蠕虫的端口是否一致,如主机的端口与P2P蠕虫的端口一致,则表明该主机有可能感染了该P2P蠕虫;然后查找单元212根据该P2P蠕虫的端口,在蠕虫特征库中查找该P2P蠕虫的端口所对应的P2P蠕虫,并获得相应的请求消息内容,发送单元213根据该请求消息内容向主机发送对应的请求消息,以根据是否接收到主机的应答消息,判断该主机是否感染了该P2P蠕虫。
[0090]当P2P网络中主机的端口开启时,在蠕虫特征库中查找与该主机的端口对应的P2P蠕虫的请求消息内容,并根据该请求消息内容,向主机发送对应的请求消息,从而为有效地防御已知P2P蠕虫提供了有力的前提保证。
[0091]参照图7,图7为本发明P2P蠕虫检测的装置第二实施例的功能模块示意图。
[0092]基于本发明P2P蠕虫检测的装置第一实施例,该装置还包括:
[0093]设定模块40,用于设定扫描时间,用于根据扫描时间定时扫描P2P网络中主机的端口。
[0094]本实施例中,在利用防火墙扫描主机的端口之前,通过设定模块40设定扫描时间,以便于防火墙根据该扫描时间定时对P2P网络中主机的端口进行扫描。该扫描时间为防火墙定时扫描主机端口的间隔时间,即每间隔扫描时间的时间长度,利用防火墙对P2P网络中指定网段的主机进行一次扫描。
[0095]在利用防火墙扫描主机的端口之前,设定扫描时间,以便防火墙每间隔扫描时间的时间长度对P2P网络中指定网段的主机进行一次扫描,进一步为有效地防御已知P2P蠕虫提供了基础。
[0096]参照图8,图8为本发明P2P蠕虫检测的装置第三实施例的功能模块示意图。
[0097]基于本发明P2P蠕虫检测的装置第一、第二实施例,该装置还包括:
[0098]隔离及报警模块50,用于当确定主机感染P2P蠕虫后,隔离主机并报警。
[0099]当接收到主机的应答消息,并且对该应答消息的内容解析后与蠕虫数据库中的相应的P2P蠕虫的应答消息内容匹配,从而确定该主机感染了 P2P蠕虫后,隔离及报警模块50对该主机进行隔离并报警,以防止该主机通过P2P网络中其他主机的安全漏洞、P2P网络文件共享功能、资源共享等方式迅速地向其他主机传播P2P蠕虫,从而造成安全威胁。
[0100]以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种P2P蠕虫检测的方法,其特征在于,包括以下步骤: 分析P2P蠕虫的特征,根据P2P蠕虫的相关信息构建蠕虫特征库; 扫描P2P网络中主机的端口是否开启,若是,则根据所述蠕虫特征库中相应的P2P蠕虫的相关信息,向所述主机发送所述P2P蠕虫对应的请求消息; 接收到所述主机返回的应答消息后,解析该应答消息的内容,根据所述蠕虫特征库中的相关信息确定所述主机是否感染所述P2P蠕虫。
2.如权利要求1所述的P2P蠕虫检测的方法,其特征在于,所述P2P蠕虫的相关信息包括蠕虫名称、蠕虫采用协议、蠕虫的端口、请求消息内容和应答消息内容。
3.如权利要求2所述的P2P蠕虫检测的方法,其特征在于,所述根据所述蠕虫特征库中相应的P2P蠕虫的相关信息,向所述主机发送所述P2P蠕虫对应的请求消息的步骤包括: 当P2P网络中主机的端口开启时,比对该端口与所述蠕虫特征库中的P2P蠕虫的端口是否一致; 在所述主机的端口与P2P蠕虫的端口一致时,在所述蠕虫特征库中查找该P2P蠕虫的端口对应的P2P蠕虫的请求消息内容; 根据所述请求消息内容,向所述主机发送对应的请求消息。
4.如权利要求3所述的P2P蠕虫检测的方法,其特征在于,在所述扫描P2P网络中主机的端口是否开启的步骤之 前,还包括: 设定扫描时间,用于根据所述扫描时间定时扫描P2P网络中主机的端口。
5.如权利要求1至4中任一项所述的P2P蠕虫检测的方法,其特征在于,在所述接收到所述主机返回的应答消息后,解析该应答消息的内容,根据所述蠕虫特征库中的相关信息确定所述主机是否感染所述P2P蠕虫的步骤之后,还包括: 当确定所述主机感染所述P2P蠕虫后,隔离所述主机并报警。
6.一种P2P蠕虫检测的装置,其特征在于,包括: 构建模块,用于分析P2P蠕虫的特征,根据P2P蠕虫的相关信息构建蠕虫特征库; 扫描模块,用于扫描P2P网络中主机的端口是否开启; 发送模块,用于在P2P网络中主机的端口开启时,根据所述蠕虫特征库中相应的P2P蠕虫的相关信息,向所述主机发送所述P2P蠕虫对应的请求消息; 确定模块,用于接收到所述主机返回的应答消息后,解析该应答消息的内容,根据所述蠕虫特征库中的相关信息确定所述主机是否感染所述P2P蠕虫。
7.如权利要求6所述的P2P蠕虫检测的装置,其特征在于,所述P2P蠕虫的相关信息包括蠕虫名称、蠕虫采用协议、蠕虫的端口、请求消息内容和应答消息内容。
8.如权利要求7所述的P2P蠕虫检测的装置,其特征在于,所述发送模块包括: 比对单元,用于当P2P网络中主机的端口开启时,比对该端口与所述蠕虫特征库中的P2P蠕虫的端口是否一致; 查找单元,用于在所述主机的端口与P2P蠕虫的端口一致时,在所述蠕虫特征库中查找该P2P蠕虫的端口对应的P2P蠕虫的请求消息内容; 发送单元,用于根据所述请求消息内容,向所述主机发送对应的请求消息。
9.如权利要求8所述的P2P蠕虫检测的装置,其特征在于,还包括: 设定模块,用于设定扫描时间,用于根据所述扫描时间定时扫描P2P网络中主机的端□。
10.如权利要求6至9中任一项所述的P2P蠕虫检测的装置,其特征在于,还包括: 隔离及报警模块,用于当确定所述主机感染所述P2P蠕虫后,隔离所述主机并报警。
【文档编号】H04L12/26GK104038475SQ201410196557
【公开日】2014年9月10日 申请日期:2014年5月9日 优先权日:2014年5月9日
【发明者】郑权 申请人:深圳市深信服电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1