The invention proposes an application layer protocol identification method based on two-dimensional convolutional neural network, which includes the following steps: data preprocessing, construction of classification model, application layer protocol identification of unknown network flow. The method extracts network flow from captured original network data, transforms network flow into input of two-dimensional convolution neural network, and automatically extracts features from two-dimensional convolution neural network in training process as the basis of protocol recognition. Finally, the trained convolutional neural network classification model is used to identify network protocols. The invention can avoid the difficulty of manual feature extraction in the application layer protocol recognition field and effectively improve the accuracy of the application layer protocol recognition result.
【技术实现步骤摘要】
一种基于二维卷积神经网络的应用层协议识别方法
本专利技术涉及网络
,尤其是一种基于二维卷积神经网络的应用层协议识别方法,该方法以网络数据流为分析对象,将网络数据流映射成二维特征矩阵输入二维卷积神经网络,通过卷积神经网络自动化提取出合适的特征用于识别网络流所对应的应用层协议,在训练好卷积神经网络之后,通过卷积神经网络对应用层协议归属信息未知的网络流量进行协议识别。
技术介绍
应用层协议识别是指通过人工分析或自动化手段从IP协议承载的网络流量中提取出能够标识网络应用层协议的关键特征,然后以这些特征为基础准确标识网络流量所隶属的应用层协议。应用层协议识别技术有助于对网络流量的组成进行分析,能够为网络管理与维护、网络内容审计、网络安全防御等多个研究领域提供数据支撑。根据对人力的依赖程度,应用层协议识别可以分为人工分析和自动分析两类。人工分析方法依靠研究人员的领域经验或先验知识获取协议特征信息,进而对网络流量进行协议识别。而自动分析方法则基于模式识别、机器学习等理论从网络流量中自动化提取协议特征,并以此特征作为协议识别的根据,减少了人工开销。根据研究方法的不同,目前应用层协议自动识别方法主要包括基于预设规则的协议识别方法、基于载荷特征的协议识别方法、基于主机行为的协议识别方法以及基于机器学习的协议识别方法四种。基于预设规则的协议识别方法中最典型的方法是利用端口进行协议识别。但是随着网络应用的快速发展,很多应用都向用户提供了自定义端口的功能,用户可以根据自己的喜好设置网络应用所使用的端口,这使得基于传统的IANA的端口分配规则越来越难准确识别流量类型。比如,不能 ...
【技术保护点】
1.一种基于二维卷积神经网络的应用层协议识别方法,其特征在于,包括顺序执行的步骤(1)至(3):(1)数据预处理,包括步骤:(1‑1)将捕获的原始网络流进行流重组,将捕获的每一条原始网络流中捕获的数据包重新整合为有序流;(1‑2)对重组得到的每一条网络流进行流切分,截取出每条网络流前部的一段固定长度的数据作为该条网络流协议识别的依据;(1‑3)对每一条网络流进行归一化处理:为每一条网络流构造一个长度与相应截取数据的长度相同的向量x,将截取数据中每个字节对应的十进制数值依次赋给向量中的各个分量,将向量x中每个分量的数值除以256,使分量的取值统一到区间[0,1)内;然后,将向量x中的所有分量按排序等分为若干组,建立二维特征矩阵,以每一组为对应矩阵中的一行的规律将向量x中的所有分组依次填充到二维特征矩阵中;(1‑4)为每一条原始网络流添加应用层协议类型标签;(2)搭建二维卷积神经网络,二维卷积神经网络输入层的数据格式与步骤(1)中二维特征矩阵的格式一致;将步骤(1)中得到的各条网络流的二维特征矩阵和相应的应用层协议类型标签作为训练数据,对二维卷积神经网络进行训练,训练过程中根据二维卷积神经 ...
【技术特征摘要】
1.一种基于二维卷积神经网络的应用层协议识别方法,其特征在于,包括顺序执行的步骤(1)至(3):(1)数据预处理,包括步骤:(1-1)将捕获的原始网络流进行流重组,将捕获的每一条原始网络流中捕获的数据包重新整合为有序流;(1-2)对重组得到的每一条网络流进行流切分,截取出每条网络流前部的一段固定长度的数据作为该条网络流协议识别的依据;(1-3)对每一条网络流进行归一化处理:为每一条网络流构造一个长度与相应截取数据的长度相同的向量x,将截取数据中每个字节对应的十进制数值依次赋给向量中的各个分量,将向量x中每个分量的数值除以256,使分量的取值统一到区间[0,1)内;然后,将向量x中的所有分量按排序等分为若干组,建立二维特征矩阵,以每一组为对应矩阵中的一行的规律将向量x中的所有分组依次填充到二维特征矩阵中;(1-4)为每一条原始网络流添加应用层协议类型标签;(2)搭建二维卷积神经网络,二维卷积神经网络输入层的数据格式与步骤(1)中二维特征矩阵的格式一致;将步骤(1)中得到的各条网络流的二维特征矩阵和相应的应用层协议类型标签作为训练数据,对二维卷积神经网络进行训练,训练过程中根据二维卷积神经网络输出的预测值与真实的应用层协议标签之间的差异,调整卷积神经网络中的各项参数,迭代训练二维卷积神经网络,直至满足预设的停止条件;(3)捕获应用层信息未知的网络流,对捕获的网络流依次进行流重组、流切分、归一化处理,得到应用层信息未知的网络流的二维特征矩阵,将二维特征矩阵输入训练好的二维卷积神经网络,计算得到网络流的应用层协...
【专利技术属性】
技术研发人员:洪征,冯文博,李毅豪,付梦琳,周振吉,李华波,赵鹏,
申请(专利权)人:中国人民解放军陆军工程大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。