一种p2p软件监测方法及系统的制作方法

文档序号:7665301阅读:158来源:国知局
专利名称:一种p2p软件监测方法及系统的制作方法
技术领域
本发明涉及可用于入侵检测防御(IDS/IPS)产品中的对于某些P2P下载软件 及网络直播软件的一种P2P软件监测方法及系统,它依据网络数据流中报文所带 有的特定行为特征对其进行精确识别及阻断,属于网络技术领域。
背景技术
入侵检测/防御系统(Intrusion Detection/Protection System, IDS/IPS) 作为网络安全防护的重要手段,通常部署在关键网络内部/网络边界入口处,实 时捕获网络内或进出网络的报文数据流并进行智能综合分析,发现可能的入侵 行为并进行实时阻断。百前绝大多数入侵检测产品或系统当中采用端口定位(例 如Emule使用4662端口、 BT使用6881-6889端口等)或静态协议特征(如产品 L7-filter, Cisco's PDML, Juniper's netscreen-IDP等系统)识别的方式进 行协议的识别从而进行进一步的检测或阻断。但是随着网络通信协议的发展, 协议的设计日趋复杂化,所使用的技术越来越多样化,单纯的依赖端口定位或 静态协议特征识别的方式往往无法准确的识别网络通信当中所使用的协议类型 以及使用该应用具体行为阶段,例如某些P2P下载软件和网络直播软件采用动 态端口协商或者复用公开协议端口 (如迅雷、BT等),使得单纯的基于端口的识 别和阻断变得不准确。又如很多的P2P下载和网络直播软件同时支持TCP和UDP 传输方式。尤其在TCP传输过程当中如果没有截获最初建立链接过程的数据包, 则在后续的传输过程当中不包含明显的协议特征。这给精确检测及阻断带来了 前所未有的困难。此外很多的入侵检测或防御系统采用单一的阻断模式即在端 口匹配或静态特征匹配的情况下实施数据包丢弃等方式的阻断(例如在匹配了 某些静态特征时采用四元组源IP、目的IP、源端口、目的端口进行连接阻断)。而在实际网络环境当中,很多的软件可以自动的调整端口 (例如在P2P下载当 中进行文件续传的时候)这使得原本应阻断的连接依然可以使用。在这些情况 下单纯依赖端口定位或静态报文特征往往不能准确识别并阻断相应的网络行为
给精确的入侵检测或防御带来非常大的困难。
目前日益广泛使用的P2P应用(包括文件下载及网络直播等)己经成为了 未来网络发展的趋势,并且P2P应用在实际网络流量当中占据了越来越多的部 分。很多的用户及企事业单位对于P2P协议与软件使用的准确识别和阻断提出 了很高的要求,这使得基于原有的端口定位或静态报文特征匹配识别变得不准 确。目前通常所使用的大多数入侵检测或审计系统当中对于P2P协议的识别都 是基于端口定位或静态报文特征匹配的,而具有完善灵活的根据P2P协议运行 不同阶段进行不同策略的阻断功能的产品是非常缺乏的。注意到该类软件在运 行过程当中具有类似的模式,即先登录服务器,获得Peer列表,与Peer进行连 接,进行文件传输或网络直播等操作。在此过程当中可能使用TCP或UDP进行 相应传输。而在这类的软件使用过程当中在不同的阶段分别具有相应的静态特 征或流量特征,例如在登录服务器阶段包含明显的协议静态特征以声明具体的 软件使用,在传输阶段具有明显的行为特征或流量特征。因此,依赖于不同阶 段的不同特征对于这类软件进行精确识别和阻断是可能的。从而有必要发展一 种基于不同阶段不同特征的P2P软件和网络直播软件的分策略的精确识别和阻 断技术。该P2P准确识别即阻断技术必须满足以下要求
尽可能多的准确识别通信过程中P2P软件的应用及所处阶段以提高入侵检 测或阻断系统的协议识别准确性;
对于不同P2P应用所处特定阶段采用不同的检测及阻断策略尽可能准确的 进行特定行为的精确阻断。
具有很好的可扩展性,对于某些新的P2P应用以及已有协议软件的新型应 用具有灵活的可扩展性以扩大检测或阻断的范围;
具有非常高的P2P应用识别及阻断效率,算法实现尽可能简单; 发明内容为了克服现有对于P2P应用识别及阻断技术的不足,本发明提供一种P2P 软件监测方法及系统。
本发明解决其技术问题所采用的技术方案是
一种P2P软件监测方法,包括协议特征模型的建立、应用阶段识别定位、相
应阻断策略实施三个阶段步骤,
其中,所述的协议特征模型的建立阶段步骤主要包括具体P2P应用数据包静 态特征提取、行为特征提取和流量特征模型的建立;
应用阶段识别定位主要是通过在实际网络通信过程中获取的数据报文通过 协议特征匹配来判断目前该P2P应用所处的运行状态(如登录服务器、获得节 点列表、文件传输等等);
在相应阻断策略实施阶段针对识别的P2P具体应用运行阶段采取相应的阻断 策略(如针对四元组阻断或IP阻断等等)。
所述的协议特征模型的建立阶段步骤有协议特征模型的建立方法如下
对于已知的P2P协议应用首先提取运行过程中数据报文当中包含的特定协议 静态特征以此建立相应的P2P应用静态特征模型(如在具体应用当中客户端软 件登录服务器时一般都带有特定的协议头标识,此时需要注意同时提取TCP报 文及UDP报文特征,因为大部分的P2P应用同时支持这两种传输方式);其次提 取协议运行特定阶段的行为特征,将这些行为特征作为识别该P2P应用特定步 骤的判别规则,并以此为依据建立该P2P应用的行为特征模型(如在客户端发送 peer请求,服务器返回peer列表阶段);最后针对具体P2P应用在实际使用过 程当中出现的流量特征建立流量模型(如TCP传输过程当中不具备静态特征和 行为特征,但此时的应用流量有异于正常网络使用),在此阶段建立的模型主要 作为不具备特定静态特征和行为特征时进行P2P应用识别的标准。 所述的应用阶段识别定位阶段具有如下步骤
将实际捕获的通信报文作为输入,结合在协议特征模型建立阶段建立的协议
7静态特征、行为特征以及流量特征,采用多模式匹配算法定位该数据包在该P2P 应用中所处的阶段状态,以确定目前该P2P应用所处的阶段(如登录服务器、 获取列表或文件传输阶段)以确定在阻断实施步骤当中采取的阻断策略。
所述的相应阻断策略实施阶段
此阶段以应用识别定位阶段的输出作为关联标准,对于特定P2P行为的特 定运行阶段建立不同的阻断策略并实施相应的阻断。例如在P2P应用登录服务 器阶段发现了 TCP静态报文特征或UDP报文特征可以采用四元组匹配方式,对 于TCP连接可以向客户端及服务器端发送RST报文重置连接并丢弃相应的TCP 包,对于UDP报文可直接采用四元组匹配方式对相应报文进行丢弃。又如在应 用识别定位阶段通过行为特征匹配或流量特征匹配确定某P2P应用正在进行文 件传输,对于UDP报文一般包含静态特征,对于相应的应用报文直接丢弃。对 于TCP连接由于不再具有静态特征可以进行IP阻断或流量限制。
一种P2P软件监测系统,包括相应P2P应用静态特征库、行为特征模型 库、流量特征模型库、具体应用运行状态定位匹配模块、分阶段阻断策略库、 具体阻断策略实施模块。
存储了根据实际数据报文提取的不同P2P应用运行过程当中的传输报文当 中具有的特征的相应P2P静态特征库;
存储了根据不同P2P应用运行过程提取的特定行为动作特征序列的行为特 征库;
存储了不同的P2P应用运行过程当中网络实际流量异于正常流量的特征的 流量特征库;
负责根据建立的静态特征库、行为特征模型以及流量特征模型和实际捕获 的数据包定位当前报文在该P2P应用当中所处的应用阶段的具体应用运行状态 定位匹配模块;
存储了根据不同的P2P应用当中特定的运行阶段需要采用的不同阻断策略的分阶段阻断策略库;
根据目前收到的报文所处的运行状态及相应的阻断策略进行实施阻断的具 体阻断策略实施模块。
其中P2P静态特征库、行为特征库、流量特征库均与具体应用运行状态定位 匹配模块连接,为具体应用运行状态定位匹配模块提供运行状态定位的特征模 型;具体应用运行状态定位匹配模块与具体阻断策略实施模块相连为具体阻断 策略实施模块提供进行实际阻断的对象;分阶段阻断策略库也与具体阻断策略 实施模块相连,根据具体的运行状态定位为实际阻断提供阻断策略。
本发明的有益效果是,本发明解决了传统IDS/IPS产品中对于P2P应用部分 仅仅依赖于端口定位或静态报文特征进行模式匹配的准确性问题以及进行单一 策略阻断产生的错误问题。对于某些复用公开协议端口、使用动态端口或不具 备明显静态报文特征的P2P应用可以大大提高协议识别的准确性,采用了多种特 征识别方式使得在P2P应用某些特定阶段(如TCP传输)依然可以有效的进行识. 别。同时在准确识别并定位协议运行状态的基础之上采用了分策略阻断的方式 对不用的运行阶段进行不同的阻断方式可以有效的避免单一阻断策略带来的漏 报和误报的问题(如续传或TCP传输过程当中的阻断)。此外在进行P2P应用特征 模型建立的过程当中采用统一的形式化描述标准,使得对于新的P2P协议、软件 或新型应用进行扩展相当的简单和方便,在进行特征模型添加及扩展的时候无 需对系统进行大的改动,可广泛应用于IDS/IPS网络安全产品中。


