论文部分内容阅读
深度学习做为人工智能领域的一种方法,由于其端到端的网络化结构,可以自动化的进行特征提取步骤,从而避免专家经验参考,人工设计特征的步骤,并且让训练的模型具有很强的泛化能力,近年来被尝试应用在加密流量识别算法研究中。因为相关的工作在业界还在发展阶段,所以存在着一些问题;(1)加密流量相关的公开纯净数据集比较少,并且因为捕获的流量本身没有原始应用标签,无法直接抓取流量进行实验;(2)如何选择合理的方式将加密流量数据转化为深度学习模型输入业界没有统一的标准,并且截取流量的字节长度与数据包个数等相关研究较少;(3)深度学习的发展带来了多样化的模型,如何选取合适的网络结构与模型进行加密流量识别;(4)因为网络流量数据的天然不平衡性,在模型的收敛与训练过程中需要选择合适的目标函数与超参等。本文针对加密流量识别领域中的上述问题进行了详细的研究,建立了从纯净数据自动收集打标到体系化的深度学习加密流量识别建模,以及后续模型优化的整体流程。本文主要研究内容与工作如下:就纯净流量数据集较少问题,本文基于ADB系统脚本化操控安卓手机设计了自动收集纯净流量的系统N-CD。实现了安卓系统自动产生所需应用的加密流量的功能;根据本机应用产生的流量与进程的端口号一一对应的映射关系,成功获取到有应用背景信息的流量数据,让N-CD实现了零错误,零漏包的固定端口加密流量数据收集与提纯。为以后的加密流量研究提供了便利。对卷积神经网络在加密流量识别领域方面进行了更深的研究,在基于加密流量统计的特征的机器学习识别方法中,人工设计的特征不仅对专业的知识要求很高,并且过滤了一些信息特征,从而可能失去全局最优解,所以近年来研究者们通过端到端的深度学习神经网络对加密流量进行分析。因为该种深度模型结构可以将特征提取,选择,组合,分类的过程一体化,从而不过滤样本的特征信息,所以更有可能设计出达到全局最优解的识别模型。本文设计了符合加密流量数据结构特征的卷积网络,增加了Iception和Caps Net的网络层结构,提高了模型的多维特征提取能力和强大的特征位置捕捉学习能力,对比基础的CNN模型识别的加密流量准确率提高了5%。同时为了改善网络流量样本不均衡问题带来的负面影响,对模型的梯度优化方式与目标函数进行了多次实验与设计。本文的实验结果在准确率,识别率方面与了相关文献的在几个数据集上的结果不相上下,但是其模型的泛化能力与便捷性更胜一筹。因为加密流量的通讯交互过程与人类自然语言领域的对话的高度相似,本文基于Elmo+LSTM+Self-Attention对加密流量进行研究,为了更好的利用网络流量在通讯时数据包间的时间序列特征信息,本文使用了时序神经网络LSTM来对加密流量进行识别,考虑到加密套件的多样性与数据包间的时序特征的相对位置关系,增加了ELmo和Self-Attention的网络层结构,该网络模型可以充分的学习流量的交互协议特征与时序信息特征,在公开数据集上的识别结果超过了大多数需要手工设计特征的机器学习方法,其良好的实验结果证明了时序神经网络在加密流量识别领域的可行性。在卷积网络与时序网络在加密流量识别都取得了很好效果的基础上,本文使用卷积与时序的组合神经网络对加密流量识别进行研究,模型左侧通过卷积网络学习加密流量的内容结构特征,模型右侧通过通过时序网络学习加密流量的时序通信特征,然后将两种特征组合进行识别。并根据实验结果研究了网络流截取长度,数据包截取个数,流量划分形式等参数对识别结果的影响,选取了最优的组合形式,并且其识别效果对于单纯的卷积或时序有3%的准确率提升,超过了之前所有的机器学习方法,并且证明了模型结构的优化可以提高识别效果,规范了深度学习识别加密流量的流程。