基于时空特性相结合的深度学习流量分类方法技术

技术编号:23193348 阅读:33 留言:0更新日期:2020-01-24 17:06
本发明专利技术公开了一种基于时空特性相结合的深度学习流量分类方法,主要解决现有技术检测准确率低的问题。其实现方案是:1)采集并标注原始流量负载数据;2)基于原始流量负载数据,生成预处理后的流量图集;3)利用流量图集训练基于时空特性相结合的深度学习模型;4)用新采集并生成的流量数据验证训练好的深度学习模型,合格后将模型作为流量分类器部署于真实网络结点;5)对真实网络环境中的流量进行解析分类并标注。本发明专利技术构建的模型利用了流量数据的时空特性,提高了流量分类的准确率,且减少分类器占用的资源,能满足当前网络环境下流量分类的需求,可应用于网络边缘节点中实现加密流量识别和恶意流量检测。

Deep learning traffic classification method based on the combination of temporal and spatial characteristics

【技术实现步骤摘要】
基于时空特性相结合的深度学习流量分类方法
本专利技术属于计算机网络
,尤其涉及一种流量分类方法,可应用于网络边缘节点中,实现加密流量识别和恶意流量检测。
技术介绍
当今网络流量环境日益复杂,如何继续保持高效快捷的恶意流量检测成为当今网络环境下一大挑战。流量识别或恶意流量检测的本质皆为分类问题,且传统的流量分类方法,如基于端口号或深度包检测技术,皆无法很好的在当今网络环境下满足任务需求;基于传统机器学习的方法也被用于应对加密流量识别及恶意流量监测,但繁杂的人为选取特征以及标记特征库这一步骤涉及人工成本和隐私信息等问题,使得此类方法的泛化能力受到了制约;近些年刚刚兴起的基于深度学习的方法很好的解决了前人方法中的不足,但大多只利用了原始流量信息中时间或空间单一维度的信息,使得分类器的性能受到了制约,尤其是在应对同时解析加密流量和恶意流量检测任务时,很容易在训练时遇到瓶颈。参上,如何设计一个可以同时利用时空特性的深度学习分类器成为一个核心问题。上海交通大学邹福泰等人在其申请的专利文献“一种基于深度学习的加密恶意流量的检测系统和方法”(申请号201811244932.5申请日2018.10.24申请公布号:CN109104441A)中公开了一种基于深度学习的加密恶意流量检测系统。该方法的具体步骤是,第一步:通过流量分析软件对加密流量数据进行分析,获得三个日志文件,连接并获得一系列的聚合数据;第二步:从上述的聚合数据中提取一系列的特征数据;第三步:利用xgboost算法,对第二步中的特征数据进行训练,获得第一模型;第四步:对于每条流量聚合的所有servername,利用word2vec训练出一个词向量转换模型,然后转换成词向量矩阵;第五步:将servername转换成词向量矩阵后,用LSTM进行训练,获得第二模型;第六步:利用数据包的payload中的特征,构建流量图,获得第三模型;第七步:将获得的三种模型,以不同比例进行加权,获得最终的恶意流量概率。该方法存在的不足之处是,在第七步获得最终恶意流量概率时需要将三种模型以不同比例进行加权,但对于如何分配三种模型的加权比例,该方法并没有明确指出,而在实际应用过程中,传统的人为干涉加权决策会破坏深度学习的端对端结构,从而削减了深度学习本身的自学习能力;此外,该方法虽然用到了xgbootst,CNN,LSTM三个模型,但是也只是简单的合并其分类概率,并没有完全利用到流量的时空特征来实现分类。综上,因此该方法在实现加密恶意流量检测时具有很大的局限性。中国科学院声学研究所在其申请的专利文献“一种基于表征学习的网络流量分类的方法及装置”(申请号:201711189690申请日:2018-06-15申请公布号:CN201711189690.XA)中公开了一种基于表征学习的网络流量分类的方法及装置。该方法的具体步骤是,第一步:将获取到的网络流量数据进行预处理,其中包括将获取到的网络流量数据进行流量切分以及将切分后的流量数据的长度进行统一,并将经过切分和长度统一处理后的网络流量数据进行编码,生成特定格式的数据;第二步:对预处理后的网络流量数据使用表征学习中的卷积神经网络算法进行特征提取,将所述网络流量数据生成网络流向量;第三步:根据所述网络流向量对所述网络流量数据进行分类,可实现对网络流量的分类。该方法存在的不足之处是,只结合了流量所有的空间特性,而对于流量本身时序特性的利用有一定的缺失,使其在分类中准确率较低,容易出现误判;该方法需要人为对流量的特征进行提取,其所需要耗费的人工和时间成本都比较大,无法做到端到端的网络流量分类。综上,该方法在实现加密恶意流量检测时具有很大的局限性。
技术实现思路
本专利技术的目的在于针对上述现有技术的不足,提出一种基于时空特性相结合的深度学习流量分类方法,以提高流量分类的准确率,减少分类器占用的资源,满足当前网络环境下流量分类的需求。为实现上述目的,本专利技术的技术方案包括如下步骤:(1)采集并标注原始网络流量负载数据,得到经过标注的网络流量负载数据:(1a)从纯净网络节点处采集网络流量负载数据,并将其按照加密流量,未加密流量和恶意访问流量这三类进行分类,其中加密流量按照互联网中六大类应用进行细分标注,即Email、Chat、File、P2P、Streaming、和VoIP;(1b)将本次采集的网络流量负载数据、以往时间点数据与预先构建的数据库进行随机混合,得到经过标注的网络流量负载数据库;(2)基于经过标注的网络流量负载数据库,生成预处理后的流量图集:(2a)将连续的网络流量利用抓包工具切分,以产生pcap格式的数据包,并存储;(2b)对数据包进行协议除杂,即删除数据包内能直接反映流量服务类型的TCP协议和DCP协议相关数据,此部分数据在恶意访问流量或加密流量中为干扰项,在深度学习模型中会干扰模型的信息提取;(2c)对数据包进行物理信息除杂,即删除物理地址相关信息,以避免深度学习模型误认为物理地址为某种服务相关的识别特征从而产生误分类;(2d)删除空白数据包和重复的数据包,以避免对深度学习训练产生干扰;(2e)统一数据包流量长度为900字节,即对超过900字节的流量包进行截取,不足900字节的流量包用0x00进行补齐;(2f)将统一长度后的数据包做可视化处理,即将每个流量包转换为30*30大小的流量图,并最终将所有处理过的数据包合并为一个流量图集;(3)构建依次由第一卷积层、第一局部归一化层、第二卷积层、第二局部归一化层、全连接层、LSTM层和softmax层连接组成的深度学习模型;(4)对深度学习模型进行训练:(4a)设置训练循环次数R;(4b)将混合后的流量图集依次输入到第一卷积层、第一局部归一化层、第二卷积层和第二局部归一化层,以学习流量的空间特性,并对异常值进行归一化处理;(4c)将(4b)处理过的数据输入到全连接层中,转换为LSTM模型可以接收的数据形式;(4d)将(4c)所得的数据输入到LSTM层中,以学习流量的时间特性;(4e)将(4d)所得的数据输入到softmax层,直接输出分类结果,即给出原始网络流量负载数据的标签;(4f)根据(4e)得到的标签与训练集中的真实标签差异修改各网络层的权重及偏差;(4g)重复(4b)-(4f),直到达到训练循环次数R,得到一种训练好的深度学习模型;(5)对训练好的深度学习模型进行验证与真实网络结点部署:(5a)按照真实网络分类的精度需求设置合格率P;(5b)按照(1)-(2)的步骤,重新采集原始网络流量负载数据并生成流量图集;(5c)将(5b)中生成的流量图集输入训练好的深度学习模型,得到分类结果;(5d)将(5c)的分类结果与真实标签进行比较,得到正确样本数,得到深度学习模型分类结果的正确率A:若A>P,即为合格,此时将模型作为流量分类器部署于真实网络结点;否则,重新进行步骤(1)-(4);本文档来自技高网
...

