一种基于表征学习的网络流量分类的方法及装置与流程

文档序号:14717685发布日期:2018-06-16 01:54阅读:553来源:国知局
一种基于表征学习的网络流量分类的方法及装置与流程
本发明实施例涉及数据处理领域,尤其涉及一种基于表征学习的网络流量分类的方法及装置。
背景技术
:网络流量分类是指按照具体业务需求将网络流量归类至某目标类别,是网络管理和网络安全领域的一项基本任务。例如,在网络管理领域,可以将流量分类为不同的优先级,以实现更好的服务质量控制;在网络安全领域,可以将流量分为正常流量和恶意流量,以实现网络异常检测并采取防护措施。目前主流的流量分类方法包括:基于端口的方法、基于深层包检测的方法、基于统计的方法、基于行为的方法。由于随机端口和伪装端口技术的大量应用,通过端口分类的方法准确率偏低。基于深层包检测的方法无法解密流量内容,在分类任务中遇到很大障碍。目前研究较多的是基于统计的方法和基于行为的方法,它们属于传统的机器学习分类方法,特点是需手工设计流量特征。这种方法的分类方法优点是分解后的子问题或子步骤变得简单可控,更易解决,但其缺点也很明显,子问题最优未必表示全局最优,每个子步骤最优也不表示全过程最优,因此,如何设计一种更加高效地网络流量分类方法成为亟需解决的问题。技术实现要素:本发明实施例提供一种基于表征学习的网络流量分类的方法及装置,可以高效地对网络流量进行分类。第一方面,本发明实施例提供一种基于表征学习的网络流量分类的方法,包括:将获取到的网络流量数据进行预处理;对预处理后的网络流量数据使用表征学习算法进行特征提取,将所述网络流量数据生成网络流向量;根据所述网络流向量对所述网络流量数据进行分类。在一个可能的实施方式中,所述对预处理后的网络流量数据使用表征学习算法进行特征提取,包括:采用卷积神经网络作为表征学习算法提取网络流量的特征。在一个可能的实施方式中,所述将获取到的网络流量数据进行预处理,包括:将获取到的网络流量数据进行流量切分以及将切分后的流量数据的长度进行统一;将经过切分和长度统一处理后的网络流量数据进行编码,生成特定格式的数据。在一个可能的实施方式中,所述编码形式为以下中的一种:独热编码、像素编码或嵌入编码。在一个可能的实施方式中,所述根据所述网络流向量对所述网络流量数据进行分类,包括:采用分类器根据所述网络流向量对所述网络流量数进行分类。第二方面,本发明实施例提供一种基于表征学习的网络流量分类的装置,包括:预处理模块,用于将获取到的网络流量数据进行预处理;特征提取模块,用于对预处理后的网络流量数据使用表征学习算法进行特征提取,将所述网络流量数据生成网络流向量;分类模块,用于根据所述网络流向量对所述网络流量数据进行分类。在一个可能的实施方式中,所述特征提取模块,用于采用卷积神经网络作为表征学习算法提取网络流量的特征。在一个可能的实施方式中,所述预处理模块,用于将获取到的网络流量数据进行流量切分以及将切分后的流量数据的长度进行统一;将经过切分和长度统一处理后的网络流量数据进行编码,生成特定格式的数据。在一个可能的实施方式中,所述编码形式为以下中的一种:独热编码、像素编码或嵌入编码。在一个可能的实施方式中,所述分类模块,用于采用分类器根据所述网络流向量对所述网络流量数据进行分类。本发明实施例提供的基于表征学习的网络流量分类的方法及装置,通过将获取到的网络流量数据进行预处理;对预处理后的网络流量数据使用表征学习算法进行特征提取,将所述网络流量数据生成网络流向量;根据所述网络流向量对所述网络流量数据进行分类,可实现高效地对网络流量进行分类。附图说明图1为本发明实施例提供的一种基于表征学习的网络流量分类方法的流程图;图2为本发明实施例提供的一种基于表征学习的网络流量分类装置的结构图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。图1为本发明实施例提供的一种基于表征学习的网络流量分类的方法的流程图。如图1所示,所述方法具体包括:S101、将获取到的网络流量数据进行预处理。在本实施例中,预处理的步骤包括:将获取到的网络流量数据进行流量切分以及将切分后的流量数据的长度进行统一;将经过切分和长度统一处理后的网络流量数据进行编码,生成特定格式的数据。具体地,将网络流量数据进行流量切可以包括:按照双向的网络流的形式将流量数据切分为多个流量数据单元,其中双向的网络流是指按照五元组{源IP、源端口、目的IP、目的端口、传输层协议}与首个数据包的开始传输时间共同确定的双向的网络流量数据单元,双向的网络流中的每个数据包要求包含所有协议层数据,之后对切分后的每个流量单元进行流量类别标注。将切分后的流量数据的长度进行统一可以包括:将切分过的流量数据单元进行长度统一处理,选取每个双向流的固定前n个字节,如果双向流长度超过n个字节,则做截取,如果双向流长度少于n个字节,则用0x00进行字节补齐。将经过切分和长度统一处理后的网络流量数据进行编码,生成特定格式的数据可以包括:将预处理过的流量进行数据编码,形成卷积神经网络要求的数据格式;该步骤中的处理对象是统一长度后的流量数据单元中的流量字节数据,数据编码形式方式为独热编码,维数为256。S102、对预处理后的网络流量数据使用表征学习算法进行特征提取,将所述网络流量数据生成网络流向量。具体地,使用卷积神经网络作为表征学习算法提取网络流量的特征,每个网络流生成一个对应的网络流向量;该步骤中的的“卷积神经网络”结构是一维卷积神经网络,卷积神经网络从每个网络流对象中提取流量特征,得到一个对应的网络流向量。该步骤中的的“卷积神经网络”结构具体实施方式描述如下:假设即双向流中第i个流量字节用k维向量表示,一个长度为n的双向流表示为:其中为连接操作符,xi:i+j即表示流量字节xi,xi+1,...,xi+j的连接结果。一个卷积操作包括一个卷积核函数卷积核对窗口宽度为h的一组流量字节操作并输出一个新特征。例如,一组流量字节xi:i+h-1通过以下操作产生特征ci:ci=f(w·xi:i+h-1+b)其中,是偏置项,f是ReLU非线性函数,卷积核将在每个可能的流量字节窗口{x1:h,x2:h+1,...,xn-h+1:n}进行操作,产生一个特征映射:c=[c1,c2,...,cn-h+1]其中,接下来在特征映射上进行时序最大池化操作,得到最大值模型使用多个卷积层和池化层,并在每个卷积层使用多个卷积核,之后连接一个全连接层和一个softmax层,最终输出输入在每一类输出上的概率分布。各个层的参数如表1所示。层操作类型输入大小卷积核大小步长输出尺寸1卷积+ReLU784*1251784*322最大化池化784*3233262*323卷积+ReLU262*32251262*644最大化池化262*643388*645全连接88*64----10246全连接1024----2/6/127softmax2/6/12----2/6/12表1需要说明的是,上述表1仅仅是本发明实施例的卷积神经网络各层参数的一种示例,还可以根据实际需求对上述参数进行设定,对此,本实施例不作具体限定。S103、根据所述网络流向量对所述网络流量数据进行分类。可采用分类器执行该步骤,分类器可以是神经网络内部的分类器,例如softmax,也可以是独立的分类器,例如SVM或者决策树。如:使用softmax分类器对网络流向量执行最终分类,分类器之前使用一层全连接网络。分类器最终输出输入的网络流属于5类目标网络流量的概率分布,概率分布最大的一类流量即为输出分类。本发明实施例提供的基于表征学习的网络流量分类的方法,通过将获取到的网络流量数据进行预处理;对预处理后的网络流量数据使用表征学习算法进行特征提取,将所述网络流量数据生成网络流向量;根据所述网络流向量对所述网络流量数据进行分类,可实现高效地对网络流量进行分类。图2为本发明实施例提供的一种基于表征学习的网络流量分类的装置的结构示意图。如图2所示,所述装置具体包括:预处理模块201,用于将获取到的网络流量数据进行预处理;特征提取模块202,用于对预处理后的网络流量数据使用表征学习算法进行特征提取,将所述网络流量数据生成网络流向量;分类模块203,用于根据所述网络流向量对所述网络流量数据进行分类。可选地,所述特征提取模块202,用于采用卷积神经网络作为表征学习算法提取网络流量的特征。可选地,所述预处理模块201,用于将获取到的网络流量数据进行流量切分以及将切分后的流量数据的长度进行统一;将经过切分和长度统一处理后的网络流量数据进行编码,生成特定格式的数据。可选地,所述编码形式为以下中的一种:独热编码、像素编码或嵌入编码。可选地,所述分类模块203,用于采用分类器根据所述网络流向量对所述网络流量数据进行分类。本发明实施例提供的基于表征学习的网络流量分类的装置,通过将获取到的网络流量数据进行预处理;对预处理后的网络流量数据进行特征提取,将所述网络流量数据生成网络流向量;根据所述网络流向量对所述网络流量数据进行分类,可实现高效地对网络流量进行分类。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或
技术领域
内所公知的任意其它形式的存储介质中。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1