首页> 中国专利> 一种基于三分类器协同训练学习的网络协议识别方法及系统

一种基于三分类器协同训练学习的网络协议识别方法及系统

摘要

本发明涉及一种基于三分类器协同训练学习的网络协议识别方法及系统:对网络原始流量进行IP重组和TCP流还原,将网络数据由包为单位规约为以流为单位;提取每条单向流的特征信息并向量化,构建特征矩阵;使用少量标记样本构建三分类器协同训练分类器;判定是否已有所分析协议的分类模型,如果没有则先利用三分类器协同训练学习方法构建协议分类器,否则对数据包的协议属性进行判别;利用基于J48的三分类器协同训练学习算法进行训练并得到所分析协议的分类模型;对未标识的网络数据包进行协议类别判定,输出结果为两类:一类是属于目标协议的网络数据包,另一类是非目标协议的网络数据包。本发明保证很高的识别准确率和召回率。

著录项

  • 公开/公告号CN104270392A

    专利类型发明专利

  • 公开/公告日2015-01-07

    原文格式PDF

  • 申请/专利权人 中国科学院信息工程研究所;

    申请/专利号CN201410575510.1

  • 发明设计人 张永铮;周宇;王一鹏;续涛;

    申请日2014-10-24

  • 分类号H04L29/06(20060101);

  • 代理机构11251 北京科迪生专利代理有限责任公司;

  • 代理人成金玉;孟卜娟

  • 地址 100093 北京市海淀区闵庄路甲89号

  • 入库时间 2023-12-17 04:19:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-26

    授权

    授权

  • 2015-02-04

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20141024

    实质审查的生效

  • 2015-01-07

    公开

    公开

说明书

技术领域

本发明涉及一种基于三分类器协同训练学习的网络协议识别方法及系统,属于网络 协议识别技术性。

背景技术

网络协议识别技术是通过对网络数据流进行分析,从而将网络数据流与其相对应的 具体网络应用相关联的过程。识别网络数据流中所承载的具体应用协议是网络安全领域 的核心问题之一。网络协议识别技术在多个领域有着广泛的应用,例如入侵检测和防范 系统(IDS/IPS)、网络测量、面向应用的缓存和路由机制、面向应用感知的负载均衡,流 量分类和隧道检测等。因此,在混杂有多种协议的网络数据流量中,如何对不同种类的 网络协议进行识别是目前计算机网络与安全领域亟待解决的核心问题之一。

以其在入侵检测和防范系统中的应用为例,入侵检测和防范系统通常依照已有的协 议规范,通过对数据包载荷部分的有效解析从而实现积极、有效的安全防护策略。早期 的协议识别方法,由于网络上的协议数量较少,且其服务端口通常遵循IANA(Internet  Assigned Numbers Authority)注册列表规范,所以实际识别中仅需根据服务端口即可准确 判定其应用层协议。但是随着网络协议的丰富,尤其是P2P等新兴网络应用的发展,网 络应用对于端口的使用逐渐脱离了IANA的约束,甚至为了逃避安全检测系统或流量分 析工具的检查而使用随机端口或端口跳变技术。当面临大量出现的未知、私有协议的网 络流量时,传统的检测方法或手段很难对相应的应用协议做出正确识别。根据Internet2 NetFlow组织对骨干网中流量的统计发现:超过40%的网络数据流属于未定义的应用协 议。其中恶意代码流量占有相当比例。特别地,当0-day网络数据流出现时(即此类应用 的网络数据流第一次在网络中被发现),如何针对此类协议进行有效识别,进而能够有效 地防范网络失窃密等安全问题发生。

此外,当今现代化的接入级网络与骨干级网络通常需要具有识别与不同应用相关联 的网络数据流的能力。在接入级网络和骨干级网络中,协议识别相关技术的有效部署可 以有效地解决网络运营与管理,网络服务差异化和容量配置等多项关键问题。近些年来, 随着P2P-VoIP和P2P-TV等应用的广泛普及,P2P应用程序的网络数据流在互联网整体 流量中占据了很大的比例。很多P2P应用程序都是带宽密集型的应用程序。其在提供相 应服务的过程中产生了大量的网络数据流,使得其他应用程序的服务质量受到了较大影 响。例如,在公司网络环境中,企业管理者希望对P2P协议的网络数据流量提供一个降 级化的服务策略,如限制上传和下载的传输速率,提供差异化的服务策略,甚至是直接 对P2P流量进行封堵。从而,以期确保公司内部关键应用程序的网络数据流,在网络传 输过程中具有良好的性能。宽带互联网服务供应商同样也期望限制P2P协议的网络流量, 从而降低上游ISP收取的相关带宽费用。所有的这些实际需求,都使得对网络协议的准 确识别成为了网络领域的核心话题之一。