【技术保护点】
1.一种基于时空特性相结合的深度学习流量分类方法,其特征在于,包括如下:/n(1)采集并标注原始网络流量负载数据,得到经过标注的网络流量负载数据:/n(1a)从纯净网络节点处采集网络流量负载数据,并将其按照加密流量,未加密流量和恶意访问流量这三类进行分类,其中加密流量按照互联网中六大类应用进行细分标注,即Email、Chat、File、P2P、Streaming、和VoIP;/n(1b)将本次采集的网络流量负载数据、以往时间点数据与预先构建的数据库进行随机混合,得到经过标注的网络流量负载数据库;/n(2)基于经过标注的网络流量负载数据库,生成预处理后的流量图集:/n(2a)将连续的网络流量利用抓包工具切分,以产生pcap格式的数据包,并存储;/n(2b)对数据包进行协议除杂,即删除数据包内能直接反映流量服务类型的TCP协议和DCP协议相关数据,此部分数据在恶意访问流量或加密流量中为干扰项,在深度学习模型中会干扰模型的信息提取;/n(2c)对数据包进行物理信息除杂,即删除物理地址相关信息,以避免深度学习模型误认为物理地址为某种服务相关的识别特征从而产生误分类;/n(2d)删除空白数据包和重复的数据包,以避免对深度学习训练产生干扰;/n(2e)统一数据包流量长度为900字节,即对超过900字节的流量包进行截取,不足900字节的流量包用0x00进行补齐;/n(2f)将统一长度后的数据包做可视化处理,即将每个流量包转换为30*30大小的流量图,并最终将所有处理过的数据包合并为一个流量图集;/n(3)构建依次由第一卷积层、第一局部归一化层、第二卷积层、第二局部归一化层、全连接层、LSTM层和softmax层连接组成的深度学习模型;/n(4)对深度学习模型进行训练:/n(4a)设置训练循环次数R;/n(4b)将混合后的流量图集依次输入到第一卷积层、第一局部归一化层、第二卷积层和第二局部归一化层,以学习流量的空间特性,并对异常值进行归一化处理;/n(4c)将(4b)处理过的数据输入到全连接层中,转换为LSTM模型可以接收的数据形式;/n(4d)将(4c)所得的数据输入到LSTM层中,以学习流量的时间特性;/n(4e)将(4d)所得的数据输入到softmax层,直接输出分类结果,即给出原始网络流量负载数据的标签;/n(4f)根据(4e)得到的标签与训练集中的真实标签差异修改各网络层的权重及偏差;/n(4g)重复(4b)-(4f),直到达到训练循环次数R,得到一种训练好的深度学习模型;/n(5)对训练好的深度学习模型进行验证与真实网络结点部署:/n(5a)按照真实网络分类的精度需求设置合格率P;/n(5b)按照(1)-(2)的步骤,重新采集原始网络流量负载数据并生成流量图集;/n(5c)将(5b)中生成的流量图集输入训练好的深度学习模型,得到分类结果;/n(5d)将(5c)的分类结果与真实标签进行比较,得到正确样本数,得到深度学习模型分类结果的正确率A:/n若A>P,即为合格,此时将模型作为流量分类器部署于真实网络结点;/n否则,重新进行步骤(1)-(4);/n(6)对真实网络中的加密流量进行分类,将经步骤(2)预处理过的真实网络流量图传入流量分类器,将流量分为恶意流量、普通流量和六大类加密流量,并按照分类结果进行标注,针对其中的普通流量,调用DPI工具和端口号,直接标注流量服务类型;/n(7)保存部分采集的数据作为已有数据,用于下时间点对深度学习模型的更新。/n...

