书签 分享 收藏 举报 版权申诉 / 10

基于支持向量机的混合式点对点流量检测方法.pdf

  • 上传人:a1
  • 文档编号:1113640
  • 上传时间:2018-03-31
  • 格式:PDF
  • 页数:10
  • 大小:584.28KB
  • 摘要
    申请专利号:

    CN200910029899.9

    申请日:

    2009.03.20

    公开号:

    CN101510873A

    公开日:

    2009.08.19

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效|||公开

    IPC分类号:

    H04L29/06; H04L29/08

    主分类号:

    H04L29/06

    申请人:

    扬州永信计算机有限公司

    发明人:

    纪迎彬; 黄 勤; 郭晓凤

    地址:

    225000江苏省扬州市文昌中路550号

    优先权:

    专利代理机构:

    南京经纬专利商标代理有限公司

    代理人:

    叶连生

    PDF完整版下载: PDF下载
    内容摘要

    采用基于SVM和基于流量统计特征与深层数据包检测技术相结合的分布式总体架构,使用混合式的检测手段,有效地提高P2P流量检测的精度和速度,降低虚警率和漏警率,适应P2P检测系统对不断增长的P2P新的应用的控制要求。本方案中对支持向量机(SVM)的分类器的分类进行更细也是更有效的划分,独立出一个模糊区域,模糊区域的引入使得分类器不是在碰到任何数据时都时简单的将其归结为P2P流量或者非P2P流量,而是通过由模糊区域将数据传到管理平台的分析模块,由分析模块精确分析后确定。分析模块确定的P2P流量数据特征将分别根据情况传递到匹配模块或校正模块,进一步提高检测的效率。

    权利要求书

    1.  一种基于支持向量机的混合式点对点流量检测方法,其特征在于,该方法分为支持向量机的训练、P2P流量识别方法两部分;
    首先选取大量的P2P流量样本和非P2P流量样本利用支持向量机进行针对性的反馈迭代训练,SVM在经过多次反馈迭代训练后,识别的准确率将有很大的提升,直至达到一个所要求的性能与速度均可以接受的均衡点,然后将支持向量机布置在网关处开始抓包,利用支持向量机的分类器对其进行分类,确定的P2P流量进入管理平台的匹配模块进行P2P类型匹配,不确定是否为P2P流量的进入分析模块待分析,确定为非P2P流量的直接舍弃;分析模块从匹配模块接受无法匹配的数据,从支持向量机的分类器接受不确定是否为P2P的数据,对二者进行分析,分析后根据情况传到匹配模块或是校正模块,校正模块将校正信息传递给支持向量机的训练器,使其训练出的模型更适合分类器使用。

    2.
      根据权利要求1所述的基于支持向量机的混合式点对点流量检测方法,其特征在于,所述的支持向量机的训练、P2P流量识别方法具体为:
    a.训练支持向量机:首先使用一定数量的P2P和非P2P数据作为训练样本输入到支持向量机之中,根据这些训练数据输出一个模型,这个模型实际上就是通过样本构造的一个决策函数,然后将测试数据输入该模型进行分类,如果非P2P流量被识别为P2P流量的比例较大,则说明虚警率比较高;相反,如果P2P流量被识别为非P2P流量的比例较大,则说明漏警率比较高;接下来对当前的情况进行反馈:将错分为P2P的非P2P流量重新归到非P2P一类;同时也将被错分为非P2P的P2P流量重新归到P2P一类,循环执行前面的步骤,直到获得理想的精度为止;
    b.支持向量机对网络数据进行分类:将训练好的支持向量机加入布置到网关中,通过网关的数据被抓包送入支持向量机的分类器中进行分析并对其分类,分类器在使用时不仅仅只是分成P2P流量和非P2P流量两大类,在两者之间设定一个模糊区域,在这个模糊区域内,将此流量作为输入数据传给管理平台,也向支持向量机的训练器中输入此数据,由管理平台的分析模块负责对这部份模糊数据进行分析,最终确定其数据类别;由分类器确定的非P2P流量直接舍弃;
    c.匹配模块对P2P流量进行数据匹配:当管理平台的匹配模块接收到来自于支持向量机分类器分类的确定P2P流量数据时,开始对数据进行匹配,对可以确定类型的P2P流量数据分别归入各自部分,有一部分被支持向量机确定为P2P数据但在匹配模块中找不到符合的项,这部分数据将由匹配模块传入到分析模块中,由分析模块来对其确认;
    d.分析模块对传入数据进行分析:分析模块采用基于流量统计特征和深层数据包检测技术相结合的方法,分析模块接收的数据来自两个地方,其中一处是来自支持向量机分类器中不能确定的模糊区域的数据,另一处来自匹配模块中无法找到对应匹配项的数据,分析模块首先对这些数据进行简单的常用端口过滤,过滤掉一些使用常用端口的非P2P流量数据,然后使用流量特征匹配确认该数据报文是否符合P2P流量特征,如果符合,再进行载荷匹配以获得其应用类型,如果此时在无法找到相匹配的项,则根据载荷特征新建一匹配项,对不符合流量统计特征的数据报文也要进行载荷匹配;若找到匹配项,则获知其应用类型,否则认为其为非P2P流量;
    e.校正模块对支持向量机的训练器进行不定期的调整:设计一个校正模块对支持向量机的训练器进行不定期的调整,以期达到设计要求;校正模块的数据来自与分析模块,基于流量统计特征和深层数据包检测技术相结合的方法能发现未知的P2P流量,以提高训练器的效果,使得训练器产生的分类模型更适合分类器使用;
    f.控制模块协调其他几个模块的运行并发出控制命令对网络流量进行总控:控制模块作为整个管理平台的中枢,由它来协调匹配模块、分析模块、校正模块的关系,组织几个模块的正确运行,最终的控制网络流量的命令也由它发出,控制模块将根据检测到的P2P流量的类型、对网络的危害程度来决定是完全禁止此种P2P应用,还是仅仅只是限制此种P2P应用,抑或暂时对此种P2P应用完全放行。

    说明书

    基于支持向量机的混合式点对点流量检测方法
    技术领域
    采用基于SVM(支持向量机)和基于流量统计特征与深层数据包检测技术相结合的分布式总体架构,使用混合式的检测手段,能有效地提高检测精度和速度,降低虚警率和误报率,适应P2P检测系统对不断增长的P2P新的应用的控制要求。属于网络安全的技术领域
    背景技术
    P2P技术概述
    P2P是“Peer-to-Peer”的缩写,即点对点的意思,P2P是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源(服务和内容)获取者(Client)。根据拓扑结构的关系可以将P2P研究分为4种形式:中心化拓扑(Centralized Topology),代表就是著名的MP3共享软件Napster;全分布式非结构化拓扑(Decentralized Unstructured Topology),代表Gnutella;全分布式结构化拓扑(Decentralized Structured Topology,也称作DHT网络),是Tapestry,Chord,CAN,Pastry,KAD;半分布式拓扑(Partially Decentralized Topology),代表为KaZaa。
    SVM概述
    SVM(Support Vector Machine)是一种以统计学理论为基础的,以结构风险最小化的机器学习方法。Vapnik等人在多年研究统计学习理论基础上对线性分类器提出了另一种设计最佳准则。其原理也从线性可分说起,然后扩展到线性不可分的情况。甚至扩展到使用非线性函数中去,这种分类器被称为支持向量机(Support Vector Machine,简称SVM)。SVM的主要思想可以概括为两点:(1)它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能;(2)它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化,并且在整个样本空间的期望风险以某个概率满足一定上界。
    现有主要的几种P2P流量检测技术方案及其缺陷
    1.基于端口的P2P流量识别
    这里的端口指TCP/IP模型的传输层端口,即TCP或UDP端口。早期的P2P系统大都使用默认的网络端口,这种方法的特点是简单快速,然而一些P2P协议不使用固定端口,而是动态地使用端口,包括使用一些知名服务的端口。KaZaA就是可以使用端口80(通常是http或web服务来使用)来通信的,而像Direct Connect,Bitconnect等更是使用了随机端口,而http隧道、端口跳跃等技术的使用更是加大了识别、跟踪、控制的难度。
    2.基于流统计特征的识别
    基于流的识别方法是基于统计的观点,通过分析P2P流的几个特征属性(平均速率,字节数等),从宏观上进行识别。研究表明,P2P流量具有长时间固定连接,数据量大,高速传输,流量具有非突发性,上行流量与下行流量相当的特点。当某个方向的流被识别为P2P流,则其反方向流必然也是P2P流。通过分析不同数据流的属性,可以把P2P流与其它应用的数据流区别开来。有些流的特征和P2P的相似,如:FTP文件传输。对于这些流,可以综合端口识别方法进行判断。基于流的P2P识别方法可以将P2P从其他非P2P服务类型区别开,易于检测对负载进行加密的流量以及新出现的和未知的P2P流量,但是不能区分具体是哪种P2P协议,另外,这种方法的灵活性较好但精确性不高。
    3.基于传输层行为特征的识别
    该方法以P2P流量在传输层所表现出来的两种一般特性为依据并结合传统的端口检测技术。基于传输层的P2P识别与基于流的P2P识别有相似之处,都是通过宏观分析的方法进行识别,而不进行任何微观内容的检测,不同之处在于,基于流的P2P识别依据的是P2P流的字节数,平均速率以及持续时间等流的属性特征,而传输层的P2P识别则是根据P2P连接的IP地址和端口号的连接特征进行识别的。这种方法主要使用一个数据流中两种不同类型的对。第一种是同时使用TCP和UDP进行数据传输的{源IP,目的IP}对;第二种是两个P2P结点进行连接的{IP,port}对。同基于流的识别方法一样,这种识别方法最大的问题也是不能区分出具体的P2P协议,灵活性较好,即可以识别未知的P2P协议,但精确性不高。
    4.基于深层数据包扫描的识别
    深层数据包检测技术是通过对数据包应用层协议的检测解析发现P2P应用。这种技术使用一个载荷特征库存储载荷特征串,符合载荷特征串的数据包即视为P2P数据包。几乎每种P2P应用都基于自己的应用层协议,通过数据报报文捕获,分析报文特征,为每种P2P应用层协议定义唯一的特征串,定义特征串的原则为:选择该协议特有的,交互过程中必须出现且实际环境中出现频率最高的字段作为协议的特征串。这种方法的特点是识别率高,但是这种方法是通过识别包载荷中的特征字段来捕捉相应的P2P流量,它依赖于报文内容,面对负载加密的P2P流量或者内容特征尚未公布的新型P2P流量显得力不从心。此外,算法检测性能与载荷特征串的复杂度有关,载荷特征越复杂,则检测代价越高,算法性能越差。
    以上各类归结为两大类:即基于流量特征的检测方法和基于载荷(payload)特征的深层数据包检测方法,两者各有优缺点。
    发明内容
    技术问题:本发明的目的是提供一种基于支持向量机的混合式点对点流量检测方法,使用混合式的检测手段,能有效地提高精确度,降低虚警率和漏警率,适应在当今P2P技术迅速发展的情况下对其检测的要求。
    技术方案:本发明的基于SVM(支持向量机)和常用的P2P(点对点)流量检测方法,首先选取大量的P2P流量样本和非P2P流量样本利用SVM进行针对性的反馈迭代训练,SVM在经过多次反馈迭代训练后,识别的准确率将有很大的提升。直至达到一个我们所要求的性能与速度均可以接受的均衡点。然后将支持向量机(SVM)布置在网关处开始抓包,利用SVM的分类器对其进行分类,确定的P2P流量进入管理平台的匹配模块进行P2P类型匹配,不确定是否为P2P流量的进入分析模块待分析,确定为非P2P流量的直接舍弃。分析模块从匹配模块接受无法匹配的数据,从SVM的分类器接受不确定是否为P2P的数据,对二者进行分析。分析后根据情况传到匹配模块或是校正模块。校正模块将校正信息传递给支持向量机(SVM)的训练器,使其训练出的模型更适合分类器使用。
    所述的总体架构的设计、支持向量机(SVM)的训练、P2P流量识别方法具体为:
    a.训练支持向量机:首先使用一定数量的P2P和非P2P数据作为训练样本输入到支持向量机之中,根据这些训练数据输出一个模型,这个模型实际上就是通过样本构造的一个决策函数,然后将测试数据输入该模型进行分类,如果非P2P流量被识别为P2P流量的比例较大,则说明虚警率比较高;相反,如果P2P流量被识别为非P2P流量的比例较大,则说明漏警率比较高;接下来对当前的情况进行反馈:将错分为P2P的非P2P流量重新归到非P2P一类;同时也将被错分为非P2P的P2P流量重新归到P2P一类,循环执行前面的步骤,直到获得理想的精度为止;
    b.支持向量机对网络数据进行分类:将训练好的支持向量机加入布置到网关中,通过网关的数据被抓包送入支持向量机的分类器中进行分析并对其分类,分类器在使用时不仅仅只是分成P2P流量和非P2P流量两大类,在两者之间设定一个模糊区域,在这个模糊区域内,将此流量作为输入数据传给管理平台,也向支持向量机的训练器中输入此数据,由管理平台的分析模块负责对这部份模糊数据进行分析,最终确定其数据类别;由分类器确定的非P2P流量直接舍弃;
    c.匹配模块对P2P流量进行数据匹配:当管理平台的匹配模块接收到来自于支持向量机分类器分类的确定P2P流量数据时,开始对数据进行匹配,对可以确定类型的P2P流量数据分别归入各自部分,有一部分被支持向量机确定为P2P数据但在匹配模块中找不到符合的项,这部分数据将由匹配模块传入到分析模块中,由分析模块来对其确认;
    d.分析模块对传入数据进行分析:分析模块采用基于流量统计特征和深层数据包检测技术相结合的方法,分析模块接收的数据来自两个地方,其中一处是来自支持向量机分类器中不能确定的模糊区域的数据,另一处来自匹配模块中无法找到对应匹配项的数据,分析模块首先对这些数据进行简单的常用端口过滤,过滤掉一些使用常用端口的非P2P流量数据,然后使用流量特征匹配确认该数据报文是否符合P2P流量特征,如果符合,再进行载荷匹配以获得其应用类型,如果此时在无法找到相匹配的项,则根据载荷特征新建一匹配项,对不符合流量统计特征的数据报文也要进行载荷匹配;若找到匹配项,则获知其应用类型,否则认为其为非P2P流量;
    e.校正模块对支持向量机的训练器进行不定期的调整:设计一个校正模块对支持向量机的训练器进行不定期的调整,以期达到设计要求;校正模块的数据来自与分析模块,基于流量统计特征和深层数据包检测技术相结合的方法能发现未知的P2P流量,以提高训练器的效果,使得训练器产生的分类模型更适合分类器使用;
    f.控制模块协调其他几个模块的运行并发出控制命令对网络流量进行总控:控制模块作为整个管理平台的中枢,由它来协调匹配模块、分析模块、校正模块的关系,组织几个模块的正确运行,最终的控制网络流量的命令也由它发出,控制模块将根据检测到的P2P流量的类型、对网络的危害程度来决定是完全禁止此种P2P应用,还是仅仅只是限制此种P2P应用,抑或暂时对此种P2P应用完全放行。
    有益效果:本发明技术方案中通过SVM技术引入到P2P流量检测中,将支持向量机(SVM)布置在网关处抓包,然后利用SVM的分类器对其进行分类。首先利用训练数据训练支持向量机直到获得理想的精度;然后利用支持向量机对网络数据进行分类;匹配模块对P2P流量进行数据匹配,分析模块对传入数据进行分析,校正模块对支持向量机的训练器进行不定期的调整,控制模块协调其他几个模块的运行并发出控制命令对网络流量进行总控。利用SVM的自学习功能,极大的提升P2P流量检测的精确性,同时也提高了检测的速度。
    附图说明
    图1为该体系总体架构图,
    图2支持向量机(SVM)的训练原理图,
    图3P2P流量数据匹配图,
    图4分析模块图。
    具体实施方式
    本发明的总体架构如图1所示,其中的支持向量机(SVM)的训练原理如图2所示。
    1.训练支持向量机(SVM)
    首先使用一定数量的P2P和非P2P数据作为训练样本输入到支持向量机之中,根据这些训练数据输出一个模型,这个模型实际上就是通过样本构造的一个决策函数。然后将测试数据输入该模型进行分类,如果非P2P流量被识别为P2P流量的比例较大,则说明虚警率比较高;相反,如果P2P流量被识别为非P2P流量的比例较大,则说明漏警率比较高。接下来应该对当前的情况进行反馈:将错分为P2P的非P2P流量重新归到非P2P一类;同时也将被错分为非P2P的P2P流量重新归到P2P一类。循环执行前面的步骤,直到获得理想的精度为止。在该实验最开始的时候,投入训练的样本并不多,这是为了保证能够迅速的构造决策函数。接下来的反馈过程将错分的样本进行纠正,相当于在下一次训练中加入了先验知识,从而通过学习提高分类性能。随着迭代次数的增加,投入训练的样本越来越多,包含的数据特征也越来越全面;同时由于反馈次数的增多,该学习器的分类性能也随着加入的先验知识不断增强,最终将达到较为理想的效果。
    2.支持向量机对网络数据进行分类
    将训练好的支持向量机(SVM)加入布置到网关中,通过网关的数据被抓包送入SVM的分类器中进行分析并对其分类。因为随着网络的发展,P2P的应用越来越广泛,而且新的P2P形式越来越多,为了更好的将P2P流量区分出来,我们的分类器在使用时不仅仅只是分成P2P流量和非P2P流量两大类,因为这样做有可能会将一些本是P2P的流量识别为非P2P流量,同时将一些本是非P2P流量的数据识别为P2P流量。因此我们在两者之间设定一个模糊区域,在这个模糊区域内,我们暂且不去区分流量类别,而是将此流量作为输入数据传给管理平台,也向支持向量机的训练器中输入此数据。由管理平台的分析模块负责对这部份模糊数据进行分析,最终确定其数据类别。由分类器确定的P2P流量作为输入传到管理平台的匹配模块中,再有匹配模块确定其P2P流量的类型。因为我们最终要分析的只是P2P流量,所以由分类器确定的非P2P流量直接舍弃。
    3.匹配模块对P2P流量进行数据匹配
    当管理平台的匹配模块接收到来自于支持向量机分类器分类的确定P2P流量数据时,开始对数据进行匹配,如图3所示。对可以确定类型的P2P流量数据分别归入各自部分,但仍然会有一部分被支持向量机确定为P2P数据但在匹配模块中找不到符合的项,这部分数据将由匹配模块传入到分析模块中,由分析模块来对其确认。
    4.分析模块对传入数据进行分析
    分析模块采用基于流量统计特征和深层数据包检测(DPI)技术相结合的方法,检测方法如图4所示。分析模块接收的数据来自两个地方,其中一处是来自支持向量机(SVM)分类器中不能确定的模糊区域的数据,另一处来自匹配模块中无法找到对应匹配项的数据。分析模块首先对这些数据进行简单的常用端口(不包括80这个常用端口,这个端口被某些P2P软件使用)过滤,这样可以过滤掉一些使用常用端口的非P2P流量数据。然后使用流量特征匹配确认该数据报文是否符合P2P流量特征,如果符合,再进行载荷(payload)匹配以获得其应用类型。如果此时在无法找到相匹配的项,则根据载荷特征新建一匹配项,因为这种被基于流量统计特征检测出而不能被利用深层数据包检测技术检测到的P2P流量极有可能是未知的P2P流量或加密的P2P流量。对不符合流量统计特征的数据报文也要进行载荷(payload)匹配,若找到匹配项,则获知其应用类型;否则认为其为非P2P流量。采用这种新型的检测方法,未知的和加密的P2P应用可以在流量特征匹配阶段进行有效的检测,从而克服了深层数据包检测技术在这方面固有的缺陷,而对于P2P应用的分类又克服了基于流量检测技术分类能力弱的缺陷。由于是基于流量特征和payload特征的双重检测来确定P2P流量,只要保证流量特征和payload特征的组合能够唯一确定P2P协议即可,所以在制定过滤规则时可以根据性能的需要去掉许多复杂的流量特征和payload特征,从而提高检测效率。分析模块也会向匹配模块传送匹配模块尚不具有的,但被分析模块确定为P2P流量的数据特征,这样匹配模块可以对支持向量机(SVM)的分类器分类的P2P流量数据进行更好的匹配。
    5.校正模块对支持向量机(SVM)的训练器进行不定期的调整
    网络技术总是不断的进步,P2P技术也是在不断的发展。在长期的使用环境下,如果不对支持向量机(SVM)进行不断的训练,SVM将无法对新型的P2P应用作出反应或作出错误的反应,对P2P流量的检测效率和精度都将越来越低。因此我们设计一个校正模块对支持向量机
    (SVM)的训练器进行不定期的调整,以期达到我们的要求。校正模块的数据来自与分析模块,基于流量统计特征和深层数据包检测技术相结合的方法能发现未知的P2P流量。这些数据的提供可以提高训练器的效果,使得训练器产生的分类模型更适合分类器使用。
    6.控制模块协调其他几个模块的运行并发出控制命令对网络流量进行总控
    控制模块作为整个管理平台的中枢,由它来协调匹配模块、分析模块、校正模块的关系,组织几个模块的正确运行。最终的控制网络流量的命令也由它发出,控制模块将根据检测到的P2P流量的类型、对网络的危害程度来决定是完全禁止此种P2P应用,还是仅仅只是限制此种P2P应用,抑或暂时对此种P2P应用完全放行。

    关 键  词:
    基于 支持 向量 混合式 点对点 流量 检测 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于支持向量机的混合式点对点流量检测方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1113640.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1