基于支持向量机与深层包检测的对等网络流量识别方法

文档序号:7747685阅读:117来源:国知局
专利名称:基于支持向量机与深层包检测的对等网络流量识别方法
技术领域
本发明是一种基于支持向量机(SVM)与深层数据包检测(DPI)技术的对等网络 (P2P)流量识别方法,通过监督式的机器学习识别对等网络流量,属于互联网流量识别领 域。
背景技术
随着对等网络应用的日益成熟与发展,给互联网带来了众多的问题对等网络用户不分时段地进行高速下载,增大网络设备的负荷,极易造成高峰时段的链路拥塞;对等网 络应用传输速率高,且对等网络应用的数据交换具有一对多、突发性和分布式特性,其用户 抢占了大量的网络带宽,容易引起企业及网络服务提供者(ISP)瓶颈链路的阻塞等等。为 了维持网络环境的健康发展,满足服务质量、网络规划、计费和审计等基本要求,就必须对 对等网络流量进行有效的检测,因而,对等网络流量识别就成了近几年的热门研究方向。目前国内外在对等网络流量的识别上做了大量的研究,主要分为两个方向一类 是基于对等网络应用的一些外在特征的识别,一类是基于对等网络流量的内在特征的识 别。基于对等网络应用外在特征的代表性方法主要有端口识别法、应用层特征识别 法等。这些方法在对等网络应用出现的初期显得十分简单有效,但是,随着对等网络技术的 发展,这些方法逐渐变得不再适用,端口跳变、随机端口、信息隐藏等技术被对等网络应用 广泛采用,这些对等网络流量识别方法已经无法识别出这类对等网络应用的存在。并且,这 一类方法只能识别已知对等网络协议的流量,一旦应用协议升级或者出现一种新的对等网 络应用,必须重新提取其外在特征才能对其进行识别,扩展性不强。基于对等网络流量内在特征的代表性方法主要有流量模式分析法、连接模式分 析法等。这些方法虽然可以绕过基于对等网络外在特征的流量检测所遇到的问题,但是,这 些方法的对等网络流量识别结果具有不确定性,是基于概率的结果,并且,方法的精度取决 于对等网络应用特征的显著程度和启发式规则对这种特征的覆盖能力,而往往找到对等网 络应用的普遍特征是非常困难的。不难看出,目前需要一种有效的对等网络流量识别方法,它必须减少与对等网络 流量外在特征的依赖性,并且能够根据在识别过程中学习的信息自动进行调整识别规则, 实现对对等网络流量的精确识别。本专利引入了支持向量机技术,并且与深层数据包识别 技术有机结合,提供了一种全新而有效的对等网络流量识别方法。