【技术特征摘要】
1.一种基于时空特性相结合的深度学习流量分类方法,其特征在于,包括如下:
(1)采集并标注原始网络流量负载数据,得到经过标注的网络流量负载数据:
(1a)从纯净网络节点处采集网络流量负载数据,并将其按照加密流量,未加密流量和恶意访问流量这三类进行分类,其中加密流量按照互联网中六大类应用进行细分标注,即Email、Chat、File、P2P、Streaming、和VoIP;
(1b)将本次采集的网络流量负载数据、以往时间点数据与预先构建的数据库进行随机混合,得到经过标注的网络流量负载数据库;
(2)基于经过标注的网络流量负载数据库,生成预处理后的流量图集:
(2a)将连续的网络流量利用抓包工具切分,以产生pcap格式的数据包,并存储;
(2b)对数据包进行协议除杂,即删除数据包内能直接反映流量服务类型的TCP协议和DCP协议相关数据,此部分数据在恶意访问流量或加密流量中为干扰项,在深度学习模型中会干扰模型的信息提取;
(2c)对数据包进行物理信息除杂,即删除物理地址相关信息,以避免深度学习模型误认为物理地址为某种服务相关的识别特征从而产生误分类;
(2d)删除空白数据包和重复的数据包,以避免对深度学习训练产生干扰;
(2e)统一数据包流量长度为900字节,即对超过900字节的流量包进行截取,不足900字节的流量包用0x00进行补齐;
(2f)将统一长度后的数据包做可视化处理,即将每个流量包转换为30*30大小的流量图,并最终将所有处理过的数据包合并为一个流量图集;
(3)构建依次由第一卷积层、第一局部归一化层、第二卷积层、第二局部归一化层、全连接层、LSTM层和softmax层连接组成的深度学习模型;
(4)对深度学习模型进行训练:
(4a)设置训练循环次数R;
(4b)将混合后的流量图集依次输入到第一卷积层、第一局部归一化层、第二卷积层和第二局部归一化层,以学习流量的空间特性,并对异常值进行归一化处理;
(4c)将(4b)处理过的数据输入到全连接层中,转换为LSTM模型可以接收的数据形式;
(4d)将(4c)所得的数据输入到LSTM层中,以学习流量的时间特性;
(4e)将(4d)所得的数据输入到softmax层,直接输出分类结果,即给出原始网络流量负载数据的标签;
(4...

【专利技术属性】
技术研发人员:顾华玺魏雯婷薛智浩曾祎
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1