论文部分内容阅读
随着互联网的发展,出于各种安全、经济利益、隐私等因素的考虑,大量网络应用采用未明协议(也被称为私有协议、未知协议)。这些协议没有公开的协议规范用来识别协议报文,它的存在造成了较大安全隐患,不利于网络安全监管。例如大量恶意软件在进行通信进而控制计算机时所采用的是未明协议,由于没有公开协议规范,不能对恶意流量进行有效拦截,以至于造成网络的大面积瘫痪及失泄密现象。在类似安全事件中,未明流量的准确识别分类是处理恶意流量拦截等网络安全监管和控制问题的重要手段,而获取未明流量特征是准确识别未明协议报文的关键。因此,挖掘未明流量特征,进而分类识别未明流量,是网络监管中一项重要任务。在实际网络中,采集到的数据是多种类型混合的报文数据集,由于受到接收条件的限制,接收到的数据常常是无序、离散的,不具有构成会话的报文间约束关系。另外,需要处理分析的报文数据规模常常是巨大的。针对实际网络数据的特性和对其准确快速识别的要求,本文通过提取报文载荷格式特征,来实现以报文为颗粒度的混合未明报文分类。论文的主要研究内容如下:1.针对聚类特征矢量构造及相关聚类问题,提出了基于熵估计的未明流量自动分离算法(An Unknown Traffic Separation Method Based on Entropy Estimation,EMEE)。该算法利用字节熵矢量变化程度,度量各偏移位置上固定关键词字节存在的可能性,初步估计固定位置关键词所覆盖区域,克服了依据人工经验设定载荷截取长度的弊端,采用两级聚类的方式对有效载荷进行聚类,提高了聚类效果并使得聚类簇数更加接近于真实种类数目。采用DARPA数据集和校园网采集的网络数据进行验证,实验结果表明EMEE算法能有效降低数据字段对未明流量分离的干扰并使得聚类得到的簇数接近于真实种类数目,对18种类型组成的混合报文集分离,各类报文的漏报率和误报率均低于2%,优于传统算法。2.针对报文关键词序列提取的问题,提出了基于字节链路的关键词序列提取迭代算法(An Iterative Algorithm for Keyword Sequence Extraction Based on Byte Link,BLIS)。该算法通过以链路作为基本单元完成报文建模,有效地降低关键词和数据字段的混淆程度;面向固定位置关键词挖掘,通过链路熵矢量估计有效挖掘空间,然后在该空间内得到带位置信息的频繁链路集,以较强约束从频繁链路所构造的字段中选出固定位置关键词;面向可变位置关键词,通过获取频繁链路方法搜索备选关键词位置,对齐可变位置关键词,迭代地完成后续可变位置关键词的挖掘。利用DARPA数据集和校园网采集的网络数据进行评估,实验结果表明,和传统方法提取到的特征相比,该方法提取到的特征形式和性能更具优势。3.设计了基于Hadoop平台的未明流量关键词提取系统,设计并实现了并行的频繁模式挖掘(改进的Apriori和FP-Growth)算法。具体工作包括:1)改进的Apriori和FP-Growth并行化算法设计;2)并行Apriori算法根据软件设计图进行了代码实现,而并行FP-Growth借助Mahout进行了实现;3)性能测试。在Hadoop分布式平台上的测试结果表明,相比较于串性算法,并行化处理随数据规模的增长更为缓慢,处理海量报文时,并行算法的运算效率较高。