发明内容
技术问题本发明的目的是提出一种基于支持向量机与深层数据包检测技术的对 等网络流量识别方法,深层数据包检测技术用于样本数据的采集,支持向量机技术用于机 器的监督式学习,识别过程中将动态确定系统运行模式,准确、高效的识别对等网络流量。技术方案目前国内外在将支持向量机技术应用于对等网络流量识别时,支持向量机的训练样本数据一般在系统运行前准备好,并一次性完成支持向量库的构建,当应用于不同的网络环境或当网络环境发生改变时,识别效果会受到严重的影响,甚至要重新提 取样本数据。本发明将在识别的过程中运用深层数据包检测技术动态的获取样本数据,并 周期性的进行支持向量机训练,以适应不同的应用环境。当满足一定条件后,系统将停止样 本采集及训练,以防止发生过学习现象并提高系统整体效率。本发明基于支持向量机与深层数据包检测技术的对等网络流量识别方法,依据以 下步骤实现1)数据采集数据采集的过程发生在网络接口层,截取报文中的源IP地址、源端口号、目标IP 地址、目标端口号及IP协议,并为每个报文建立索引,经过数据采集后,形成一系列可索引 的流量捕捉文件;2)数据预处理对流量捕捉文件进行预处理,抽取与流量外在特征无关的流量内在特征,并将所 有的特征信息预处理成0 1之间的实数,然后进行加权处理作为支持向量机的输入的特 征向量;经过预处理后,形成一系列与协议和端口无关的流特征向量组成的流量样本文件, 并输入至待处理流缓冲区;3)决策判定在学习模式、分类模式、积累模式下分别依据特定的规则做出决策,做出的决策将 影响对未来工作模式的选择;4)模式选择通过步骤3)中返回的决策结果,在学习模式、分类模式、积累模式中选择一种模 式进行,初始的工作模式为积累模式;5)流量识别在当前所处的模式下,依据特定的规则使用基于深层数据包检测与支持向量机技 术的识别方法进行流量识别,识别过程结束后,转至步骤3),6)机器学习当前所处模式为学习模式时,当基于深层数据包检测技术的识别与基于支持向量 机技术的识别过程结束后,则进行支持向量机训练。此时将对支持向量机训练样本中的训 练数据集进行训练,训练数据集中的数据是从基于深层数据包检测技术的识别中得到的样 本,有明确的分类信息。训练结束后将若干个支持向量存入支持向量库,转至步骤3)。所述的学习模式、分类模式、积累模式,具体如下21)积累模式此模式同时进行基于支持向量机技术的识别与基于深层数据包检 测技术的识别,将分别产生两个分类结果;22)分类模式此模式将通过支持向量库对捕获流量进行识别;23)学习模式此模式将通过样本数据进行支持向量机的学习,并将结果加入支 持向量库中;在流量识别的过程中,只可能处于这三种模式的其中之一。在学习模式、分类模式、积累模式下,分别依据特定的规则做出决策,其规则具体 为
31)当前处于积累模式定义精确度为支持向量机判定正确次数与有效累积次数的比值,若深层数据包检 测识别成功则记为一次有效累积次数。定义最大精确度为在当前对等网络流量特征库支持 下的最大精确度;情况一深层数据包检测识别成功,确定此样本流量为对等网络流量,将支持向量 机分类结果与之相比较,判定为对等网络流量,并修正精确度;情况二 深层数据包检测识别失败,无法确定此样本流量是否为对等网络流量,若 当前精确度>可容纳的精确度,判定为对等网络流量;反之判定为非对等网络流量;
当训练样本累积至一定规模时,改变当前模式为学习模式;经过不断地支持向量机训练过程后,随着时间的增加,精确度将不断递增并接近 极大值,当判断其接近最大精确度时,改变当前模式为分类模式;32)当前处于分类模式在理想状况下,这时的精确度将接近最大精确度,但是,当网络情况发生变化或对 等网络特征库发生变化时,实际精确度将会下降或有提升空间,因而,在经过一段时间后, 改变当前模式为积累模式;33)当前处于学习模式支持向量机训练结束后,改变当前模式为积累模式。所述的流量识别,其规则具体为41)当前处于积累模式当待处理流缓冲区满,同时进行基于深层数据包检测技术的识别与基于支持向量 机技术的识别。当深层数据包检测成功时,将此流量作为可信的样本数据并递交至支持向 量机训练样本中;当深层数据包检测失败时,同时进行的基于支持向量机技术的识别将给 出一个基于支持向量库的最优分类;42)当前处于分类模式当待处理流缓冲区满,仅进行基于支持向量机技术的识别。有益效果该方法结合了基于深层数据包检测技术的识别方法与基于支持向量机 技术的识别方法的优点,在有限的应用层协议特征库的支持下,通过深层数据包检测技术 自动采集训练样本而不需要人工干预,可自行适应不同的网络环境,并通过监督式的机器 学习识别应用层协议特征库以外的未知对等网络流量,并保持较高的识别率。


