MPA论文:基于方差分析和支持向量机技术的P2P流量检测

来源:公共管理硕士(MPA)    发布时间:2012-07-14    公共管理硕士(MPA)辅导视频    评论

  摘要:P2P流量逐渐成为了互联网流量的重要组成部分,在对Internet起巨大推动作用的同时,也带来了因资源过度占用而引起的网络拥塞以及安全隐患等问题,妨碍了正常的网络业务的开展。首先介绍了各种P2P流量识别方法及其优缺点,然后提出一种基于方差分析的P2P流量特征选择方法和基于该方法的支持向量机技术在P2P流量准实时检测中的应用模型。实验结果及分析表明,该方法能较有效地检测P2P流量并具有更好的检测精度。
  关键词 对等网络,流量检测,方差分析,支持向量机
  1 引言
  随着P2P网络技术在2O世纪9O年代后期的兴起,P2P流量逐渐成为了互联网流量的重要组成部分。精确地识别P2P流量对于有效地管理网络和合理地利用网络资源都具有重要意义。
  目前P2P流量检测技术大致有以下三类:基于端口的检测技术、深层数据包检侧技术和基于流量特征的检测技术_1]。
  基于端口的分析方法是在网络流量中探测P2P用户最基本、最直接的方法。但由于现在大多数P2P应用允许用户手动选择随意的端口号来设置默认的端口号或使用随机的端口号,从而使得端口号不可预测,还有一些P2P应用使用默认端口号(例如8O端口)来伪装自己的功能端口,因此基于端口号的分析方法的效率变得很差。
  深层数据包检测技术,可深入检测其数据包中的有效载荷,即通过应用层数据包的正则表达式的匹配来完成探测工作,以确定特定的P2P应用。当前许多商业P2P应用识别方案都基于该方案,如L7一filter,Cisco’ls PDMLk等。该方法识别准确度可以达到95 ,实现简单,维护方便。但该方法是高资源消耗的,在带宽越高的网络,检查时所需要的开销和资源就越多,而且由于必须读取处理所有网络流量,会严重地增加网络设备负担甚至会导致网络的崩溃,因而不适合大型网络。另外该方法对加密P2P流量捕获能力弱,对新的P2P应用必须升级后才能检测且该方法容易和隐私保护法律条款产生冲突。
  基于流量特征的检测技术利用P2P在传输层表现出来的流量特征来发现P2P应用。这类方法借用了统计学领域通用的一些概念,分析传输层的信息,不需要任何关于应用层协议的信息,几乎不需要任何额外的软件或者硬件并具有较强的加密和未知P2P流量的捕获能力,因而近年来关于流统计方式测量P2P流量得到了国内外广泛的关注,被认为是最有前途的一种方法。目前主要包括以下几种识别方式:{IP,port}识别、TCP/UDP端口识别、BlockSize识别、基于会话(session)分类的识别、双向识别、流统计状态的识别等等。
  实际上,从模式识别的角度而言,P2P流量的识别过程可看作是一个二分类问题:即对流量数据进行分类,分为P2P流和非P2P流。文献[2,3]提出了应用机器学习的方法进行P2P流的检测,例如应用贝叶斯网络、BP神经网络、聚类分析、支持向量机等方法,但是如何从流特性中获取最有效标识P2P流的特征,建立识别P2P流量的特征库,仍然是该领域内研究的热点。本文提出一个基于方差分析的P2P流量特征选择方案,用于提取对P2P流最具有显着影响作用的特征集合,并将支持向量机技术应用到流量检测的分类问题中来,根据P2P流量的流特性集,事先离线获得大量训练数据,输入到支持向量机中构建最优分类面并以此作为网络P2P流量的测量方法。
  本文第2节阐述了多元方差分析方法,提出了一个基于方差分析的P2P流量特征选择方案;第3节描述了支持向量机方法,提出了一个基于支持向量机的P2P流量检测模型;第4节分析了实际实验中应用支持向量机进行P2P流量检测的运行情况,包括实验所用数据、应用方差分析后的特征集合,流量识别的准确度及误检率和漏检率的分析;最后总结全文,并指出下一步研究工作。
  2 基于方差分析的P2P流量特征选择方案
  2.1 单因素方差分析方差分析(Analysis Of variance,缩写为ANOVA)是统计学中常用的数据处理方法,其目的是通过数据分析找出对事物有显着性影响的因素。单因素方差分析方法讨论的是在只有一种实验条件下,实验条件对实验结果是否会有显着影响,即将一组数据的总变动量,依可能造成变动的因素分解成不同的部份,并且以假设检定的方法来判断这些因素是否确实能解释数据的变动。目的是通过判断随机变量在只有一种处理因素条件下,经过几种不同处理水平之后得到的处理均值是否相等,从而检验出实验方法对实验结果是否产生显着性的影响口 。其前提假设是:各样本是相互独立的随机样本;各样本来自正态分布总体且各总体方差相等。其思路是将所有样本的总变动分成两个部分,一部分是组内变动(within groups),代表本组内各样本与该组平均值的离散程度;另一部分是组间变动(between groups),代表各组平均值关于总平均值的离散程度。将这两个变动部分除以它们所对应的自由度,即得到均方差。然后,用组间变动的均方差除以组内变动的均方差,根据统计学原理,组间差异与组内差异的比值呈F分布,从而得到F检验值,根据统计值对应的显着性水平就可以判断不同组间是否有显着性的差异。
  这样,我们就可以用F检验统计量来表示组间差异和内差异大小比较的比值,并利用F检验来检验组间差异与组内差异是否相等。如果组间差异与组内差异的比值比较大,大到超过F抽样分布上的显着性水平的临界值,那么总体的差异就可认为是来自于各组总体平均数之间的差异,即各组总体平均数之间确实有本质差异;如果组问差异与组内差异的比值比较小,小于F抽样分布上的显着性水平的临界值,那么总体的差异就可认为是由抽样误差引起的,即各组总体平均数之间没有本质差异。
  2.2 应用方差分析进行P2P流量特征选择方差分析的目的是检验并分析各种流统计特性对P2P流量的作用,使用方差分析方法去检验它们对P2P流和非P2P流是否会产生显着性影响,从而判断出哪些统计量对隐藏信息较为敏感。这一部分属于离线分析。对网络中采集的数据进行预处理,提取249个流相关统计信息,包括包大小、包延迟及各种TCP协议信息等,用方差分析对各个统计量进行检验,选择出对P2P流量更敏感的统计量作为区分P2P流量的特征向量元素。由于流量是随机选择的,其各种统计量可看作互相独立,且其取值范围服从正态分布;因此我们可以用单因素方差分析去检验这些统计量。
  例如,给定显着性水平a一0.05,单因素方差分析结果表明任何p  在所提取出的全部流统计量中,只有一部分能够较好地反映出是P2P流量和非P2P流量的统计特征变化。将方差分析所选取出的这些统计量集合作为P2P流量的统计特征向量元素,根据特征样本集使用机器学习的方法进行P2P流量检测,必然能提高检测率。例如应用基于核技巧的支持向量机去训练样本数据,找到优化超平面后,再运用SVM检测任何给定流量中是否包含有P2P流量。
  3 基于支持向量机的P2P流量检测模型
  3.1 支持向量机简介支持向量机是统计学习理论中最年轻的内容,也是最实用的部分。其核心内容是在1992至1995年间提出的,目前仍处于不断发展阶段[引。SVM 是从线性可分情况下的最优分类面发展而来的,基本思想可用图1的二维情况说明。图中,实心点和空心点分别代表两类样本,H为分类线,H1,H2分别为过各类中离分类线最近的样本且平行于分类线的直线,它们之间的距离叫做分类间隔(margin)。所谓最优分类线就是要求分类线不但能将两类正确分开(训练错误率为O),而且使分类间隔最大。
  此时,分类间隔为2/l l叫I l,使间隔最大等价于使l l I 1。
  最小。满足条件式(1)且使I I硼l l 最小的分类面称为最优分类面,HI,H2上的训练样本点称为支持向量。使分类间隔最大实际上就是对推广能力的控制,这是SVM 的核心思想之一。
  3.2 一个基于支持向量机的P2P流量检测模型整个模型的系统工作过程分为3个模块:基于方差分析的特征预处理模块、基于支持向量机的流量训练阶段和基于svrn的流量检测阶段,最后根据检测的结果进行流量控制。
  其中特征预处理模块指根据方差分析方案得到的P2P流量特征集合,对已知的正常流量数据、P2P流量数据根据子项目1得到的特征进行数据处理,将之转化为数字向量形式,并归一化使其能量为1,裁减尺度范围为[一1 11。
  基于支持向量机的训练阶段,将预处理后的统计特征数据作为训练支持向量机的依据,通过训练得到支持向量机的最优分类面。SVITI的训练阶段指根据特征预处理后的训练向量训练支持向量机,调整SVM参数到最佳状态,得到Vapnik意义下的最优分类面。
  在识别阶段,将预处理后的流量统计特征数据通过该支持向量机分类器进行检测。主要根据判决函数式对这些数字向量进行分类,并将分类结果提交给流量分析和控制模块,作出对P2P流量的控制处理。
  (1)根据方差分析提出的P2P协议的流量特征对实际预测流向量的特征进行预处理。
  (2)判断该向量是否已经存在于已经识别的P2P记录表中,如已存在,则转P2P流量控制模块。
  (3)使用基于支持向量机进行未知网络流量性质的预测,如果模式匹配成功,则综合判断为是某P2P流量,更新P2P记录表,并根据网络实际情况执行P2P流量的控制策略。
  4 实验结果分析
  为了验证本文提出的基于方差分析的支持向量机技术在P2P流量识别的有效和准确性,我们设计了一个原型系统,并将之部署在校园网的边缘路由器上。其拓扑图如图4所示。
  图4 P2P流量识别模型部署实验所用管理服务器主要用于离线训练基于支持向量机的P2P检测模型及在线P2P流量识别,该服务器型号为DellPoweredcdge 2850((Xeon 3.OGHz*2/256MB/73GB)),其中特征选择、离线模型训练和准实时流量识别在Wekac ]中完成。
  实验中运行的P2P应用包括:BitTorrent、eMule、迅雷、PPlive、Maze及Web应用与FTP服务。
  具体实验步骤如下。
  (1)采集网络流量。
  利用netmate【 工具采集网络数据包,按流进行分组(即将具有相同源IP地址、源端口号、目的IP地址、目的端口号和协议的分组包组成1个流)并标注出是否属于P2P应用,用“1”表示是,“一1”表示否,考虑到数据量较大,这里采用了文献E8]中提到的半监督聚类方法对流量进行分类。共形成十个原始数据文件。
  (2)利用netmate从流中提取相关属性信息。
  这里只考虑了TCP流,不考虑UDP和ICMP流。其中每个TCP流可以提取包括基于IP报文首部的协议、流时长、流的字节数、流的包数、前向或者后向分组包长度、包到达时间间隔(最大、最小、平均值、标准差)等共248个特征,形成训练数据源,即流量数据向量化及预处理部分。
  (3)利用Weka软件对训练数据源进行多元方差分析,形成特征集。
  为减少计算量和资源(如内存)的消耗,并提高分类速度,运用多元方差分析方法从1O个数据集的所有流量属性特征中选择了最有代表性的属性特征形成子集。分析发现每个数据集的属性特征集合内容有所不同,表现强度也不尽相同,但是仍然具有较好的稳定性,我们手动选择了5个行为特征,这5个至少在三分之一的特征子集中出现,且每一个特征子集最起码包含它们中的三分之一。这样做是希望寻找到相对更稳定、更独立于点对点之间的特征_】 。表2是单因素方差分析检验结果,第一栏为所选的5个特征量。选定显着性水平0.05,夕  (4)利用weka软件进行支持向量机模型训练,形成训练模型。
  这是个离线分析的过程。根据步骤(3)从每条流记录中提取5个特征及所属分类,重新形成新的数据源,进行基于支持向量机的P2P流量识别模型。实际训练时采用了1O折交叉验证(10一fold cross validation)方法,即将每一个数据集分成10份,轮流将其中9份作为训练数据,1份作为测试数据,进行试验。每次试验都会得出相应的正确率(或差错率)等结果,并以10次结果的正确率(或差错率)的平均值作为对算法精度的估计。
  本文对该P2P流量识别模型通过以下参数进行描述:平均建模时间、平均分类时间、识别准确度(Accuracy)、P2P识别精确率(Precision)和反馈率(Recal1)。
  表3显示了识别准确度、P2P识别精确度和反馈率。实验最后合并了P2P真阳性率最高,漏检率及误检率相对较低的3个数据集,用来训练支持向量机,得到P2P流量识别模型。为了体现特征选择方法的必要性和有效性,我们在数据集1—1O上对原始属性和其特征子集建立分类模型,并用十倍交叉验证法获得其分类正确率。表4对比了这两种方式的分类准确率、训练时间和分类时间。
  从表4可以看到,基于多元方差分析的算法的建模时间和分类时间都远远小于原始数据集所需要的时间,而且分类准确度得到提高。这说明对属性的合适方法约减,能够提高分类精度,节省运行时间。
  (5)准实时的P2P网络流量识别。
  使用netmate对捕获的网络流量数据数据包提取步骤(3)中的5个特征后进行基于支持向量机的P2P流量识别,这是一个准实时检测过程即在少量流数据包到达后就能尽可能快地给出检测结果,因而存在一定滞后性。考虑到内存开销和计算复杂度问题,实验中没有捕获每一个流的所有数据包,根据文献[8,9],只是捕获了每个TCP流的前5个包,经过特征选择预处理后作为测试集输入支持向量机进行分类(CPU运行时间约:640us/流),后者根据训练模型判别每一条流的类型并打上标签(CPU运行时间约:20us/流)。为了对比验证该方案的性能,在该服务器上同时部署了Analyzer软件[113,后者是完全通过特征关键字达到P2P流识别目的的。我们在试验中比较了该方案和Analyzer软件在在线检测分类的运行时间上的不同,发现该软件所需要的CPU实际运行时间约为1540us/流,几乎是前者的3倍,这主要是因为后者主要依靠payload来检测P2P流量,它必须读取处理所有网络流量,对网络中每一个截获的数据包都必须进行内容解析匹配,因此需要的开销、资源和运行时间较多。
  结束语
  本文研究了相关P2P流量检测方法和基于方差分析的支持向量机技术,提出了一种基于这种统计方法的支持向量机技术在P2P流量检测中的应用思路,同时提出了一个基于该方案的P2P识别流量模型。该方法是基于P2P流特征的机器学习方法,克服了传统的基于端口和特征字方法的不足,可以用于识别加密P2P流量。实验表明,该方法能够比较有效地判断P2P流量的显着影响因素,适合于准实时流量检测,而且通过调整系统参数可以实现高精度检测。
  下一步的研究目标首先要进一步地完善本方案,通过仿真实验和原型系统运行,确定流统计的精确时间间隔等,并对比其他机器学习方法如C4.5,聚类分析的训练和分类性能以寻找最合适的识别方法,然后实现该方案和特征字匹配的融合,从而更准确判别P2P流量并进行应用级分类。

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答