下面结合附图和实施例对本发明进一步说明。 图1为本发明的P2P应用识别及阻断系统示意图; 图2为Emule静态特征示例图; 图3为网易popo行为特征提取示例图; 图4为具体P2P进行三种特征匹配识别模块流程图;图5为分策略阻断模块工作流程图。
具体实施例方式
本发明所述P2P软件监测方法主要包括协议特征模型的建立、应用阶段识别
定位、相应阻断策略实施三个工作阶段。各阶段步骤如下(见图l):
A. 协议特征模型的建立阶段;
首先挖掘数据报文具有的具体P2P运行过程传输的数据报文当中的静态特
征,此阶段包括所有的该P2P运行的协议头标识、特定字段值、使用端口等等
(如特定字段长度等等)。
B. 应用阶段识别定位;
在建立起相关协议特征模型(包括静态特征、行为特征和流量特征)之后, 将这些特征模型存储于相应的模型库中。在实际通信阶段,通过捕获的实际网 络报文当中包含的各种特征信息采用多模式匹配算法进行模式匹配来唯一的确
定运行的具体P2P应用及该报文所标识的实际会话当中的当前状态。例如在BT 协议使用过程当中,发现截获的数据报文中包含大量以Bittorrent特征开头的 报文,同时包含相同源IP地址发往不同目的IP地址的UDP报文,且这些报文 符合BT行为特征模型中某一步骤的特征(如数据包包含字段BitTirent及大量 字段"peer: xxx. xxx. xxx. xxx)则可以定位该数据包为BT应用并且目前正处 于客户端连接其它有效客户端阶段。并且下一步的行为很可能为文件传输。 C.相应阻断策略实施;
根据上一阶段定位的具体P2P应用的状态信息首先制定相应的阻断策略, 以确保该策略可以在该具体P2P应用状态阶段中可以实施有效的阻断。例如, 如果可以定位目前的P2P应用为emule使用TCP连接在登录服务器阶段则可以 制定阻断策略为将该数据包中包含的四元组(源IP、目的IP、源端口、目的端 口 )为标准的TCP连接进行RST,从而可以有效的阻断emule客户端和服务器的 连接。又如如果可以依赖流量特征定位目前的P2P应为为emule并且已经处于TCP文件传输阶段,则可以制定阻断策略为将具有该特征的所有TCP连接当中包 含的二元组(源IP、目的IP)为标准进行IP阻断。因为在TCP传输过程当中 端口是可变的,因此采用四元组的阻断是不准确的。
本系统中采用的算法
1多模式匹配算法;
在进行P2P应用阶段识别定位阶段本方法采用多模式匹配算法根据已经建 立的P2P应用特征模型当中的静态特征、行为特征以及流量特征作为匹配模式, 以实际捕获的数据包作为匹配的样本进行多模式匹配,准确的定位实际捕获的 数据包采用的P2P协议及当前应用所处状态。 2.具体阻断实施策略关联算法; 以P2P应用阶段识别定位阶段的输出(即当前应用状态)作为输入,算法 输出对应该阶段进行精确阻断所对应的阻断策略。这里要求对于每一个输入状 态,算法的输出策略也是唯一确定的。并且该输出对应于阻断策略库中的各种 阻断策略。
实施例1.在上述A.协议特征模型的建立阶段;有Edonkey2000的协议静态 特征提取步骤,见图2;
1) E3 96 FF F0载荷长度6
2) E3 A2 FF F0载荷长度6
3) E3 97 载荷长度34
4) E3 9A 载荷长度18
5) E3 92 载荷长度10
类似于上述实施例,可以对于每一种P2P应用具体应用当中传输的数据包 进行静态特征的提取,并以此建立对应P2P应用的静态特征模型
其次挖掘实际P2P应用运行过程中具有的关联行为特征序列,此阶段包括所有的该P2P运行过程当中能够标识协议特定阶段的动作行为序列(如客户端发 送Peer请求,服务器回应Peer列表等等)。
实施例2:在上述B.应用阶段识别定位步骤有网易popo登录阶段行为特
征状态模型建立步骤-
1) 客户端与服务器端进行TCP握手连接(一般是220. 181.28.238:443)
2) 使用SSL协议协商此后通信中使用的会话密钥(客户端发出一个 Clienth*llo来发起握手,这个消息里面包含了自己可实现的算法列 表和其它一些需要的消息,SSL的服务器端会回应一个ServerhWlo, 这里面确定了这次通信所需要的算法,然后发过去自己的证书(里面 包含了身份和自己的公钥)。Client在收到这个消息后会生成一个秘 密消息,用SSL服务器的公钥加密后传过去,SSL服务器端用自己的 私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信 了。
3) 服务器端告知客户端可用服务器地址列表(通常为220. 181. 28. 238)
4) 客户端连接可用服务器获得相关服务。(见图3) 最后还要建立相关的特定P2P应用的流量特征模型。此阶段包括该P2P应用
实际运行过程当中各种实际流量特征。如在采用UDP传输时会有大量的具有相 同数据报头的数据包从单一的源IP流向大量的目的IP。在采用TCP传输的时候 可以设定为单位时间内从单一的源IP发出流向大量目的IP的长度相同的数据 报文。
本P2P软件监测系统包括存储了根据实际数据报文提取的不同P2P应用运 行过程当中的传输报文当中具有的特征的相应P2P静态特征库;存储了根据不 同P2P应用运行过程提取的特定行为动作特征序列的行为特征库;存储了不同 的P2P应用运行过程当中网络实际流量异于正常流量的特征的流量特征库;负责根据建立的静态特征库、行为特征模型以及流量特征模型和实际捕获的数据
包定位当前报文在该P2P应用当中所处的应用阶段的具体应用运行状态定位匹 配模块;存储了根据不同的P2P应用当中特定的运行阶段需要采用的不同阻断 策略的分阶段阻断策略库;根据目前收到的报文所处的运行状态及相应的阻断 策略进行实施阻断的具体阻断策略实施模块。
其中,P2P静态特征库存储了不同P2P应用运行过程当中的传输报文当中具 有的静态特征;行为特征库存储了存储了根据不同P2P应用运行过程提取的特 定行为动作特征序列;流量特征库存储了不同的P2P应用运行过程当中网络实 际流量异于正常流量的特征;具体应用运行状态定位匹配模块实现了对当前报 文在该P2P应用当中所处的应用阶段的具体应用运行状态的定位功能;分阶段 阻断策略库存储了根据不同的P2P应用当中特定的运行阶段需要采用的不同阻 断策略;具体阻断策略实施模块实现了根据目前收到的报文所处的运行状态及 相应的阻断策略进行实施阻断的功能。
本P2P软件监测系统,其特征在于包括静态特征库、行为特征库、流量特 征库、具体应用运行状态定位匹配模块、分阶段阻断策略库以及具体阻断策略 实施模块;所述的静态特征库、行为特征库、流量特征库与具体应用运行状态 定位匹配模块连接;所述的具体应用运行状态定位匹配模块和分阶段阻断策略 库与具体阻断策略实施模块连接。
权利要求
1. 一种P2P软件监测方法,其特征在于包括协议特征模型的建立阶段步骤;应用阶段识别定位阶段步骤;相应阻断策略实施阶段步骤。
2. 如权利要求1所述的一种P2P软件监测方法,其特征在于所述协议特 征模型建立阶段包含静态特征提取、行为特征提取和流量特征提取三个子步骤。
3. 如权利要求2所述的一种P2P软件监测方法,其特征在于静态特征提 取的子步骤为;依据实际P2P应用传输的数据包当中尽可能多的提取具有代表性的静态特 征,并建立协议静态特征模型; 或行为特征提取子步骤为;依据实际P2P应用传输的数据包当中携带的控制信息等提取特定P2P协议特 定运行状态的行为特征,并依照运行过程个步骤的行为特征建立协议行为特征 模型。或流量特征提取子步骤为; 依据实际P2P应用实际传输过程当中的流量状况对比正常网络环境的流量模 型进行该P2P应用的流量特征提取,并建立相应的流量特征模型。
4. 如权利要求1所述的一种P2P软件监测方法,其特征在于应用阶段 识别定位阶段,依赖于己建立的协议特征模型采用多模式匹配算法定位实际采 集的数据报文所属协议及在协议运行中所处状态。
5. 如权利要求1所述的一种P2P软件监测方法,其特征在于所述相应 阻断策略实施阶段包括阻断策略建立及阻断实施两个子步骤。
6. 如权利要求5所述的一种P2P软件监测方法,其特征在于阻断策略 建立子步骤为对于具体P2P应用所处特定阶段,结合具体情况制定相应的有效阻断策略并建立相应的阻断策略库,同时使用关联算法将具体P2P应用不同阶 段定位对应于不同的阻断策略。
7.如权利要求5所述的一种P2P软件监测方法,其特征在于阻断实施 子步骤为;对于实际网络环境当中能够准确识别的P2P应用通过关联算法给出的阻断 策略进行相应的阻断实施。
8. —种P2P软件监测系统,其特征在于包括存储了根据实际数据报文提取的不同P2P应用运行过程当中的传输报文当 中具有的特征的相应P2P静态特征库;存储了根据不同P2P应用运行过程提取的特定行为动作特征序列的行为特 征库;存储了不同的P2P应用运行过程当中网络实际流量异于正常流量的特征的 流量特征库; ,负责根据建立的静态特征库、行为特征模型以及流量特征模型和实际捕获 的数据包定位当前报文在该P2P应用当中所处的应用阶段的具体应用运行状态 定位匹配模块;存储了根据不同的P2P应用当中特定的运行阶段需要采用的不同阻断策略的分阶段阻断策略库;根据目前收到的报文所处的运行状态及相应的阻断策略进行实施阻断的具 体阻断策略实施模块;其中P2P静态特征库、行为特征库、流量特征库均与具体应用运行状态定位 匹配模块连接,为具体应用运行状态定位匹配模块提供运行状态定位的特征模 型;具体应用运行状态定位匹配模块与具体阻断策略实施模块相连为具体阻断 策略实施模块提供进行实际阻断的对象;分阶段阻断策略库也与具体阻断策略 实施模块相连,根据具体的运行状态定位为实际阻断提供阻断策略。
9. 如权利要求8所述的一种P2P软件监测系统,其特征在于包括 具体应用运行状态定位匹配模块依赖于己建立的协议特征模型采用多模式匹配算法定位实际采集的数据报文所属协议及在协议运行中所处状态;或具体阻断策略实施模块实现了阻断策略的关联及实际阻断,对于具体P2P 应用所处特定阶段,结合具体情况制定相应的有效阻断策略并建立相应的阻断 策略库,同时使用关联算法将具体P2P应用不同阶段定位对应于不同的阻断策略;对于实际网络环境当中准确识别的P2P应用通过关联算法给出的阻断策略进行相应的阻断实施。
全文摘要
本发明涉及可用于网络产品中的一种P2P软件监测方法和系统。能够在网络协议通信过程中根据实际抓获的报文当中携带的信息进行各种协议特征提取并以此实现对P2P应用的监测,并能够根据实际需要针对不同的运行状态实施不同策略的阻断。本方法及系统包括协议特征模型的建立、应用阶段识别定位、相应阻断策略实施三个阶段。其中,所述的协议特征模型的建立制定具体P2P应用特定状态的匹配特征;应用阶段识别定位模块以多模式匹配的方式实现对具体数据报文所属应用及协议状态的定位;相应阻断策略模块实现对于相关策略的建立、关联及相应的监测功能。
文档编号H04L12/24GK101442519SQ20071017790
公开日2009年5月27日 申请日期2007年11月22日 优先权日2007年11月22日
发明者孙海波, 李永泉, 杨海青, 斌 胡, 骆拥政 申请人:北京启明星辰信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1