未知二进制私有协议的报文序列聚类方法技术

技术编号:21484866 阅读:32 留言:0更新日期:2019-06-29 06:33
本发明专利技术公开了一种未知二进制私有协议的报文序列聚类方法,主要解决现有技术在协议逆向过程中无法准确衡量协议报文序列之间相似性的问题。其实现方案为:1)采集未知二进制私有协议报文序列;2)对采集的报文序列进行预处理;3)提取预处理报文序列的多尺度N‑gram特征;4)基于方差选择对多尺度N‑gram特征进行降维;5)根据降维后的多尺度N‑gram特征对报文序列做嵌入表示;6)根据报文序列嵌入表示确定最佳聚类个数K;7)根据最佳聚类个数K对报文序列聚类。本发明专利技术充分挖掘了消息报文序列的潜在语义信息,能准确衡量报文序列之间的相似性,提高了聚类的准确度,可用于对未知二进制私有协议的聚类。

【技术实现步骤摘要】
未知二进制私有协议的报文序列聚类方法
本专利技术属于信息
,更进一步一种报文序列聚类方法,可用于对未知二进制私有协议的聚类。
技术介绍
网络协议是网络中实体进行通信的规范,明确规定了通信实体间相互交换信息时的数据格式及有关的同步问题。网络中除了标准化的通信协议外,还存在着大量的未知私有协议。报文序列聚类是协议逆向过程中的首要工作,即最大程度的将各个类型的私有协议报文序列根据消息序列之间的相似性将报文分离出来,然后进行字段格式推断和状态机推断。私有协议的报文序列聚类,即网络协议识别的核心问题就是如何准确衡量报文序列之间的相似性。目前未知私有协议的报文序列聚类算法大致可以被分为三类,分别为基于编辑距离的序列聚类算法、基于关键词的序列聚类算法和基于概率模型的序列聚类算法。编辑距离通过将一个字符串变成另一个字符串所需要的最少的操作次数来衡量序列之间的相似性,其中的操作包括插入、删除和替换一个字符。编辑距离算法和Needleman-Wunsch算法中寻找最长公共子序列的思想类似,都是从文本匹配的角度出发,忽略了序列之间的局部特征,而在协议聚类中这些局部特征往往可能是衡量序列之间相似性的关键,即协议关键字。在基于概率模型的序列聚类算法中,往往建模比较困难,而且仅在长序列聚类计算中非常有效。基于关键词的序列聚类算法,比较经典的就是Apriori算法,该算法存在的问题是会出现大量的重叠频繁项,使表示消息报文序列的特征向量维度非常大。2013年王一鹏等人开创性的将自然语言处理中N-gram和狄利克雷分布LDA模型引入协议序列聚类中,使用齐夫定律zipf先确定N的最佳值,然后使用LDA进行建模。该方法由于忽略了协议报文序列的关键词长度,而且在做报文嵌入表示的时候没有考虑词语前后的语义关联特征,导致不能准确衡量报文序列之间的相似性,聚类效果差。
技术实现思路
本专利技术的目的在于针对上述已有技术的不足,提出一种未知二进制私有协议的报文序列聚类方法,使得在私有协议特征提取的过程中充分挖掘消息报文中潜在的语义信息,提高聚类的准确度。本专利技术的技术方案是:利用N-gram语言模型对消息报文序列进行建模,在不固定N值的条件下进行多尺度N-gram特征提取,利用word2vec模型训练消息报文序列词向量嵌入表示,其实现步骤包括如下:(1)利用数据采集方法,采集未知二进制私有协议报文序列;(2)对采集的未知二进制私有协议报文序列进行预处理:(2a)通过网络包解析技术剥掉未知二进制私有协议报文序列的链路层和传输层数据,得到应用层二进制私有协议报文序列数据;(2b)按照进制转换规则,将应用层二进制报文序列数据转换为十六进制报文序列数据;(2c)对十六进制报文序列数据进行标注,生成样本数据集;(3)提取样本数据集的多尺度N-gram特征:(3a)确定N值可取的最小值和最大值范围;(3b)取范围内的N值,以N-gram模型对样本数据集进行切割,得到分割之后的消息报文序列词向量,作为样本数据集的多尺度N-gram特征;(4)基于方差选择对多尺度N-gram特征进行降维:(4a)根据消息报文序列词向量,利用独热编码对消息报文序列进行One-Hot编码,得到消息报文序列编码之后的特征向量空间模型;(4b)根据特征向量空间模型计算每个特征向量的方差分布;(4c)根据每个特征向量的方差分布对提取的多尺度N-gram特征进行降维,即选择方差较大的特征向量作为样本数据集的特征向量词汇表;(5)根据特征向量词汇表对消息报文序列做嵌入表示:(5a)利用特征向量词汇表对消息报文序列的词向量进行筛选,只留下特征向量词汇表中的词向量作为消息报文序列的词向量特征;(5b)将样本训练集的词向量特征作为输入,利用word2vec模型进行训练,得到浅层神经网络隐层的权重矩阵作为词汇的嵌入向量字典wv;(5c)对每条消息报文序列中的词汇w找到该词汇在嵌入向量字典wv中的嵌入向量表示wv[w],并进行相加求平均,得到每条消息报文序列的嵌入向量表示Ev;(5d)将每条消息报文序列的嵌入向量Ev归一化为单位向量,得到消息报文序列的嵌入向量矩阵XEv;(6)利用MeanShift概率密度估计方法对消息报文序列的嵌入向量矩阵XEv进行模点搜索,得到消息报文序列的最佳聚类个数K;(7)对消息报文序列进行聚类:(7a)将消息报文序列的嵌入向量矩阵作为输入,利用K-Means聚类方法把消息报文序列划分到K个集合中;(7b)分别将划分到每个集合中的消息报文序列数据进行存储。本专利技术与现有技术相比,具有以下优点:第一,本专利技术在不固定N值的条件下进行多尺度N-gram特征提取,克服了消息报文序列关键词长度不等的嵌入表示问题。第二,本专利技术以word2vec模型对词汇表进行嵌入表示,在确定关键词的权重问题上结合了前后词语的语义关联特征,使得本专利技术可以充分挖掘消息报文中潜在的语义信息,进而提高聚类的准确度。附图说明图1是本专利技术的实现流程图。具体实施方式下面结合附图1对本专利技术的具体步骤做进一步描述。步骤1,利用数据采集方法,采集未知二进制私有协议报文序列。(1a)将服务器采集设备的网卡模式设置为混杂模式,使其可以监听无线通信数据,再打开通信实体A和通信实体B双方,建立通信连接;(1b)利用wireshark软件截获通信实体A和B之间的报文序列通信数据,并保存为pcap格式文件,得到未知二进制私有协议报文序列,该报文序列包括链路层数据、传输层数据和应用层数据。步骤2,对采集的未知二进制私有协议报文序列进行预处理。(2a)根据网络数据包的结构对截获的未知二进制私有协议报文序列进行解析,即剥掉报文序列中包含的链路层数据和传输层数据,得到报文序列的应用层数据,该应用层数据为二进制格式;(2b)根据进制间的转换规则,如二进制1111对应十六进制为F,将应用层二进制报文序列数据转换为十六进制报文序列数据。(2c)对十六进制报文序列数据进行标注,生成样本数据集。步骤3,提取样本数据集的多尺度N-gram特征。N-gram模型是一种基于字符串统计的自然语言处理模型,该模型基于的假设是第n个词的出现只与前面n-1个词相关,而与其他任何词都不相关。整个序列出现的概率等于各个词出现的概率乘积,假设序列T是由词序列ω1,ω2,...,ωn组成,则序列T出现的概率为:P(T)=p(ω1)×p(ω2)×...×p(ωn)=p(ω1)×p(ω2|ω1)×...×p(ωn|ω1ω2ω3...),其中P(T)为序列T出现的概率,P(ωi)为词ωi出现的概率。在N-gram模型中N值的选取非常重要,N越大越能保证切分数据的完整性,但是会降低有效性,N过小则有可能导致分词过程中无法包含完整的词法信息。因此可以将固定的N值扩展为可取多个值的范围值。本步骤提取样本数据集的多尺度N-gram特征具体实现如下:(3a)确定N值可取的最小值和最大值范围,一般设置为2~5。(3b)取范围内的N值,分别以N-gram模型对样本数据集进行分割,得到分割之后的消息报文序列词向量,比如N取2时,对于消息报文序列“020a”,可以得到分割之后的词向量为“02200a”;(3c)对不同N值条件下得到的词向量进行组合,得到分割之后的消息报文序列词向量,作为样本数据本文档来自技高网
...