除了QoS服务相关应用以外,协议识别工作有助于解决许多其他的应用问题,如网 络取证(Network Forensics)。网络取证是数字取证的一个子领域,为了实现信息搜集。法 律证据获取或入侵检测,网络取证研究需要对网络流量进行有效的监控和分析。在这项 网络安全应用中,网络协议识别的相关研究工作起到了至关重要的作用。例如,在监控 网络异常流量和入侵识别的场景下,网络攻击者通常利用操作系统的系统漏洞攻陷一个 运行中的主机。在实现目标以后,网络攻击者可能通过清除在被攻陷主机上所产生的所 有日志文件信息的方法来消灭攻击证据。这样将使得基于主机本身的取证工作变得十分 困难或者不可行。因此,以网络为基础的证据信息可能是唯一可用于分析的证据信息。 针对上述问题,设计合理、有效的络协议识别方法给网络信息安全研究人员带来了新的 挑战。

网络协议识别方法根据其研究对象的不同可划分为基于传输层端口、基于数据包载 荷和基于网络数据流统计行为特征三种类别。传统的网络协议识别方法大多属于有监督 的机器学习算法。这类方法依照所获得的离线学习样本构建单一或者多种协议分类模 型,从而实现对网络协议的准确识别。这类方法实验效果的优劣均依赖所分析的训练样 本集合。然而,在实际分析过程中,网络协议数据流,特别是未知网络协议(如僵尸网络) 的获取与标记工作严重依赖领域专家。这是一件即费时又繁杂的工作。甚至在样本数据 量过大时,人工标记已无法满足实际需求。因此,在复杂的网络环境中,如何以最小的 样本标记代价,构建准确的协议识别模型,是目前网络协议识别领域的研究热点。

发明内容

本发明的技术解决问题:克服现有技术的不足,提供一种基于三分类器协同训练学 习的网络协议识别方法及系统,用于解决当前网络流量识别问题中有监督机器的学习算法 需要大量人工标记的弊端,以期在复杂的网络环境中,用最小的样本标记代价构建出高可信 度的网络数据流分类器,具有很高的识别准确率和召回率。

本发明技术解决方案:一种基于三分类器协同训练学习的网络协议识别方法,实现 步骤如下:

(1)数据包捕获和统计特征提取:以网络数据包作为输入,经过IP重组和TCP流还原 将数据包构造为流,然后提取单向流的特征信息,获得数据包特征向量;

(2)分类器存在情况判断:判定是否已有所分析协议的分类模型,如果没有则先利用 三分类器协同训练学习方法构建协议分类器,否则对数据包的协议属性进行判别;

(3)分类器构建:利用基于J48的三分类器协同训练学习算法对上述单向数据流的特 征向量进行训练并得到所分析协议的分类模型;

(4)协议识别:使用上述分类器对未标记的网络数据测试集进行协议类别判定,输出 结果为两类:一类是属于目标协议的网络数据包,另一类是非目标协议的网络数据包。

一种基于三分类器协同训练学习的网络协议识别系统,包括:数据包捕获与统计特 征提取模块、分类器构建模块和协议识别模块;

数据包捕获和统计特征提取模块:以网络流量的数据包为输入,经过IP重组和TCP流 还原,提取出预定义的单向流的统计特征,并将这些统计特征转化为特征向量的集合;

分类器构建模块:以数据包建模模块获得数据包特征向量作为输入,利用基于J48的三 分类器协同训练学习方法对离线训练数据集进行学习,获得所分析协议的分类模型;

协议识别模块:利用上述分类器对测试集进行分类,得出高准确率的分类结果,一类是 属于目标协议的网络数据包,另一类是非目标协议的网络数据包。

本发明与现有技术相比的优点在于:

(1)本发明在学习过程中选择可信度最高的样本训练分类器。这种采样策略使得学习效 率(样本标记时间、学习训练训练时间等)得到大幅提高,提高学习效率。在实践过程中,只 需要少量的标注样本,不需要人工标注,通过对训练样本的合理选取,在样本标记代价很小 的前提下,同样可以保证很高的识别准确率和召回率。

(2)本发明以网络数据流为输入,自动地从混杂网络流量中对所分析协议的网络数据 流进行准确识别;且本发明只分析IP数据包的统计特征,不需要对程序的可执行代码进行 逆向分析,也不依赖协议规范中的先验知识,可解决面向连接协议(如TCP)和面向无连接协 议(如UDP)的识别问题,并可适用于文本,二进制和加密类协议的识别,适用范围广泛。

