邹腾宽 汪钰颖 吴承荣
摘 要:互联网流量分类是识别网络应用和分类相应流量的过程,这被认为是现代网络管理和安全系统中最基本的功能。与应用相关的流量分类是网络安全的基础技术。传统的流量分类方法包括基于端口的预测方法和基于有效载荷的深度检测方法。在目前的网络环境下,传统的方法存在一些实际问题,如动态端口和加密应用,因此采用基于流量统计特征的机器学习(ML)技术来进行流量分类识别。机器学习可以利用提供的流量数据进行集中自动搜索,并描述有用的结构模式,这有助于智能地进行流量分类。起初使用朴素贝叶斯方法进行网络流量分类的识别和分类, 对特定流量进行实验时,表现较好,准确度可达90%以上,但对点对点传输网络流量(P2P)等流量识别准确度仅能达到50%左右。然后有使用支持向量机(SVM)和神经网络(NN)等方法,神经网络方法使整体网络流量的分类准确度能达到80%以上。多项研究结果表明,对于多种机器学习方法的使用和后续的改进,很好地提高了流量分类的准确性。将各种机器学习的分类技术应用于流量分类是很有意义的研究。
关键词:流量分类;背景流量;机器学习;深度包检测技术;基于行为模式的分类
中图分类号: TP393.02
文献标志码:A
文章编号:1001-9081(2019)03-0802-10
Abstract: Internet traffic classification is a process of identifying network applications and classifying corresponding traffic, which is considered as the most basic function of modern network management and security system. And application-related traffic classification is the basic technology of recent network security. Traditional traffic classification methods include port-based prediction methods and payload-based depth detection methods. In current network environment, there are some practical problems in traditional methods, such as dynamic ports and encryption applications. Therefore, Machine Learning (ML) technology based on traffic statistics is used to classify and identify traffic. Machine learning can realize centralized automatic search by using provided traffic data and describe useful structural patterns, which is helpful to intelligently classify traffic. Initially, Naive Bayes method was used to identify and classify network traffic classification, performing well on specific flows with accuracy over 90%, while on traffic such as peer-to-peer transmission network traffic (P2P) with accuracy only about 50%. Then, methods such as Support Vector Machine (SVM) and Neural Network (NN) were used, and neural network method could make accuracy of overall network classification reach 80% or more. A number of studies show that the use of a variety of machine learning methods and their improvements can improve the accuracy of traffic classification.
Key words: traffic classification; background traffic; Machine Learning (ML); Deep Packet Inspection(DPI) technology; classification based on behavior patterns
0 引言
智能手機,特别是无线保真(Wireless-Fidelity, Wi-Fi)、第三代移动通信技术(3rd-Generation, 3G)、全球微博互联接入(Worldwide interoperability for Microwave Access, WiMAX)、通用移动通信技术的长期演进(Long Term Evolution, LTE)等智能手机,传感器和无线技术的革命使得社交网络、M2M通信(Machine to Machine Communications)、物联网应用、智能城市等先进应用和服务成为可能。因此,大量的数据在计算机网络中产生并携带,消耗了稀少的无线电和带宽资源,导致网络拥塞或故障。实际上,每个流量都不必与用户活动直接相关。 具体而言,移动设备上的应用程序会自动生成大量数据以更新其状态,由此可以引出背景(BackGround, BG)流量。
BG流量由应用程序触发,Huang等[1]在研究屏幕工作时的流量和屏幕关闭时的流量发现,屏幕关闭时产生的流量所占比例远小于屏幕工作时的流量,但其流量包含的突发数量多得多。屏幕关闭时的流量突发在下行链路/上行链路分组和数据载荷的数量方面很少。在突发的下行链路平均有效载荷方面,屏幕开启流量是屏幕流量的7倍。但是屏幕关闭时的突发流量数量少持续时间短但频率较高,这种行为很可能导致较长的信道占用时间,并因此导致显著的电池使用。因此,网络运营商必须快速检测和避免BG流量,以节省网络资源,防止由于不必要的过载而导致的网络故障。
在实践中,如果BG和前台(ForeGround, FG)流量(Foreground Traffic,FG流量)被有效分离,网络运营商可以制定合适的策略来控制网络流量,从而提高网络服务的服务质量(Quality of Service, QoS)和体验质量(Quality of Experience, QoE)。例如,可以延迟在高峰时间递送BG流量以节省FG流量的网络资源以满足用户的通信需求。由于前台和背景流量分离可以帮助优化网络管理和管理,尤其是提高网络质量,因此,从网络流量中分离出背景流量成为一个亟待解决的问题。
互联网技术的发展,尤其是黑客技术的更新,导致互联网中爬虫流量等机器产生的流量越来越多,甚至超过人类用户正常使用所产生的流量。在2012年的一项互联网流量数据调查中就曾显示,当时51%的互联网流量不是用户操作计算机产生的,而是由一些机器人用户产生的。到2014年的时候再次调查发现,互联网中机器人流量比例已经提升到61.5%。
在这种发展下,应用流量的种类和数量快速增长,互联网的网络管理和服务质量提供面临了严峻的挑战。其中一个重要的问题就是,如何对海量的各种应用流量进行有效地检测、识别和分类。
接下来,具体阐述了一些网络流量的识别分类方法和它们的一些优点和局限性,并尝试将其具体应用到背景流量的识别分类上,并对其实用性进行分析。
1 传统流量识别分类方法
查阅了一些相关文献后,本文发现流量识别分类方法一般存在四种:基于端口的识别分类、基于深度包检测的识别分类、基于行为模式的识别分类和基于机器学习的识别分类。
其中比较传统的流量识别方法为前三种,这一章着重描述一下前三种方法。
Alberto Dainotti等[2]曾在论文中提及了流量识别分类研究的发展历程。1992年时,RFC(Request For Comments)规定了标准端口空间,基于端口号的流量识别分类技术开始发展,并广泛应用。基于端口号的流量识别存在一些不足,进而在1998年,深度报文检测(Deep Packet Inspection,DPI)技术被普遍认识使用。随着加密数据流的增加和端口号提供信息的有限性,前两种方法已经不能满足实际的需求,2005年,Thomas Karagiannis等[3]提出了一种新的方法,将重点放在了传输层上,提出了基于传输层行为模式分类的方法。同年,随着数据挖掘技术的发展,机器学习被应用到流量识别分类领域。由于该方法使用流统计特征进行流量分类,所以不会被随机端口、数据包加密和网络地址转换等技术影响,其分类精度高、适用范围广,比前三种网络流量分类方法更优。图1简略表明了流量识别分类的发展。
1.1 基于端口的识别分类
基于端口号的流量识别是最早出现的流量识别分类方法,它的原理十分简单,它根据数据包包头中的端口号来区分不同的网络应用类型。在20世纪90年代初互联网应用的知名端口空间规范化后,它可以根据RFC规定的端口号和应用协议的对应关系进行流量识别分类。知名端口号范围是0到1023,例如:应用文件传输协议(File Transfer Protocol, FTP)数据对应端口为20,应用FTP对应端口为21,而80端口则分配给应用超文本传输协议(HyperText Transfer Protocol, HTTP)等。
這种方法简单直接,易于实现,只需要捕获一条数据流的一个正常数据包就可以实现,它只需要在基础网络设备上采用简单的规则即可实现,不需要额外的软硬件设备支持,而且在传统的网络环境下,其识别效率和准确率非常高,因此在互联网早期发展时,服务的端口号变化不多时,这种方法的复杂度低、实用性高。
但是,随着互联网的发展,网络中大量网络应用开始使用动态端口技术,不再使用标准端口提供网络服务。例如许多主流的Web 服务器(Web Server)和FTP 服务器软件,都允许用户手工指定服务器端口,而不是使用固定端口。新型网络应用(如对等网络(Peer to Peer,P2P))都普遍采用随机端口(端口范围在1024~65535)技术进行数据传输,还有随着防火墙技术的发展,大量的Internet应用为了防止防火墙的检测,蓄意使用动态端口和伪装端口技术,更降低基于端口进行流量识别分类的准确度。Moore等[4]通过实验发现,现在基于端口的流量识别分类在最佳情况下也仅有31%的准确率。
可以看到,基于端口的识别分类方法主要是通过已经规定好的端口号来识别应用程序,而背景流量由很多应用程序的背景流组合而成,比较复杂。单纯的基于端口的识别分类很难运用于一般复杂背景流的识别上。
但是这并不代表这种方法应该就此被淘汰,基于端口的识别分类方法由于只需要获取数据包的端口号,时间复杂度很低,实现简单且分类速度快。该方法应用在高速网络环境时,能够快速并很好地识别一些端口号对应的应用层协议类别,因此仍然具有一定的实际使用价值。因此现有技术很多将基于端口的识别和其他技术(如机器学习等)结合应用,既能保证流量识别分类的准确率,又能提高识别速率,是现有方法的一大趋势。
1.2 深度包检测的识别分类
随着网络的发展,基于端口的流量識别分类已经不能满足需要,基于深度包检测的识别分类方法应时而生。Moore等[4]在文章中设计了一种依靠完整数据包有效载荷的分类方法。文章提出的该方法可以看作是一个迭代过程,其目标是十分准确地得到特定流量的相应应用程序。将数据包分组为数据流可以更加高效地处理收集的信息以及获取必要的上下文,以便对相应流的网络应用程序进行适当的识别,因此DPI运行在流而不是数据包上。文章Moore等[4]采取的第一步是根据数据包的五元组将数据包聚合成流。当为TCP网络数据流(Transmission Control Protocol Network data stream )时,额外的语义也可以用来标识流程的开始和结束时间。文章的第二步是根据不同的标准迭代测试流动特性,直到获得十分确定的有关应用程序标识。 这个过程由9个不同的识别子方法组成。DPI技术是通过底层的抓包工具,抓取多个数据包,并进行一定的模式匹配,找到与其特征值相匹配的应用程序。接下来介绍一些具有代表性的深度包检测技术。
2003年,Dewes等[5]在文章中提出将聊天流量与其他互联网流量分开的方法,并展示这种方法的广泛验证结果。
将Web聊天流量与其他网络流量分开的方法是先大量收集满足一些一般标准的所有网络流量,然后保留所有与本文对分析得出的特征值相匹配的流,最后忽略已知的非聊天流量。
2004年,Subhabrata Sen等[6]在文章中提出了一种通过应用程序级特征识别P2P应用程序流的有效方法。首先通过检查一些可用的文档和数据包级别的痕迹来识别应用程序级别签名;然后,利用已识别的签名开发在线过滤器,即使在高速网络链路上也可以高效准确地跟踪P2P流量。
基于深度包检测的识别准确率高,且可识别一定数目的协议,而且这种方法对绝大部分网络流量(特别是P2P)都很有效。但同时它也有一定的局限性,理论上,DPI技术实现的前提是数据包载荷部分可见且特征值已知。当载荷部分进行加密时,DPI技术将失去作用,随着电子商务等业务的发展,现在的一些主流客户端都采取了载荷加密技术,大大降低了DPI技术的准确率;DPI技术无法识别未知特征值,当网络应用的特征值发生变化时,系统必须及时更新特征值列表,加大复杂度。另外,在使用DPI技术进行识别时,在提取流特征值时,需要捕获和拷贝数据包,要消耗大量的资源;在通过特征值找到对应的应用程序时,要用到较复杂的匹配算法,加大DPI技术的复杂度。
对于背景流,也可以运用DPI技术进行特征值提取并进行后续的识别分类。康宁[7]在进行网络协议(Hyper Text Transfer Protocol over Secure socket layer, HTTPS)网页流量的指纹提取和识别技术研究时,为了检测加入背景流后的识别效果,在文章中加入了背景流的指纹识别实验。实验结果表明,将背景流作为一个类别进行特征值识别可行性不高,原因在于背景流变化较大,要更新特征值数据消耗过大,同时背景流的规模较大,导致识别分类的复杂度过大。实验结果表明,在背景流较为复杂的情况下,单纯的基于DPI的流量识别分类技术并不适用于背景流。但随着互联网应用流量的发展,DPI技术也逐渐朝着智能化方向发展,接下来介绍几种基于DPI技术的一些后续技术,可以克服DPI技术的缺点,提高流量识别的准确度。
一种方法是运用深度流检测(Deep Flow Inspection, DFI )技术主要是为了弥补克服DPI 技术对加密数据流量识别的不足,DFI技术即深度数据流检测技术,是一种基于流量行为的应用识别技术,即利用不同的应用程序的流的不同状态来进行流量识别。它假设不同应用会有其应用特有的流量统计特性,与DPI技术相比,它处理时间较快,维护成本较低,识别方法比较笼统,准确度不如DPI,但不受载荷加密技术的影响。刘佳雄[8]设计了一种基于DPI 技术和DFI 技术相结合的网络流量识别方案,并且将此方案运用到了实践中,克服了现网中变端口P2P 网络流量和加密流量难以识别的困难。胡庆安[9]也结合了DPI技术实时性好、准确率高和DFI技术可对加密协议和未知流量进行识别的优点,提出一种基于双重特征的协议识别方法。
另一种方法是在降低匹配算法的复杂度方面着手。在传统深度包检测匹配引擎中,正则表达式规则采用不确定有穷自动机(Nondeterministic Finite Automata, NFA)模式来实现,匹配时存在着大量的回溯现象,因而匹配速度较低。陈传通[10]提出可以使用确定有穷自动机(Deterministic Finite Automaton, DFA)方式来实现正则表达式规则。该方法不存在回溯现象且可以通过一次扫描匹配多条正则表达式规则,但会因为规则数量增多导致引擎规模太大无法实现。因此论文中提出了对网络协议加权设置优先级的识别方法,并提出了具体的加权分组算法。该方法对于高优先级的网络协议组,采用DFA的形式,对于低优先级的协议组采用混合有穷自动机(Hybrid Finite Automata, Hybrid.FA)的方式来实现。该算法相比于传统识别引擎,匹配速度可以提高29倍左右。DPI技术传统的匹配算法有KMP算法(Knuth-Morris-Pratt Algorithm)、BM字符串搜索算法(BM String Searching Algorithm)、WM(Wu-Manber)算法和AC(Aho-Corasick)自动机算法。刘泷[11]在论文中对各种算法进行了比对研究,提出了BMF(BM Fast)算法;然后设计了基于Hadoop平台DPI技术的流量识别,利用Hadoop平台处理大规模数据流量的优势,将DPI技术与MapReduce进行结合,设计了MapReduceBoyer-MooreFast算法。
1.3 BLINC(BLINd Classification)
单纯的基于DPI技术的流量识别分类局限性比较大,不能对加密的数据流进行有效的识别。随着网络中加密应用的增加,基于行为模式的流量识别技术开始发展。BLINC方法最早由Karagiannis等[3]在论文中提及。文章提出的方法不能访问数据包有效载荷,不知道端口号,以及除了当前流量收集器提供的额外信息。与流量分类领域提出的其他方法相比,BLINC实现了一个相当不同的理念。 主要区别如下:
1)文章主张分类方法的重点从流向主机转移时,可以积累足够的信息以消除每个主机在不同流中的角色,从而识别特定应用。
2)该方法运行在流量记录上,不需要关于单个数据包的时间或大小的信息。 方法的输入可能是当前部署的设备收集的流量记录统计。
3)对拥塞或路径变化等网络动态不敏感,这可能会影响很大程度上依赖流中数据包之间的到达间隔时间的统计方法。
4)每一种应用对应的流量都有其特定的行为模式,因此基于行为模式的识别准确率较高,但这种方法只适用于特定应用的数据流管理。背景流量虽然没有对应的应用程序,但它也有其行为模式,根据其行为模式直接可以识别和分类出背景流量。例如下文中就利用已验证的背景流的周期性对背景流进行识别分析。
1.3.1 PCA(Period Candidate Array)
通过Minh等[12]对网络流量的观察表明,应用程序定期更新其与内容服务器的状态,而在用户活动中很少看到严格的周期性。由此得出:如果一个单独的移动设备产生的针对一个服务器的特定服务或数据的所产生的TCP流是周期性的,那么它将是BG流量。利用这一特性,该论文提出了一个新颖的方法PCA。PCA系统部署在由互联网服务提供商(Internet Service Provider,ISP)或网络运营商管理的网络边缘。它捕获流量并检测流量是否是BG流量。PCA方法通过分析流量的周期性来解决BG流量检测问题。对实际流量(TCP流)的观察表明,流量通常很长而且稀疏。所提出的PCA方法通过利用流稀疏性降低了计算成本。通过仅提取和处理与周期性分析相关的发生位置形成周期候选队列来压缩长而稀疏的流。在此基础上,论文考虑了网络延迟的影响,利用了改进的自相关函数来进行周期候选队列的周期性检测。
1.3.2 PDM(Periodicity Detection Map)
Minh[13]在PCA研究的基础上提出了PDM方法。 PDM的方法原理与PCA相同,都是利用BG流量的周期性,所以大致的步骤也类似。首先它也是考虑到TCP连接流的周期性和基于自动相关(AC)和投影的方法,在基于流是稀疏流这一现象提出了PDM的方法。
不同的是,PDM是一个将时间序列T转换为特定数据结构的映射,该结构对于快速识别T中的周期性非常有用,可以有效地用于快速检测给定序列T的最大潜在周期。同时,由于不是每个BG业务流量都是周期性的,PDM可能无法检测到非周期性BG流量。所以该论文接下来利用机器学习(Machine Learning, ML)模型分类非周期性流量,通过PDM方法(通过周期性分析)检测到的BG流量的统计数据用于训练ML模型,然后用它来分类非周期性的流量。
1.3.3 ICA(Independent Component Analysis)
Mekky等[14]研究目的是为了进行恶意软件分类,但实际上,恶意软件流量(恶意软件信号)与其他合法流量(背景信号)混合在一起。 因此,分类器的有效性可能会受到阻碍,因为所观察到的流量是混合的。因此建议应用信号分解,以便将观察到的流量分解为恶意软件流量和背景流量两个组件,然后再删除背景流量,分类技术可有效应用于恶意软件流量。
ICA是一种假设将独立性的多元信号分解为附加分量的方法,它用于将恶意软件流量与背景流量分离。ICA算法依靠独立性来恢复混合流量中的原始信号。文中提出了一个ICA分解器,用于从网络流量中提取并移除背景流量。假设m个独立的源信号S=[S1,S2,…,Sm]T。观察混合物X=[X1,X2,…,Xm]T由X=A×S给出,其中A被称为混合矩阵。ICA的目标是找到一个非混合矩阵W(约等于A的-1次方),使得Y=W×X约等于S,这将是S的最佳近似值。可以看到,两种基于周期性分析的方法PCA、PDM,可以有效和高效地检测BG流量。当分析的数据稀疏时,PCA将传统方法中的O(n2 log n)的复杂度降低至O(n)。PCA还解决了需要大量计算时间和相关历史数据的ML方法中的固有问题。另外,PCA在用延长周期概念分析由延迟构成的网络流量方面起到了作用。PDM方法有效地减少了计算空间,PDM还可以灵活地判断流量是否是周期性。因此,当分析的数据很长且稀疏时,PDM同样将传统方法中的O(n2 log n)的复杂度降低至O(n)。这说明基于行为模式的识别可以灵活运用到背景流的识别上来,但这个方法还是存在一定的局限性,背景流的周期性并不总是确定的,并不是每一个背景流都是周期性的,背景流的其他特征还需要进一步的研究。为了对背景流进行更加精确的分类和识别,接下来本文介绍基于机器学习的识别和分类方法。
2 基于机器学习的识别分类
随着网络的发展,产生的网络流量的种类越来越多,数据量也越来越庞大,传统方式已经无法胜任对数据流量进行合理的分类工作,这导致了数据冲突、资源耗费、通信延迟、通信效率不断降低等一系列问题。因此,有研究人员将机器学习机制引入到网络流量分类工作中,对网络流量中一些带有特征的流量信息进行识别分类,以提高流量分类的准确性和快捷性,且从研究成果来看,这些方法的效果都很好,具体的效果在以下章节中会详细说明。
在过去的十年中,人们对有关机器学习技术在流量分类中的應用进行了大量研究。这些研究工作运用的主要方法可以分为监督方法或无监督方法。
2.1 数据及采集方法
在2005年,机器学习技术应用于网络流量分类的高峰时期,Moore等[15]为了研究应用朴素贝叶斯技术对基于流量统计特征的网络流量进行分类的方法,于2005年在对流量统计特征全面描述的基础上,制作了一个公开的数据集。这个数据集的制作方法是研究人员提出了一种网络监控架构,该架构能够与1Gb/s全双工网络连接。执行多协议分析; 从线路捕获所有数据。 应用程序、传输和网络协议的集成分析使得它们的交互可以被分析和研究。 此外,傳输和网络状态的关联使得实验不必使用很大的数据进行分析。
数据集分类如表1所示。
2009年,Este等[16]在研究支持向量机(Support Vector Machine, SVM)对互联网 TCP 流量进行识别的实验中采用了3个数据集进行实验。
2.1.1 UNIBS数据集
此集的数据包是在Faculty网络的边界路由器上收集的。由于研究人员对此路由器具有完全监视器访问权限,因此捕获了每个数据包的前400个字节。可以应用模式匹配机制来评估生成每个TCP流的实际应用程序,在某些情况下添加手动检查。由于这一点,研究人员认为从UNIBS得到的训练和评估集相对于预分类信息是相对可靠的,即,独立于分类器知道哪个应用产生了每个流。
训练和评估集都由属于不同应用类型的协议类组成:Web浏览、邮件服务、P2P和交互。选择它们是因为它们负责产生大部分流量,并且因为它们的多样性,它们允许验证基于SVM的技术的一般适用性。此外,它们可以通过模式匹配方法轻松识别,并具有令人满意的准确度和精度。
每个类只有400个向量来自训练集,并且在捕获时间接近的流之间存在明显的相关性,即它们通常由相同的源生成。由于需要对协议特征进行完整描述,因此研究人员收集了更大的流量并为训练阶段提取了一个小的随机子集。在训练集中插入了表2中列出的前6个协议。在每个协议名称旁边展示了它生成的流的百分比以及它已传输的字节部分;在最后一列中,仅考虑与应用层对应的字节的百分比。
除了上面提到的6个协议之外,研究人员还在评估集的表格中包含了其他3类流程,这些类用于验证分类器识别与训练阶段使用的协议不同的协议的能力。研究人员负责从两个不同的连续时间框架中收集的痕迹中选择训练和评估集。
2.1.2 LBNL数据集
LBNL流量是在劳伦斯伯克利国家实验室收集的,并使用工具tcpmkpub进行匿名化。
数据包是在LBNL网络的两个中央路由器上收集的,它们包含从数千个内部主机生成的流量。
测量系统允许同时存储20个路由器端口中仅有两个的流量。因此,周期性地被监视子网发生变化,并且所得到的跟踪依次来自子网的连续。此测量过程会影响LBNL流量的特性,因为对于每个应用协议,流的数量及其统计属性可能取决于监控的子网。
测量系统允许同时存储20个路由器端口中的2个端口的流量。因此,被监视的子网会周期性地发生变化,所以得到的跟踪流来自不同的子网。此测量过程会影响LBNL流量的特性,因为对于每个应用协议,跟踪流的数量及其同技术性可能取决于受监控的子网。
协议的选择与UNIBS实验不同,它包括表3中前6个类的训练阶段。在评估集中,还考虑了表中显示的其余8个类。
由于需要尽可能多的流来表征给定的协议,因此研究人员分析了这些流量以确定最常见的应用程序,并将它们分组以形成表中报告的组合。
2.1.3 CAIDA数据集
CAIDA数据集包含2002年8月14日沿OC48链路在AIX(AMES Internet Exchange)上3h内收集的流量。使用从第一个小时(对应于16:15—17:00 UTC的时间间隔)提取的流来构建训练集,第三个小时(18:00—18:10 UTC)提取的流量创建评估集。
使用CAIDA数据集来验证分类器对骨干链路的适用性,其中高传输速率比较常见,并且流量源比本地网络更具有异构性。
用于选择协议的过程与LBNL数据集所遵循的过程相同。训练集中使用的流程对应于表4中显示的前6个类别。在评估集中包括其余5个协议。
2.2 有监督方法
有监督的流量分类方法具有分析监督训练数据,并产生推断的功能,可以预测任何测试流程的输出类别。在有监督的流量分类中,充分的监督训练数据是一个普遍的假设。
2.2.1 朴素贝叶斯方法
为了解决基于有效载荷的流量分类所带来的问题,如加密应用和用户数据隐私,Moore等[15]应用有监督的朴素贝叶斯技术对基于流量统计特征的网络流量进行分类。所使用的数据集中的流量流被手动分类(基于流量内容),从而可以进行准确的评估。248个基于全流量的特征用于训练分类器,这些特征中有基本的统计特征,例如最大、最小、平均包大小,最大、最小、平均包到达时间间隔等,也有复杂的衍生特征和变换特征,例如对包大小序列作傅里叶变换等。将用于互联网应用的所选流量分组为不同的类别以用于分类,例如,Web 访问流量(WWW)、邮件流量(MAIL)、大块文件传输流量(BULK)、 网络服务流量(SERV)、数据库流量(DB)、P2P流量(P2P)、攻击流量(ATT) 和互联网多媒体流量(MMEDIA)等8种重要互联网流量。为了评估分类器的性能,研究使用Accuracy和Trust(相当于Recall)作为评估指标。结果表明,使用简单的朴素贝叶斯技术,使用整个流动特征群体,可以在分类中获得大约65%的流动精度。使用具有核密度估计的朴素贝叶斯(Naive Bayes using Kernel density estimation, NBK)和相关性快速过滤特征选择(Fast Correlation Based Filter, FCBF)的方法对分类器进行了两次改进。这些改进有助于减少特征空间,并将对于流量的分类器性能提高到优于总体精度的95%以上。凭借最优的组合技术,单个应用类别的准确率分别为:Web访问流量98%,批量数据传输90%,服务流量约44%和P2P 55%。在另一实验中Moore等又应用贝叶斯神经网络方法扩展了这项工作。已经证明,与朴素贝叶斯技术相比,精度进一步提高。贝叶斯训练的神经网络方法能够对同一天进行训练和测试的数据进行高达99%的准确率分类,对相隔8个月的数据进行训练和测试的准确率达到95%。
Williams等[17]提供了ML流量分类的性能方面的见解。着眼于许多监督ML算法:具有离散化的朴素贝叶斯(Naive Bayes using Discretization, NBD),具有核密度估计的朴素贝叶斯(NBK),C4.5决策树决策树,贝叶斯网络和朴素贝叶斯树。这些算法的计算性能根据分类速度(每秒分类数量)和构建相关分类模型所花费的时间进行评估。
结果表明,大多数算法通过22个(选出的)特征实现了高流量精度(除了NBK算法达到的精度只有80%以上,其余算法均达到95%以上的精度)。之后使用8个基于关联的特征选择(Correlation-based Feature Selection, CFS)和9个基于一致性的特征选择(CONsistency-based feature selection, CON)减少特征集合,通过交叉验证获得的结果与使用全特征集合相比,总体精度仅显示出极小的变化。使用CON方法减少特征集,NBD和NBK的准确度最多降低2%~2.5%。
尽管分类准确性相似,但各分类方法在计算性能方面表现出显着差异。在使用任何不同的特征集时,C4.5 决策树算法都被认为是最快的算法。按照分类速度降序排列的算法是:C4.5 决策树、离散化的朴素贝叶斯(NBD)、贝叶斯网络、朴素贝叶斯树、核密度估计的朴素贝叶斯(NBK)。
就模型构建时间而言,朴素贝叶斯树需要比其余算法长得多的时间。按照模型构建时间降序排列的算法是:朴素贝叶斯树、C4.5 决策树、贝叶斯网络、离散化的朴素贝叶斯(NBD)、核密度估计的朴素贝叶斯(NBK)。
结果还表明,对于大多数算法来说,特征数量的减少大大提高了算法在模型构建时间和分类速度方面的性能。
2.2.2 支持向量机(SVM)
SVM 作为一种经典的 ML 模型,在流量识别研究中非常受欢迎,许多研究者力图使用 SVM 构建高效的流量识别模型。Este 等采用 SVM 对互联网 TCP 流量进行识别,在这项研究中, 展示了一种SVM单分类方法的应用,用于分类网络流量和检测离群值数据包。分类器集成了SVM的“一对多”方法,在需要时解决多类问题。同时引入了一个简单的优化程序来为使用的数据集导出理想的SVM参数,从而导出一个训练过程。最后分析了基于SVM的分类器应用于三条数据轨迹的结果,其中两条来自大型局域网,另一条来自互联网主网。
将这一技术应用于三种不同的数据集UNIBS、LBNL和CAIDA。在几乎所有情况下,分类器的准确性都非常好,大部分都能达到90%甚至95%以上,证明SVM 在流量识别中可以获得相当高的精度。有些情况下分类器的性能可能不是很好,例如来自CAIDA数据集的包含未知协议的类,使用基于SVM的分类器对CAIDA数据集进行分类只能达到86.5%的效果。本文认为,这些问题中的大多数归因于(基于端口的)预分类器的不可靠性。而后2011年,文献[18]中他们进一步将 SVM 应用到在线流量识别中。2014年,Groléat 等[19-20]针对高速网络环境,结合 FPGA 技术,对基于 SVM 的流量识别模型进行硬件加速,使其适应真实的主网环境。
2017年,Kong等[21]利用SVM在多分类问題中的优秀表现,将其应用在流量识别系统中,研究出了异常流量识别系统(ATIS),可以对多种攻击流量应用进行分类和识别。He[22]提出一种基于特征加权的支持向量机(Support Vector Machine with Feature Weighted-Degree, FWD-SVM)的网络流量分类方法。通过对大规模样本集上流量分类实验的分析比较,此方法可以减少样本分布的影响,提高计算速度,提高网络流量分类的准确性,同时还具有很好的泛化能力。在表5中给出了,FWD-SVM在大规模样本集上进行流量分类实验的结果与其他四种经典分类方法的准确性比较。
2.2.3 神经网络(NN)
如上文提到的Moore 等在前期研究的基础上,通过采用贝叶斯神经网络的方法对他们所收集的数据集进行流量识别,实验所得出的结果比之前仅使用朴素贝叶斯分类器的方法在识别精度上面得到了很大的提高。
Raahemi 等[23-25]也较早致力于用人工神经网络(Artificial Neural Network, ANN)进行 P2P 流量识别。他对Moore的方法提出了一些分析,他认为虽然朴素贝叶斯方法很有前途,但由于涉及太多的鉴别器,所以存在一个关于该方法的可扩展性的问题,并且准备数据(具有许多属性)和分配业务流到预定义的类别需要很多时间。因此他提出采用监督机器学习技术中,以多层感知器神经网络作为分类器对网络流量进行分类。 对数据进行预处理并标记数据,并在训练数据集中使用不同比率的P2P /非P2P的不同属性的组合来构建若干模型。结论为观察到应用的神经网络模型需要不断更新以确保检测到新的同伴群体。而后Raahemi等又发现上述工作中采用的神经网络是一个非增量分类器,并不总是可以持续更新非增量算法。所以他们又改进为应用增量神经网络和Fuzzy ARTMAP来对互联网流量进行分类。在校园网关上捕获互联网流量,对数据进行预处理和标记,并针对不同规模的培训/测试数据集建立模糊ARTMAP神经网络分类模型,分别用于增量学习和非增量学习模式。用灵敏度、特异性和准确性来衡量分类器的性能。实验结果表明当训练集的大小相对较小时(大约4000次或更少),增量学习的性能比非增量学习的性能要好。当训练集的大小增加时,增量学习的性能优势消失。
这一观察结果突出了在线流数据挖掘任务的实际用法,例如互联网中对等流量的分类。在这种类型的应用程序中,通常对可用内存量有限制。因此,需要具有需要小规模训练数据的分类算法。实验结果证实,当训练样本很小时,增量学习算法,尤其是ARTMAP神经网络,表现比非增量学习算法好得多。基于这种观察,建议使用增量学习方法来分类P2P流量。该算法,例如Fuzzy ARTMAP神经网络,可以在路由器中实现(可能在最终用户的访问接口上),作为后台进程连续运行。
除上述方法以外,还有各种类型的人工神经网络都被应用到网络流量识别中,例如文献[26-28]中提到的BP 神经网络、文献[29-31]中提到的概率神经网络和文献[32]中提到的RBF神经网络等。前几年,Mathewos 等[33]提出一种并行计算的架构,用以提高神经网络的训练和识别速度,使之适应实际的流量识别问题。
2017年,Wang等[34]使用卷积神经网络(Convolutional Neural Network, CNN)方法,将原始流量数据作为图像,使用CNN进行图像分类,最终实现恶意流量分类的目标。这是首次将图像学习方法应用于使用原始流量数据的恶意软件流量分类域。由于流量数据的连续性和图像数据的离散性不同,研究了多种流量图像类型,并通过实验发现了CNN为最佳类型。为了证明提出的方法的可扩展性,使用三种分类器在两种情况下进行实验,最终的平均准确率为99.41%,符合实际应用标准。
2.2.4 C4.5决策树
在上文朴素贝叶斯方法中提到Williams等提供了ML流量分类的性能方面的见解。着眼于许多监督ML算法,并分析评估各类算法的性能。
在使用任何不同的特征集时,C4.5 决策树算法都被认为是最快的算法。文献[35-36]中也表明,将C4.5算法应用于P2P流量分类,性能比广泛使用的贝叶斯方法更好更稳定,并且能够有效地避免P2P流量分布波动的影响。
而Zhang等[37]表示研究方法在实时分类方面很差。这主要是由于流程持续时间、流量大小和数据包计数器等属性集合造成的,只有在流程结束时才能够精确获取。文献中的子流模型可以大大提高分类的及时性,但只有当流量可以分为不同的阶段时才能有效地进行实时分类。与之前的方法相比,Zhang等的方法从使用C4.5和滑动窗口的属性集的角度实现了机器学习分类器的及时性。结果表明,與当前属性集相比,此方法可以实现更有效的性能,对于实时的P2P应用分类,准确率达到了96.7%,并且即使流程开始丢失,也可以保持稳定。此方法的优点在于,它可以尽早识别P2P应用程序,其性能不依赖于流程的完整性,所以它在实际的实时网络流量分类中会很有用。
2.2.5 近邻分类(KNN)
K最近邻(K-Nearest Neighbors, KNN)分类模型也是一种在流量识别研究中非常受欢迎的模型。如前文所述目前的对于流量识别分类的研究主要集中在使用ML技术,在分析流量统计特性的基础上对流量进行分析。然而,文献[38]中提到,不平衡数据集是现实应用中常见的问题,特别是在网络流量中,常常会对ML算法的分类性能造成严重的负面影响。这是因为一些平时很多人使用的应用程序产生大量的流量(称为“大类”),而不受欢迎的应用程序只产生少量的流量(称为“小类”)。在这个问题中,分类器总是偏向于大类。大类的分类效果很好,而小类的分类效果非常差。大多数传统的ML分类算法都会尽量减小错误率,即错误预测分类标签的百分比。这会导致算法忽略错误类型之间的差异。特别是,他们假设所有这些错误分类都是相同的。研究者们引入了许多解决方案来处理先前在数据和算法级别的ML算法的不平衡问题。其中在算法层面,研究人员提出了成本敏感的学习,其重点在于将成本纳入决策过程,这是另一种提高分类器性能的另一种方式,即从不平衡数据集中学习或在内部操纵分类器,如文献[39]中提到的KNN中的加权距离和SVM偏差算法。而后Wu等[40]提出一种新的方法,用于改善KNN方法中分类器在小类应用中的分类性能。即引入KNN算法的决策边界,研究开发了一个模型,可以自动选择最佳决策边界,以达到小类流量分类的最佳性能,又能保持大类流量分类的性能稳定。Du 等[41]也有提出将 BPSO 优化算法与KNN结合,构建出一种高效的P2P 流量识别模型。
2017年,McGaughey等[42]提出使用快速正交搜索(Fast Orthogonal Search, FOS)算法从数据导出的大量特征中选择具有区分能力的特征子集,然后使用KNN分类器和FOS选择的特征对网络流量进行分类。FOS算法从一组2839个特征中选择了12个特征子集。研究表明使用这12个特征的KNN分类器比使用任意44个特征集的KNN少106个错误,并且分类的计算时间减少了81%,大大提高了KNN对网络流量进行分类的效率。
2.3 半监督方法
半监督方法主要是使用ML技术中的聚类方法。使用聚类方法来进行网络流量的识别与分类。在半监督学习的流识别研究中,Bernaille 等[43]于2006 年发表的研究成果具有重要意义,在这篇文献中,尝试使用K均值聚类方法进行半监督学习的流量识别,并获得了比较理想的结果。
Erman 等[44-45]也在半监督学习的流量识别研究中作出了重大的贡献, 同是2006年,使用聚类的机器学习方法对传输层的流量进行统计分类。通过评估两种聚类算法,即K-Means和DBSCAN聚类算法(Density-Based Spatial Clustering of Applications with Noise, DBSCAN),确认观察结果。另外使用已有的基于自动聚类(AutoClass)算法(AutoClass 算法)的结果作为基线。使用的算法为半监督学习机制,其中未标记的训练数据基于相似性进行分组。这种对未标记训练数据进行分组的能力是有利的,并且相对于需要标记训练数据的学习方法这种方法有一个优点,即可发现来自产生于过去的未知应用的流量。尽管所选择的算法使用半监督学习机制,但是这些算法中的每一个都基于不同的聚类原理。 K-Means聚类算法是一种基于分区的算法,DBSCAN算法是一种基于密度的算法,而AutoClass算法是一种基于概率模型的算法。而选择K-Means和DBSCAN算法的一个原因是它们在聚类数据方面比以前使用的AutoClass算法快得多。
使用兩条经验痕迹评估算法:奥克兰大学众所周知的公开可用互联网流量追踪,以及从卡尔加里大学互联网连接收集到的最新踪迹。基于它们生成单个应用程序具有高预测能力的群集的能力来比较算法。实验表明集群适用于各种不同的应用,包括Web、P2P文件共享和文件传输,AutoClass和K-Means算法的精度超过85%,DBSCAN的精度达到75%。
此外,论文分析了由不同算法产生的每个簇中,簇的数量和对象的数量。分析是基于每种算法生成具有单一流量类别的高预测能力的群集的能力,并且每种算法是否能够生成包含大多数连接的最少数量的群集。实验表明, AutoClass算法具有最好的整体精度。同时,尽管DBSCAN具有较低的整体精度,但它形成的群集是最准确的,因为它将大多数连接放置在一小群集群中。这非常有用,因为这些群集对单个类别的流量具有很高的预测能力。K-Means算法的整体精度仅略低于AutoClass算法,但由于其建模时间快得多,因此更适合网络流量分类与识别问题。后续文献[46]中,他们继续深入研究探索了半监督学习模型在在线流量识别的应用。
2017年,Hochst等[47]提出一种基于神经自动编码器的流量和聚类统计特性的无监督流量流分类的新方法。该算法已被用于将流量集中到下载、上传、调用、浏览、视频流、实时流或交互通信,独立于用于执行这些任务的特定网络协议。基于时间间隔的新颖特征向量构建和半自动聚类标记方法促进了与已知流量类别无关的流量分类。通过在四个月内捕获的实际数据的实验评估。获得的结果显示,检测到7个不同类别的移动通信流量,平均精度为80%,获得了不错的实验效果。
2.4 基于机器学习的识别分类方法总结
上文总结了从2004—2012年机器学习技术应用于网络流量识别分类的高峰期,也提出了近几年的一些改进。下面用表6归纳上述方法。
3 结语
流量分类识别技术在近十几年的相关研究中有所提高。在过去的研究中,研究界和网络行业已经调查,提出并开发了多种分类识别方法。虽然流量分类识别技术的准确性和效率有所提高,但不断并迅速增加的不同的网络应用行为,同时有越来越多的方法被研究用来掩饰某些应用程序以避免被过滤或阻止,流量分类识别问题仍然是网络中许多未解决的问题之一。本文回顾了近十几年的研究成果, 主要是分类识别方法的发展进程以及它们在适用性、可靠性和隐私方面的权衡。从传统的流量分类识别方法包括基于端口的预测方法和基于有效载荷的深度检测方法,到目前基于流量统计特征的机器学习技术,甚至近几年出现的结合传统方法与机器学习方法的流量分类技术。
就目前的研究成果来看,网络流量识别分类技术通过从传统的方法到应用机器学习算法取得了较大的突破,但基于机器学习算法的方法应有以下问题:
1)仅使用机器学习算法只能满足特定的网络环境,缺少适合多种普遍环境的方法。
2)特征选择存在考虑不足的情况,影响网络流量识别分类的准确性。
为了解决以上问题,未来需要尝试使用更多结合的方法,来对网络流量进行识别分类。同时为了适应目前互联网应用的需求和模式的发展,流量识别技术需要考虑以下方向的发展:
1)增强移动互联网端的流量识别。随着手机行业的发展,移动端的应用类别日益增多。随之产生的流量模式和数量也急速增长,因此,移动互联网的流量识别必然成为互联网流量识别的一个重要部分。
2)高速网络下的流量识别。目前从工业界到民用带宽都在进行升级,随着网络带宽的增加,如何在高速网络环境下识别快速产生的海量流量,也将是互联网流量识别的一个重要研究方向。
参考文献 (References)
[1] HUANG J, QIAN F, MAO Z M, et al. Screen-off traffic characterization and optimization in 3G/4G networks [C]// IMC '12: Proceedings of the 2012 International Conference on Internet Measurement Conference. New York: ACM, 2012: 357-364.
[2] DAINOTTI A, PESCAPE A, CLAFFY K C. Issues and future directions in traffic classification [J]. IEEE Network, 2012, 26(1): 35-40.
[3] KARAGIANNIS T, PAPAGIANNAKI K, FALOUTSOS M. BLINC: multilevel traffic classification in the dark [J]. ACM SIGCOMM Computer Communication Review, 2005, 35(4): 229-240.
[4] MOORE A W, PAPAGIANNAKI K. Toward the accurate identification of network applications [C]// PAM 2005: Proceedings of the 2005 International Workshop on Passive and Active Network Measurement, LNCS 3431. Berlin: Springer, 2005: 41-54.
[5] DEWES C, WICHMANN A, FELDMANN A. An analysis of Internet chat systems [C]// Proceedings of the 2003 SIGCOMM Conference on Internet Measurement. New York: ACM, 2003: 51-64.
[6] SEN S, SPATSCHECK O, WANG D. Accurate, scalable in-network identification of P2P traffic using application signatures[C]// Proceedings of the 2004 International Conference on World Wide Web. New York: ACM, 2004: 512-521.
[7] 康宁.HTTPS网页流量的指纹提取和识别技术研究[D]. 哈尔滨:哈尔滨工业大学,2017:37-39.(KANG N. Research on fingerprint extraction and recognition technology of HTTPS Web traffic[D]. Harbin: Harbin Institute of Technology, 2017:37-39.)
[8] 刘佳雄.基于DPI和DFI技术的对等流量识别系统的设计[D].秦皇岛:燕山大学,2010:20-30.(LIU J X. Design of peer-to-peer traffic identification system based on DPI and DFI technology [D]. Qinhuangdao: Yanshan University, 2010:20-30.)
[9] 胡庆安.基于双重特征的协议识别方法研究[D].成都:西南交通大学,2010:23-40.(HU Q A. Research on protocol identification method based on dual features [D]. Chengdu: Southwest Jiaotong University, 2010:23-40.)
[10] 陳传通.基于正则表达式匹配的网络流量识别系统的研究与实现[D]. 济南:山东大学,2013:17-22.(CHEN C T. Research and implementation of network traffic identification system based on regular expression matching [D]. Jinan: Shandong University, 2013:17-22.)
[11] 刘泷.基于DPI的网络业务流量识别技术研究[D].济宁:曲阜师范大学,2017:15-31.(LIU L. Research on network service traffic identification technology based on DPI [D]. Jining: Qufu Normal University, 2017:15-31.)
[12] MINH Q T, KOTO H, KITAHARA T, et al. Separation of background and foreground traffic based on periodicity analysis [C]// Proceedings of the 2015 IEEE Global Communications Conference. Piscataway, NJ: IEEE, 2015:1-7.
[13] MINH Q T. An effective approach to background traffic detection [C]// FDSE 2015: Proceedings of the 2015 International Conference on Future Data and Security Engineering, LNCS 9446. Berlin: Springer, 2015: 135-146.
[14] MEKKY H, MOHAISEN A, ZHANG Z L. Blind separation of benign and malicious events to enable accurate malware family classification [C]// Proceedings of the 2014 SIGSAC Conference on Computer and Communications Security. New York: ACM, 2014: 1478-1480.
[15] MOORE A W, ZUEV D. Internet traffic classification using Bayesian analysis techniques [J]. ACM SIGMETRICS Performance Evaluation Review, 2005, 33(1): 50-60.
[16] ESTE A, GRINGOLI F, SALGARELLI L. Support vector machines for TCP traffic classification [J]. Computer Networks, 2009, 53(14): 2476-2490.
[17] WILLIAMS N, ZANDER S, ARMITAGE G. A preliminary performance comparison of five machine learning algorithms for practical IP traffic flow classification [J]. ACM SIGCOMM Computer Communication Review, 2006, 36(5): 5-16.
[18] ESTE A, GRINGOLI F, SALGARELLI L. On-line SVM traffic classification [C]// Proceedings of the 2011 7th International Wireless Communications and Mobile Computing Conference. Piscataway, NJ: IEEE, 2011: 1778-1783.
[19] GROLAT T, ARZEL M, VATON S. Hardware acceleration of SVM-based traffic classification on FPGA [C]// Proceedings of the 2012 8th International Wireless Communications and Mobile Computing Conference. Piscataway, NJ: IEEE, 2012: 443-449.
[20] GROLAT T, ARZEL M, VATON S. Stretching the edges of SVM traffic classification with FPGA acceleration [J]. IEEE Transactions on Network and Service Management, 2014, 11(3): 278-291.
[21] KONG L, HUANG G, WU K. Identification of abnormal network traffic using support vector machine [C]// Proceedings of the 2017 18th International Conference on Parallel and Distributed Computing, Applications and Technologies. Piscataway, NJ: IEEE, 2017: 288-292.
[22] HE H. A network traffic classification method using support vector machine with feature weighted-degree [J]. Journal of Digital Information Management, 2017, 15(2): 76-83.
[23] RAAHEMI B, HAYAJNEH A, RABINOVITCH P. Classification of peer-to-peer traffic using neural networks[C]// Proceedings of the 2007 International Conference on Artificial Intelligence and Pattern Recognition. Piscataway, NJ: IEEE, 2007: 411-417.
RAAHEMI B, KOUZNETSOV A, HAYAJNEH A, et al. Classification of peer-to-peer traffic using incremental neural networks [C]// Proceedings of the 2008 Canadian Conference on Electrical and Computer Engineering. Piscataway, NJ: IEEE, 2008: 411-417.
[24] RAAHEMI B, HAYAJNEH A, RABINOVITCH P. Peer-to-peer IP traffic classification using decision tree and IP layer attributes [J]. International Journal of Business Data Communications and Networking, 2007, 3(4): 60.
[25] RAAHEMI B, KOUZNETSOV A, HAYAJNEH A, et al. Classification of peer-to-peer traffic using incremental neural networks (fuzzy ARTMAP) [C]// CCECE 2008: Proceedings of the 2008 International Conference on Electrical and Computer EngineeringProceedings of the 2008 Canadian Conference on Electrical and Computer Engineering. Piscataway, NJ: IEEE, 2008: 719-724.
[26] SHEN F, PAN C, REN X. Research of P2P traffic identification based on BP neural network [C]// IIH-MSP 2007: Proceedings of the 2007 International Conference on Intelligent Information Hiding and Multimedia Signal Processing. Washington, DC: IEEE Computer Society, 2007, 2: 75-78.
[27] GU C, ZHUANG S. A novel P2P traffic classification approach using back propagation neural network [C]// Proceedings of the 2010 IEEE 12th International Conference on Communication Technology. Piscataway, NJ: IEEE, 2010: 52-55.
[28] CHEN H, HU Z, YE Z, et al. Research of P2P traffic identification based on neural network [C]// CNMT 2009: Proceedings of the 2009 International Symposium on Computer Network and Multimedia Technology. Piscataway, NJ: IEEE, 2009: 1-4.
[29] SUN R, YANG B, PENG L, et al. Traffic classification using probabilistic neural networks [C]// Proceedings of the 2010 6th International Conference on Natural Computation. Piscataway, NJ: IEEE, 2010, 4: 1914-1919.
[30] 賀静,赵峦.基于PCA-概率神经网络的P2P流量分类方法研究[J].电脑开发与应用,2011,24(7):18-20.(HE J, ZHAO L. Research on P2P traffic classification based on PCA-probabilistic neural network[J]. Computer Development and Applications, 2011, 24(7): 18-20.)
[31] AKILANDESWARI V, SHALINIE S M. Probabilistic neural network based attack traffic classification[C]// Proceedings of the 2012 4th International Conference on Advanced Computing. Piscataway, NJ: IEEE, 2012: 1-8.
[32] SINGH K, AGRAWAL S. Internet traffic classification using RBF neural network [C]// Proceedings of the 2011 International Conference on Communication and Computing technologies (ICCCT-2011). Jalandhar, India: [s.n.], 2011: 39-43.
[33] MATHEWOS B, CARVALHO M, HAM F. Network traffic classification using a parallel neural network classifier architecture [C]// CSIIRW '11: Proceedings of the 7th Annual Workshop on Cyber Security and Information Intelligence Research. New York: ACM, 2011: Article No. 33.
[34] WANG W, ZHU M, ZENG X, et al. Malware traffic classification using convolutional neural network for representation learning [C]// Proceedings of the 2017 International Conference on Information Networking. Piscataway, NJ: IEEE, 2017: 712-717.
[35] 徐鹏,林森.基于C4.5决策树的流量分类方法[J].软件学报,2009,20(10):2692-2704.(XU P, LIN S. Internet traffic classification using C4. 5 decision tree [J]. Journal of Software, 2009,20(10): 2692-2704.)
[36] 陈云菁,张赟,陈经涛.基于决策树模型的P2P流量分类方法[J].计算机应用研究,2009,26(12):4690-4693.(CHEN Y J, ZHANG Y, CHEN J T. Method for P2P traffic classification based on decision-tree model [J]. Application Research of Computers, 2009, 26(12): 4690-4693.).
[37] ZHANG Y, WANG H, CHENG S. A method for real-time peer-to-peer traffic classification based on C4.5 [C]// Proceedings of the 2010 IEEE 12th International Conference on Communication Technology. Piscataway, NJ: IEEE, 2010: 1192-1195.