论文部分内容阅读
近年来,随着互联网的快速发展,网络流量急剧增长,网络应用呈现出多样化、复杂化的特点。互联网在给人们的生活提供大量的便利同时,也增加了网络管理的难度,带来了巨大网络安全隐患。因此如何准确、快速地对网络流量进行分类,对于网络管理、网络安全监测、网络规划、网络内容监督起着至关重要的作用。传统的网络流分类技术主要基于端口号和深度报文检测。由于越来越多的网络应用采用动态端口号以及加密技术来规避检测,这些传统网络流分类方法已经难以应对日益复杂多变的互联网。为了更加有效地实现网络流分类,近些年来学术界提出了基于机器学习和基于主机行为特征的网络流分类方法。这些方法分别采用网络流和网络主机的行为实现网络流分类,都可以看作是基于行为的网络流分类。由于这些方法能克服基于端口号和深度报文检测方法的缺陷,因此受到了学术界和工业界的广泛关注,成为当前的研究热点。本文对基于行为的网络流分类方法进行深入研究,以实现更加准确、快速和健壮的网络流分类。本文详细研究了基于主机级别和流级别特征的流量识别方法、乱序网络流分类、基于协同训练的实时网络流分类以及基于集成学习的网络流分类。本文的主要的研究内容可以归纳如下:(1)提出了基于主机级别(Host level)和流级别(Flow level)特征的流量识别方法。该方法通过将主机通信行为特征和流统计行为特征融合起来,实现流分类。以P2P应用的识别为例,首先将一台主机的行为特征与一些主机级别行为特征的启发规则(IP数比例、端口数差值/比率、失败连接比例、上下行字节比例)相匹配,判断主机是否参与了P2P应用。然后,针对该主机中的每条网络流,提取流级别特征,并与流级别行为特征规则(大流字节数和时间长度、前后向字节比例、握手包的大小、平均包大小和带宽、信令流字节和长度特征)匹配。结合之前对主机判断的结果,进一步确定主机中每条流是否属于P2P应用。本文全面地总结P2P应用的主机和流行为特征,实验结果表明,本文方法能获得93.1%的流准确率和95.1%字节准确率,只有2.3%的流和1.9%的字节不能识别。(2)提出了基于改进动态时间弯折IDTW (Improved Dynamic Time Warping)算法的乱序网络流分类方法。尽管基于机器学习的网络流分类算法取得了大量成果,但是当这些算法应用于带有乱序包的网络流量时,准确率会出现大幅下降。本文归纳了乱序因素对网络特征向量的影响,发现乱序包改变了特征向量在特征空间的表现形式,从而使得传统机器学习算法中特征向量之间线性映射的假设不再成立。本文提出一种基于改进的动态时间弯折的算法IDTW,它根据网络中的各种乱序情形造成的非线性映射情形,对经典的动态时间弯折算法DTW(Dynamic Time Warping)进行了边界松弛和单调性松弛。结果表明,与之前的网络流分类方法相比,IDTW可以有效地处理存在乱序包的网络流分类问题,分类准确率较已有的机器学习算法提高了24%到41%。(3)提出了基于协同训练(Co-training)算法的实时网络流分类方法。机器学习中的有监督学习算法虽然能够取得较高分类准确率,但需要大量的标注样本。本文将半监督学习中的协同训练算法引入到实时网络流分类中。该方法通过采用包大小和包时间间隔特征刻画样本,只需少量的标注样本就可以自动增加训练样本实现分类。由于包时间间隔容易受网络时延抖动影响,本文提出一种改进的包时间间隔特征Netipt。Netipt是通过计算同一个子网中的网络流的平均包时间间隔而来,可以有效减弱网络时延抖动对包时间间隔的影响。结果表明,相比于其它时间间隔特征,采用Netipt作为分类特征使得分类准确率提高了2.9%到8%。同时,本文方法在只采用极少标注数据量的情况下,取得了更高的分类准确率、召回率和精度。(4)提出了基于加权置信度的集成网络流分类算法。由于每种分类算法都会有自身的缺点,不能在所有情形下保持最高的分类准确率。本文提出一种基于加权置信度的集成分类方法。该方法根据各个单独分类器在验证集上的分类准确率分配权重,最后加权平均各个单分类器的置信度,得到最终的分类结果。该方法充分利用各个单独分类器的优势,弥补单分类器的缺陷。结果显示,与单个分类器相比,该方法能提高分类准确率,比最佳基分类器的准确率高出3.7%到6.9%。同时,采用该集成框架融合本文所提出的IDTW算法以及协同训练实时流分类算法,针对标注样本稀少且含有乱序流的网络流分类时,能取得更高的分类准确率。