附图说明

图1为本发明基于三分类器协同训练学习的网络协议识别方法流程图;

图2为三分类器协同训练学习分类器构建的流程图;

图3为J48和三分类器协同训练Training准确率对比实验(Y轴为百分数);

图4为J48和三分类器协同训练Training召回率对比实验(Y轴为百分数);

图5为J48和三分类器协同训练Training的F-Measure值对比实验(Y轴为百分数)。

具体实施方式

如图1所示,本发明具体实现如下:包括四个主要阶段:数据包捕获与统计特征提 取阶段;分类器存在情况判断阶段;三分类器协同训练学习算法分类器构建阶段和协议 识别阶段。

1.数据包捕获与统计特征提取:数据包在网络传输过程中由于分片的原因,到达目的 终端需要进行重组,依据是同一个IP包的片段有相同的标识。TCP提供面向连接的、可靠 的、基于字节流的数据传输服务,TCP报文段数据是对应着序号的字节流,由于包到达顺序 并不遵循前者先到的原则,所以以流为单位的特征提取必须要经过TCP流还原,TCP流还 原的依据是一次TCP连接中的序号是递增加一的。在获得了原始数据包之后,本发明对其 进行统计特征的提取和特征的向量化,这里定义了20种单向流的统计特征,所谓单向流就 是具有相同的五元组但数据流向不同的数据包序列,特征集合如表1所示。统计特征提取基 于上述经过IP重组和TCP流还原的流数据报文,采用统计方法计算得出。特征向量化是指 将每条流的统计特征数据构建为一个向量,便于后续处理。经过该步骤的处理,得到了单向 网络数据流的特征向量集合。

表1单向流统计特征

2.分类器存在情况判断:判定是否已有所分析协议的分类模型,如果没有先利用 三分类器协同训练学习方法构建协议分类器,否则对数据包的协议属性进行判别。

3.分类器构建:利用基于J48的三分类器协同训练学习算法对上述单向数据流的 特征向量进行训练并得到所分析协议的分类模型。

4.协议识别:使用上述分类器对未标记的网络数据测试集进行协议类别判定,输 出结果为两类:一类是属于目标协议的网络数据包,另一类是非目标协议的网络数据包。

而整个方法的创新点在于上述第三步分类器的构建,它是整个“基于三分类器协同 训练学习的网络协议识别方法及系统”的核心部分,为协议识别提供了高效、高可信度 的分类器从而提高识别的准确率。分类器的构建可以分为以下几个步骤,图2给出了基 于三分类器协同训练学习的分类器构建的流程图。

数据包捕获与统计特征提取阶段得到了单向网络数据流的向量集,它包括了已标记 样本集合X和未标记样本集合U,其中X的样本标记是通过深度包检测工具人工标注的, 其数量远小于未标记样本数量。三分类器协同训练训练分类器过程的输入是已标记训练 样本集合X中的少量已标记样本和未标记测试样本集合U中(包含有正样本和负样本) 大量未标记样本。r为三分类器协同训练学习算法的终止条件。三分类器协同训练训练 分类器过程的输出结果是经过评估和优化的分类器f,和已标注样本集合X,这个分类 器f将作为协议判别阶段的输入,以此来获得高可信度的识别结果。本发明方法基于三 分类器协同训练对分类器构建阶段的具体实施步骤如下:

(1)对数据包捕获与统计特征提取阶段得出的单向网络数据流的向量集合应用深度包 检测技术,将少量(百数量级)的训练样本进行人工标记,记为X集合,将大量(百万数量 级)剩余的向量记为U集合。然后根据上述已标记训练样本集合X中的已标记样本集 x1,x2,x3,分别训练构造SVM分类器f1,f2,f3;

(2)利用已构造的SVM分类器f1,f2,f3,对U集合中所有未标记的样本u进行分类;

(3)根据分类器f1,f2,f3的分类结果,若两个分类器(f1,f2;f2,f3;f1,f3)对u标记相同, 则将u连同标记结果加入到第三个分类器的已标记样本集(x3;x1;x2)中;

(4)对分类器模型f1,f2,f3进行评估;

(5)若达到中止条件r时,则算法中止,输出经过评估和优化的分类器f,该分类器将 应用于协议识别阶段,为后续的测试样本进行高可信度的分类,否则重复步骤(1)-(4)。

结合上述基于三分类器协同训练的网络协议识别方法,本发明同时公开了一种基于 三分类器协同训练的网络协议识别系统。本发明系统主要由统计特征提取模块、分类器 构建模块和协议识别模块三部分构成。

