[发明专利]一种基于深度自编码器的未知网络流量识别方法及系统有效
申请号: | 201911321413.9 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111144470B | 公开(公告)日: | 2022-12-16 |
发明(设计)人: | 张永铮;赵树园;桑亚飞;常鹏 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;H04L47/2483;H04L47/2441 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 安丽 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 编码器 未知 网络流量 识别 方法 系统 | ||
1.一种基于深度自编码器的未知网络流量识别方法,其特征在于,包括以下步骤:
步骤1,特征提取:输入网络中现有方法无法识别的数据包,首先采用N元模型n-gram嵌入方法对输入的每个数据包中负载的前m个字节进行切割,得到m-n+1个长度为n个字节的载荷字符串,通过设置n-gram模型中参数n,构建不同长度的载荷字符串,得到同一数据包的多个维度的特征集合,然后使用m-n+1个载荷字符串构建数据包特征集,最后将数据包特征集的载荷字符串嵌入(embedding)到数值向量空间,完成载荷字符串数据到数值型数据转换,将n-gram模型每个参数n的m-n+1个特征向量拼接,构建不同维度的数据包特征向量;
步骤2,特征构建:基于步骤1得到的不同维度的数据包特征向量,实现数据包特征向量的降维和关键特征提取,采用深度自编码器算法训练数据包特征向量,生成基于深度自编码器算法的数据包特征向量的降维和关键特征提取模型,使用该模型实现对于不同维度特征向量的无监督特征提取,得到数据包不同维度特征向量,然后将得到的数据包不同维度特征向量进行拼接,得到优化的网络数据包特征向量;
步骤3,未知流量识别:根据步骤2得到的优化的网络数据包特征向量,基于k-means算法对未知网络流量进行聚类分析,构建未知网络流量识别模型,并采用该模型对实时的网络流量进行监测,当训练数据中的未知流量在实时的网络中再次出现时,该模型对实时网络中的未知流量进行识别,最终得到未知流量识别结果。
2.根据权利要求1所述的基于深度自编码器的未知网络流量识别方法,其特征在于,所述步骤1特征构建,具体步骤为:
(11)以网络中数据包为最小单元,提取数据包中前m个字节的负载信息作为原始数据;
(12)使用n-gram嵌入方法对输入的每个数据包中负载的前m个字节进行切割,设置n-gram模型的参数n∈{1,2};
(13)针对每个参数n,为每个数据包构造m-n+1个特征字符串;
(14)针对每个参数n构造的m-n+1个特征字符串,通过自然语言处理中字典查找的方法将特征向量化,得到特征字符串的特征向量;
(15)将n-gram模型每个参数n的m-n+1个特征向量拼接,构建不同维度的数据包特征向量。
3.根据权利要求1所述的基于深度自编码器的未知网络流量识别方法,其特征在于,所述步骤2特征提取,具体步骤为:
(21)以特征向量为输入数据,基于自动编码器算法,训练一个自动编码器,以x表示自编码器输入,r表示自编码器输出,自编码器通过内部表示或编码,将输入x映射到r,自编码器有一个隐藏层h、一个由函数h=f(x)表示的编码器f,和一个由函数r=g(h)表示的解码器g组成,编码器f将输入x映射到h,解码器g将h映射到r;
(22)保存步骤(1)训练获得的自动编码器的隐藏层h数据,以该数据作为输入,迭代训练下一个自动编码器;
(23)重复步骤(2),以第T个自动编码器的隐藏层数据hT训练T+1个自动编码器,得到多个自动编码器;
(24)最后训练获得一个隐藏层单元数为2的自动编码器;
(25)在获得一个隐藏层单元数为2的自动编码之后,将所有自动编码器的编码层f按照训练顺序串联,将隐藏层单元数为2的自动编码器放在最后,并按照逆向训练顺序连接解码层,形成一个深度自动编码器;
(26)最后放弃连接的解码层部分,使用连接的编码层作为在原始特征空间和目的特征空间之间的映射,提取每个数据包基于不同参数n的特征向量;
(27)将提取到的基于不同参数n的特征向量拼接,得到优化的网络数据包特征向量。
4.一种基于深度自编码器的未知网络流量识别系统,其特征在于:包括特征构建模块、特征提取模块以及未知流量聚类模块;
特征构建模块:以网络中现有方法无法识别的数据包作为原始输入,使用n-gram嵌入方法对输入的每个数据包中负载的前m个字节进行切割,得到m-n+1个长度为n个字节的载荷字符串,通过设置n-gram模型中参数n,构建不同长度的载荷字符串,得到同一数据包的多个维度的特征集合,然后使用m-n+1个载荷字符串构建数据包特征集,最后将数据包特征集的载荷字符串嵌入(embedding)到数值向量空间,完成载荷字符串数据到数值型数据转换,将n-gram模型每个参数n的m-n+1个特征向量拼接,构建不同维度的数据包特征向量;
特征提取模块:以特征构建模块构建的不同维度的数据包特征向量作为输入,采用深度自编码器算法训练数据包特征向量,生成基于深度自编码器算法的数据包特征向量的降维和关键特征提取模型,使用该模型实现对于不同维度特征向量的无监督特征提取,得到数据包不同维度特征向量,然后将得到的数据包不同维度特征向量进行拼接,得到优化的网络数据包特征向量;
未知流量识别模块:以特征提取模块获得的优化的网络数据包特征向量作为输入,基于k-means算法,构建流量聚类模型,并采用该模型对实时的网络流量进行监测,当训练数据中的未知流量在实时的网络中再次出现时,该模型对实时网络中的未知流量进行识别,最终得到未知流量识别结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911321413.9/1.html,转载请声明来源钻瓜专利网。