【技术保护点】
1.一种未知二进制私有协议的报文序列聚类方法,其特征在于,包括如下:(1)利用数据采集方法,采集未知二进制私有协议报文序列;(2)对采集的未知二进制私有协议报文序列进行预处理:(2a)通过网络包解析技术剥掉未知二进制私有协议报文序列的链路层和传输层数据,得到应用层二进制私有协议报文序列数据;(2b)按照进制转换规则,将应用层二进制报文序列数据转换为十六进制报文序列数据;(2c)对十六进制报文序列数据进行标注,生成样本数据集;(3)提取样本数据集的多尺度N‑gram特征:(3a)确定N值可取的最小值和最大值范围;(3b)取范围内的N值,以N‑gram模型对样本数据集进行分割,得到分割之后的消息报文序列词向量,作为样本数据集的多尺度N‑gram特征;(4)基于方差选择对多尺度N‑gram特征进行降维:(4a)根据消息报文序列词向量,利用独热编码对消息报文序列进行One‑Hot编码,得到消息报文序列编码之后的特征向量空间模型;(4b)根据特征向量空间模型计算每个特征向量的方差分布;(4c)根据每个特征向量的方差分布对提取的多尺度N‑gram特征进行降维,即选择方差较大的特征向量作为样本数据集的特征向量词汇表;(5)根据特征向量词汇表对消息报文序列做嵌入表示:(5a)利用特征向量词汇表对消息报文序列的词向量进行筛选,只留下特征向量词汇表中的词向量作为消息报文序列的词向量特征;(5b)将样本训练集的词向量特征作为输入,利用word2vec模型进行训练,得到浅层神经网络隐层的权重矩阵作为词汇的嵌入向量字典wv;(5c)对每条消息报文序列中的词汇w找到该词汇在嵌入向量字典wv中的嵌入向量表示wv[w],并进行相加求平均,得到每条消息报文序列的嵌入向量表示Ev;(5d)将每条消息报文序列的嵌入向量Ev归一化为单位向量,得到消息报文序列的嵌入向量矩阵...