1.数据包捕获与统计特征提取模块:以网络数据包作为输入,经过IP重组和TCP流还 原将数据包构造为流,然后提取单向流的特征信息,最终将流特征向量化以便于分类。

2.分类器构建模块:以数据包建模模块获得数据包特征向量作为输入,利用基于J48的 三分类器协同训练学习方法对离线训练数据集进行学习,从而获得所分析协议的分类模型。

3.协议识别模块:以数据包建模模块获得的数据包特征向量作为输入。利用通过分 类器构建模块得到的协议分类模型,对待测网络数据包的协议属性做出判别。输出结果 为两类:一类是属于目标协议的网络数据包,另一类是非目标协议的网络数据包。

下面对本发明进行验证。在验证实验中,本发明首先抓取骨干网的数据流量并提取其统 计特征,对SMTP协议在标记样本数量T不同取值的情况下分别进行实验,标记样本数量在 100-600条之间,步长为100,测试集数量为百万数量级。对比基于J48的三分类器协同训练 学习策略和只应用J48的学习策略的准确率,召回率和F-Measure值。实验的实施步骤包括数 据集构建、统计特征提取、学习算法应用、实验结果评估四个模块。

1.数据集构建:本发明在实验部分使用零拷贝的方法捕获了2014年8月5日某骨干网 的流量数据,借助DPI的方法,通过应用SMTP协议的数据格式特征,提纯少量的SMTP 报文以作为标记样本。同时,将非SMTP的流量进行抽样,构建数据包作为负样本。三分类 器协同训练学习算法需要使用三个数据集:标记样本集,未标记样本集以及测试集,标记样 本集采用少量SMTP流量作为正样本,非SMTP流量作为正样本;未标记样本集采用包含有 SMTP的混杂数据集合,数据量大;测试集也采用混杂数据集合,数据量大。与之不同,传 统的J48分类器只采用标记样本和测试样本,为了控制变量,二者共用的数据集保持一致。

2.统计特征提取:统计特征提取以数据流为单位。数据流是拥有相同五元组的数据包集 合,五元组即源IP、目的IP、源端口、目的端口和传输层的协议号。对原始的数据报文进行 了IP重组和流还原,接着以单向流(S-C或C-S)为单位,提取数据流的统计特征,特征包括 数据包个数,数据包大小,单向数据包个数,单项数据包大小,流内数据包大小的最大值、 最小值、平均值及方差,流内数据包间隔的最大值、最小值、平均值及方差,共11项。

3.学习算法应用:分别完成J48学习方法和三分类器协同训练学习方法的算法实现,并 获得测试数据的准确率、召回率和F-Measure指标。其中F-Measure指标是召回率和准确率 的加权调和平均数,用于综合考虑召回率和准确率的影响,其计算如公式3所示。

4.实验结果评估:对于分类器的评价指标,首先定义四个数据集合如下:

True Positives(TP):被系统识别为某协议的网络数据包,且确实是属于该协议的网络数 据包集合。

False Positives(FP):被系统识别为某协议的网络数据包,但并不属于该协议的网络数据 包集合。

False Negatives(FN):被系统识别为非某协议的网络数据包,但其实是属于该协议的网 络数据包集合。

True Negatives(TN):被系统识别为非某协议的网络数据包,且确实不属于该协议的网 络数据包集合。

基于上述三种数据集合,本发明采用机器学习领域中通常使用的准确率(precision), 召回率(recall)和F-Measure三种评价指标来对系统的有效性和可靠性进行评价。三种评 价指标定义如下:

precision=TPTP+FP    (公式1)

recall=TPTP+FN    (公式2)

F-Measure=2*precision*recallprecision+recall    (公式3)

由于准确率与召回率分别描述系统性能的两个方面,单一使用准确率和召回率作为 评价指标具有局限性,因此,本发明选用F-Measure指标将这两个指标进行综合考虑, 从而选择最优方案。基于J48算法的三分类器协同训练学习算法与J48学习算法在SMTP 协议上的准确率、召回率、F-Meature对比实验结果如图3、4、5所示。

上述实验对比图是SMTP协议的实验结果。在实验中,标记的训练样本从100条流 到600条流,远远小于未标记数据集百万条级别的数据量。当改变训练集标记样本的数 量时,两种对比方法有着不一样的表现。从3、4、5图中可以看到,当标记数据量超过 200时,本发明方法比J48方法的准确率、召回率及F-Measure值都要高。这说明本发 明方法可以在标记数据量极少的情况下有效提高对未知协议识别的效果,这样就极大地 缩短了标记样本数据的时间成本,与此同时提高了识别效率。

本发明未详细阐述部分属于本领域技术人员公知技术。

提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发 明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修 改,均应涵盖在本发明的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号