图1为基于支持向量机与深层数据包检测技术的对等网络流量识别方法的流程 图。图2为该体系中三种模式的转换关系。
具体实施例方式本发明提出一种基于支持向量机与深层数据包检测技术的对等网络流量识别方 法,在识别的过程中,通过深层数据包检测技术自动采集样本数据,并周期性的进行支持向 量机训练,可自行适应不同的应用环境。通过系统的决策模块动态选择系统的运行模式,以保持最高的识别准确率与识别效率。本方案的实施过程可概括如下1)数据准备模块
在此模块中将完成原始数据的采集,并进行数据的预处理,作为深层数据包检测 模块与支持向量机模块的输入。数据采集的过程发生在TCP/IP模型的网络接口层,在基于TCP/IP协议的互联 网中,根据源IP地址、源端口号,目标IP地址、目标端口号及IP协议定义五元组(Five Tuple),将报文(Packets)分成双向 TCP 或 UDP 流(Flow)。定义流量捕捉文件(Capture Files)为报文(Packets)前128比特(bit)长度的 数据加上五元组。同时,规定流与流之间的空闲时间(Idle Timeout)为60秒,即超过60s 被认为是不同的流量捕捉文件。采集时,截取报文前面的128比特长度,并生成CAP头文件, 形成CAP(*.cap)格式的流量捕捉文件,其格式如附图4所示。经过数据采集后,形成一系 列通过CAP头索引的流量捕捉文件。完成数据采集后,将对流量捕捉文件进行预处理时,抽取与协议和端口无关的流 的特征,如报文长度,持续时间等。将所有的特征信息预处理成0 1之间的实数,然后进 行加权处理或直接作为支持向量机的输入的特征向量。定义这些特征向量组为流量样本文 件(Sample Files)。获取网络流量样本是支持向量机训练的前提条件,数据准备模块处理完成后,将 形成一系列与协议和端口无关的流特征向量组成的流量样本文件,并输入至待处理流缓冲 区。2)模式选择模块接受决策判定模块中返回的结果,在三种模式(学习模式、分类模式、积累模式) 中选择一种模式进行。3)深层数据包检测模块若当前模式为积累模式,当待处理流缓冲区满,则进行基于深层数据包检测技术 的识别。深层数据包检测通过协议分析与还原技术,提取对等网络应用层数据,即对等网络 载荷,通过分析对等网络载荷所包含的协议特征值,来判断是否属于对等网络应用,对等网 络流量特征库需要预先建立并提供更新以加强此方案的可扩展性。可将端口识别法应用于深层数据包检测技术,改进后的深层数据包检测技术由以 下4个步骤组成步骤1 查看流的端口是否用常用的端口(如80,21等),如果是,则采用基于端 口的标注方法进行标注,将对等网络流量样本或非对等网络流量样本加入置信流量样本集 中,并将此置信流量样本文件递交至支持向量机训练样本中,进入步骤4;否则进入步骤2。步骤2 对流量进行特征串匹配方法进行标注,如果匹配成功,将对等网络流量样 本或非对等网络流量样本加入置信流量样本集中,并将此流量样本文件递交至支持向量机 训练样本中,进入步骤4 ;否则进入步骤3。步骤3 标注为未知流量类型,进入步骤4。步骤4 将识别结果递交至决策判定模块。在传统的基于深层数据包检测技术的识别方法中,成功的识别不会对今后的判别产生任何帮助,而不成功的识别判定为识别失败,因而一个好的深层数据包检测方案需要 一个完善的对等网络特征库的支持。在本方案中,成功的识别被认为是可信的样本数据并 递交至支持向量机训练样本集中用于机器学习,当识别不成功时,同时进行的基于支持向 量机技术的识别将给出一个基于支持向量库的最优分类。4)支持向量机模块支持向量机模块包括支持向量机训练与支持向量机分类过程,此模块通过对深层 数据包检测 模块产生的训练样本进行学习,产生支持向量库,基于此向量库,支持向量机分 类器将对流量进行分类,得出对等网络流量与非对等网络流量的分类。若当前模式为学习模式,当基于深层数据包检测技术的识别和基于支持向量机技 术的识别过程结束后,则进行支持向量机训练。支持向量机训练对支持向量机训练样本中 的训练数据集进行训练,训练数据集中的数据是从深层数据包检测中得到的,有明确的分 类信息,因而是一种监督学习。采取增量式并行训练算法对样本数据进行训练,训练结束后 将若干个支持向量存入支持向量库。若当前模式为积累模式或分类模式,当待处理流缓冲区满,则进行支持向量机分 类。将径向基函数(RBF)作为核函,事先通过实验获得其最优参数,将预处理后得到的流量 特征数据作为支持向量机的输入向量并进行分类,分类产生的结果即为对等网络流量或非 对等网络流量。5)决策判定模块根据当前所处的模式采取不同的决策判定a)当前处于积累模式此模式同时进行基于支持向量机技术的分类与基于深层 数据包检测技术的分类,将分别产生两个分类结果。定义精确度为支持向量机判定正确次数与有效累积次数的比值,若深层数据包检 测识别成功则记为一次有效累积次数。定义最大精确度为在当前对等网络流量特征库支持下的最大精确度。情况一深层数据包检测识别成功,确定此样本流量为对等网络流量,将支持向量 机分类结果与之相比较,判定为对等网络流量,并修正精确度。情况二 深层数据包检测识别失败,无法确定此样本流量是否为对等网络流量,若 当前精确度 >可容纳的精确度,判定为对等网络流量;反之判定为非对等网络流量。当训练样本累积至一定规模时,改变当前模式为学习模式。经过不断地支持向量机训练过程后,随着时间的增加,精确度将不断递增并接近 一极大值,当判断其接近最大精确度时,改变当前模式为分类模式。b)当前处于分类模式此模式将通过支持向量库对数据进行分类。在理想状况 下,这时的精确度将接近最大精确度,但是,当网络情况发生变化或对等网络特征库发生变 化时,实际精确度将会下降或有提升空间。因而,在经过一段时间后,改变当前模式为积累 模式。c)当前处于学习模式此模式将通过样本数据进行支持向量机的学习,并将结果 加入支持向量库中。支持向量机训练结束后,改变当前模式为积累模式。当模式选择完成后,将结果返回至模式选择模块。
权利要求
一种基于支持向量机与深层数据包检测技术的对等网络流量识别方法,其特征在于该方法依据以下步骤实现1)数据采集数据采集的过程发生在网络接口层,截取报文中的源IP地址、源端口号、目标IP地址、目标端口号及IP协议,并为每个报文建立索引,经过数据采集后,形成一系列可索引的流量捕捉文件;2)数据预处理对流量捕捉文件进行预处理,抽取与流量外在特征无关的流量内在特征,并将所有的特征信息预处理成0~1之间的实数,然后进行加权处理作为支持向量机的输入的特征向量;经过预处理后,形成一系列与协议和端口无关的流特征向量组成的流量样本文件,并输入至待处理流缓冲区;3)决策判定在学习模式、分类模式、积累模式下分别依据特定的规则做出决策,做出的决策将影响对未来工作模式的选择;4)模式选择通过步骤3)中返回的决策结果,在学习模式、分类模式、积累模式中选择一种模式进行,初始的工作模式为积累模式;5)流量识别在当前所处的模式下,依据特定的规则使用基于深层数据包检测与支持向量机技术的识别方法进行流量识别,识别过程结束后,转至步骤3),6)机器学习当前所处模式为学习模式时,当基于深层数据包检测技术的识别与基于支持向量机技术的识别过程结束后,则进行支持向量机训练。此时将对支持向量机训练样本中的训练数据集进行训练,训练数据集中的数据是从基于深层数据包检测技术的识别中得到的样本,有明确的分类信息。训练结束后将若干个支持向量存入支持向量库,转至步骤3)。
2.根据权利要求1所述的基于支持向量机与深层数据包检测技术的对等网络流量识 别方法,其特征在于学习模式、分类模式、积累模式,具体如下21)积累模式此模式同时进行基于支持向量机技术的识别与基于深层数据包检测技 术的识别,将分别产生两个分类结果;22)分类模式此模式将通过支持向量库对捕获流量进行识别;23)学习模式此模式将通过样本数据进行支持向量机的学习,并将结果加入支持向 量库中;在流量识别的过程中,只可能处于这三种模式的其中之一。
3.根据权利要求1所述的基于支持向量机与深层数据包检测技术的对等网络流量识 别方法,其特征在于在学习模式、分类模式、积累模式下,分别依据特定的规则做出决策,其 规则具体为31)当前处于积累模式定义精确度为支持向量机判定正确次数与有效累积次数的比值,若深层数据包检测识 别成功则记为一次有效累积次数。定义最大精确度为在当前对等网络流量特征库支持下的最大精确度;情况一深层数据包检测识别成功,确定此样本流量为对等网络流量,将支持向量机分 类结果与之相比较,判定为对等网络流量,并修正精确度;情况二 深层数据包检测识别失败,无法确定此样本流量是否为对等网络流量,若当前 精确度 > 可容纳的精确度,判定为对等网络流量;反之判定为非对等网络流量; 当训练样本累积至一定规模时,改变当前模式为学习模式;经过不断地支持向量机训练过程后,随着时间的增加,精确度将不断递增并接近极大 值,当判断其接近最大精确度时,改变当前模式为分类模式;32)当前处于分类模式在理想状况下,这时的精确度将接近最大精确度,但是,当网络情况发生变化或对等网 络特征库发生变化时,实际精确度将会下降或有提升空间,因而,在经过一段时间后,改变 当前模式为积累模式;33)当前处于学习模式支持向量机训练结束后,改变当前模式为积累模式。
4.根据权利要求1所述的基于支持向量机与深层数据包检测技术的对等网络流量识 别方法,其特征在于所述的流量识别,其规则具体为41)当前处于积累模式当待处理流缓冲区满,同时进行基于深层数据包检测技术的识别与基于支持向量机技 术的识别。当深层数据包检测成功时,将此流量作为可信的样本数据并递交至支持向量机 训练样本中;当深层数据包检测失败时,同时进行的基于支持向量机技术的识别将给出一 个基于支持向量库的最优分类;42)当前处于分类模式当待处理流缓冲区满,仅进行基于支持向量机技术的识别。
全文摘要
基于支持向量机与深层包检测的对等网络流量识别方法,是一种用于对等网络流量监测的方法,该方法在有限的应用层协议特征库的支持下,通过机器学习能够识别未知类型的对等网络流量,并达到较高的识别率。该方法结合了深层数据包检测技术与支持向量机技术的优点,在识别的过程中,通过基于深层数据包检测技术的识别方法自动采集样本数据,并周期性的进行支持向量机训练,可自行适应不同的应用环境。通过系统的决策模块动态选择系统的运行模式,以保持最高的识别准确率与识别效率。
文档编号H04L12/56GK101841440SQ20101016218
公开日2010年9月22日 申请日期2010年4月30日 优先权日2010年4月30日
发明者孙知信, 宫婧, 高同 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1