1.一种基于网络轨迹的安全协议格式的挖掘方法,其特征在于,包括:消息划分步骤和分隔符分离步骤,其中,消息划分步骤具体包括:
步骤S1:基于消息轨迹采用最长公共子序列的文本比较算法获得协议关键词元组,基于所述协议关键词元组,采用滑动窗口方法输出关键词分布数组,并基于关键词分布数组获得关键词一阶分布;
步骤S2:根据所述关键词分布数组和关键词一阶分布,判断是否存在极值,如果存在则执行步骤S3,否则执行步骤S4;
步骤S3:根据所述协议关键词元组、关键词分布数组、关键词一阶分布,采用预设关键词统计方法,合并相似关键词,然后将相似关键词输入基于余弦相似度方法中,计算所有协议消息的相似度,选择平均相似度最高的消息作为中心消息,采用中心消息的关键词将消息划分为子消息,输出子消息、关键词的概率及相对位置,并将输出作为步骤S1的输入,直到步骤S2中不存在极值;
分隔符分离步骤具体包括:
步骤S4:采用基于树的字符串比对方法,比较每个关键词的首尾,通过寻找最多遍历路径分离出分隔符。
2.如权利要求1所述的方法,其特征在于,输入的安全协议消息为
步骤S1.2:采用最长公共子序列的文本比较算法对m/2个分组进行比对,得到公共序列,以公共序列中的连续字符为关键词Key,计算Key到消息头部的绝对位置Location、Key与绝对位置与消息总长度的比值PLocation,并获得协议关键词元组,其中,关键词元组为五元组
步骤S1.3:根据关键词五元组
步骤S1.4:根据关键词分布数组D[i]和计算公式D[i+1]-D[i]=D1[i],获得一阶关键词分布D1[i]。
3.如权利要求2所述的方法,其特征在于,步骤S2具体包括:
步骤S2.1:将步骤S1获得的关键词分布数组和关键词一阶分布输入预设判别器,通过一阶分布和极值点判别方法寻找极值点;
步骤S2.2:判断极值点是否满足判别条件,如果不满足,判别器输出false且执行步骤S4,如果满足,判别器输出true,输出极值点分布M[i],并执行步骤S3,其中,M[i]表示相对位置i处存在的极值。
4.如权利要求3所述的方法,其特征在于,步骤S3具体包括:
步骤S3.1:输入关键词五元组
步骤S3.2:将关键词分布五元组输入到余弦相似度方法中,两两计算不同消息的相似度,并选择平均相似度最大的消息作为中心消息并输出,然后采用中心消息所包含的关键词对所有消息进行划分,输出子消息,子消息的格式为
5.如权利要求1所述的方法,其特征在于,步骤S4具体包括:
步骤S4.1:分别从输入的关键词中抽取出关键字前缀和关键字后缀;
步骤S4.2:将抽取出的关键字前缀和关键字后缀输入基于树的字符串比对方法进行两两对比,将路径权值最大的字符串作为输出,将其作为分隔符。
6.如权利要求4所述的方法,其特征在于,步骤S3.2具体包括:
S3.2.1:输入消息message,关键词集Key以及Key对应的频率KRate;
S3.2.2:对于每一条message对应的四元组,在对应的四元组中搜索关键词集Key中的每一个关键词,对一条消息的每个Key输出四元组
S3.2.3:对四元组
S3.2.4:根据式(1)计算权重IDF,根据式(2)计算词w的权重weight(w);
Weight(w)=TF*IDF (式2)
S3.2.5:对每条消息,对消息中包的关键词,采用余弦相似度方法,两两计算余弦相似度,然后求出平均余弦相似度,并找出平均余弦相似度最高的消息,并作为中心消息,其中,S和T的相似度的计算公式如式3所示:其中,S和T表示两条消息的关键词w数组,Wi表示权重Weight。
7.一种基于网络轨迹的安全协议格式的挖掘装置,其特征在于,包括:消息划分模块和分隔符分离模块,其中,消息划分模块具体用于执行步骤S1~步骤S3,
步骤S1:基于消息轨迹采用最长公共子序列的文本比较算法获得协议关键词元组,基于所述协议关键词元组,采用滑动窗口方法输出关键词分布数组,并基于关键词分布数组获得关键词一阶分布;
步骤S2:根据所述关键词分布数组和关键词一阶分布,判断是否存在极值,如果存在则执行步骤S3,否则执行步骤S4;
步骤S3:根据所述协议关键词元组、关键词分布数组、关键词一阶分布,采用关键词统计方法,合并相似关键词,然后将相似关键词输入基于余弦相似度方法中,计算所有协议消息的相似度,选择平均相似度最高的消息作为中心消息,采用中心消息的关键词将消息划分为子消息,输出子消息、关键词的概率及相对位置,并将输出作为步骤S1的输入,直到步骤S2中不存在极值;
分隔符分离模块具体用于执行步骤S4,
步骤S4:采用基于树的字符串比对方法,比较每个关键词的首尾,通过寻找最多遍历路径分离出分隔符。
8.如权利要求7所述的装置,其特征在于,输入的安全协议消息为
步骤S1.2:采用最长公共子序列的文本比较算法对m/2个分组进行比对,得到公共序列,以公共序列中的连续字符为关键词Key,计算Key到消息头部的绝对位置Location、Key与绝对位置与消息总长度的比值PLocation,并获得协议关键词元组,其中,关键词元组为五元组
步骤S1.3:根据关键词五元组
步骤S1.4:根据关键词分布数组D[i]和计算公式D[i+1]-D[i]=D1[i],获得一阶关键词分布D1[i]。
9.如权利要求8所述的装置,其特征在于,消息划分模块还用于执行步骤S2.1~S2.2,步骤S2.1:将步骤S1获得的关键词分布数组和关键词一阶分布输入预设判别器,通过一阶分布和极值点判别方法寻找极值点;
步骤S2.2:判断极值点是否满足判别条件,如果不满足,判别器输出false且执行步骤S4,如果满足,判别器输出true,输出极值点分布M[i],并执行步骤S3,其中,M[i]表示相对位置i处存在的极值。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1至6中任一项权利要求所述的方法。