【技术特征摘要】
1.一种未知二进制私有协议的报文序列聚类方法,其特征在于,包括如下:(1)利用数据采集方法,采集未知二进制私有协议报文序列;(2)对采集的未知二进制私有协议报文序列进行预处理:(2a)通过网络包解析技术剥掉未知二进制私有协议报文序列的链路层和传输层数据,得到应用层二进制私有协议报文序列数据;(2b)按照进制转换规则,将应用层二进制报文序列数据转换为十六进制报文序列数据;(2c)对十六进制报文序列数据进行标注,生成样本数据集;(3)提取样本数据集的多尺度N-gram特征:(3a)确定N值可取的最小值和最大值范围;(3b)取范围内的N值,以N-gram模型对样本数据集进行分割,得到分割之后的消息报文序列词向量,作为样本数据集的多尺度N-gram特征;(4)基于方差选择对多尺度N-gram特征进行降维:(4a)根据消息报文序列词向量,利用独热编码对消息报文序列进行One-Hot编码,得到消息报文序列编码之后的特征向量空间模型;(4b)根据特征向量空间模型计算每个特征向量的方差分布;(4c)根据每个特征向量的方差分布对提取的多尺度N-gram特征进行降维,即选择方差较大的特征向量作为样本数据集的特征向量词汇表;(5)根据特征向量词汇表对消息报文序列做嵌入表示:(5a)利用特征向量词汇表对消息报文序列的词向量进行筛选,只留下特征向量词汇表中的词向量作为消息报文序列的词向量特征;(5b)将样本训练集的词向量特征作为输入,利用word2vec模型进行训练,得到浅层神经网络隐层的权重矩阵作为词汇的嵌入向量字典wv;(5c)对每条消息报文序列中的词汇w找到该词汇在嵌入向量字典wv中的嵌入向量表示wv[w],并进行相加求平均,得到每条消息报文序列的嵌入向量表示Ev;(5d)将每条消息报文序列的嵌入向量Ev归一化为单位向量,得到消息报文序列的嵌入向量矩阵(6)利用MeanShift概率密度估计方法对消息报文序列的嵌入向量矩阵进行模点搜索,得到消息报文序列的最佳聚类个数K;(7)对消息报文序列进行聚类:(7a)将消息报文序列的嵌入向量矩阵作为输入,利用K-Means聚类方法把消息报文序列划分到K个集合中;(7b)分别将划分到每个集...

【专利技术属性】
技术研发人员:杨超吴继超
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1