您好, 访客   登录/注册

网络协议分类在网络数据分析中的运用

来源:用户上传      作者:

  [摘要]介绍了基于网络数据的协议分类方法,论述了针对未加密/加密的已知协议、未加密/加密的未知协议四种不同识别对象的分类方法,指出了协议分类需要进一步研究的问题。
  [关键词]网络协议 分类 加密
  计算机网络在人们的日常生活和工作中的作用越来越大,与此同时网络的安全性也受到了冲击。网络通信时总会在网络协议中留下痕迹,通过研究网络协议的分类方法,可以更好的保证网络安全。
  1、网络协议分类的方法
  协议分类的方法从研究手段分可划为两类,即指令代码分析(基于指令代码的协议識别)和报文序列分析(基于网络数据的协议识别)。报文序列分析相比于指令代码分析通用性更强,它不关心报文所在协议层次,并且对终端依赖较小。在协议种类复杂的情况下,如果数据量足够大,它的分析速度优于指令代码分析方式。但是对于加密协议,由于已经破坏了其统计规律,通过报文序列分析的方式很难得到理想结果,而且这种方法对样本的要求较高,如果样本中某类格式的协议比较少,该类协议就容易被忽略。
  根据研究对象的不同,报文序列分析可分为四类:未加密已知协议分类、加密已知协议分类、未加密未知协议分类、加密未知协议分类。传统的协议分类方法大都以统计规律为基础,通过查找高频的特征,采用不同的算法来进行分类,包括基于端口的分类、基于特征字段的分类、基于流量特征的分类等。其他方法有基于隐马尔可夫模型、基于正则表达式的分类等,这些方法多通过提高查找频繁特征的准确性来提高分类的精度。
  2、网络数据分析中的协议分类
  2.1已知协议分类
  (1)未加密的已知协议分类
  目前针对该类协议的分类方法已经比较成熟,网络上有非常多的协议解析工具,如sniffer、Wireshark等。由于计算机发展初期协议都使用IANA(Internet Assigned Numbers Authority)中的固定端口,早期主要采用基于端口的协议识别方法对未加密的已知协议进行分析。随着计算机的普遍应用和各种应用程序的出现,新出现的协议开始采用动态端口来进行通信和数据传输,(动态端口也就是未被其它协议固定使用的端口,从1024到65535在传输时动态分配),或者采用端口复用技术,这就使得端口识别技术应用越来越受限。针对这种情况人们提出了基于特征字段匹配的协议识别方法,对于未加密的已知协议来说,这种方法大大提升了协议识别的准确率。
  (2)加密的已知协议分类。
  主要采用基于流量统计特征的方法对加密的已知协议进行分类。该方法利用包特征、间隔时间、报文长度等流特征,判断其是否为同一类协议。文献提出一种通过统计网络流量的时间间隔、双向的报文数、发报的活跃时间和空闲时间等特征进行分类的方法,该方法利用聚类算法将具有相似或相同特征的网络流量聚成一簇,最后使用深度包检测DPI和正则表达式匹配的识别结果来评估聚类效果。
  2.2未知协议分类
  (1)未加密的未知协议分类
  对于未加密未知协议分类的主要研究方法是利用数据挖掘查找出比特流的频繁序列,再据此进行比特流的分割,将长的比特流分割成多个协议数据包,然后再用聚类的方法对数据进行处理,找出关键特征,最后形成分类。文献提出一种频繁比特序列挖掘算法,该算法首先从大量的比特流数据中挖掘出频繁序列,然后通过设定频繁阈值来选出所需要的频繁序列。在协议的数据中,通常帧同步码和协议帧中的固定字段会出现在帧头部,从而可以反映出帧头部的分布情况,进而有效的去除载荷数据的影响。该方法对于短频繁序列的协议类型效果较好,但是不能很明确的确定帧的边界。频繁序列挖掘算法有很多,比较成熟的算法有AC算法和Wu-Manber算法等。频繁序列挖掘算法结合模糊串匹配,可以减少频繁序列的种类从而达到提高精度的效果。
  (2)加密的未知协议分类
  针对加密未知协议的分类,通常是结合对加密已知协议分析和未加密未知协议的分类方法综合使用。通过对流量特征的降维和聚类,找出区分协议的关键特征从而实现分类,但是效果不太理想。比较好的分析方法是采用指令序列进行分析。文献提出一种采用动态污点分析的方法来对未知加密协议进行分析,该方法通过跟踪记录程序执行过程中的指令轨迹,采用数据流分析构建指令级和函数级的污点传播流图,再根据解密过程中的特征来定位数据包解密后的明文,最后解析协议明文的格式,但分析的速度较慢。
  基于网络数据的协议分类通过提高查找频繁序列的准确性来提高精确率,但聚类本身结果难以控制和评价,而且加密的未知协议由于破坏了统计特性,用统计方法分析难度加大。研究如何在无监督的情况下更好的分类将会是协议逆向分析的一个重点,如何在未知加密协议中引入先验知识以降低分析的难度也将是下一步的研究方向。
  结束语:
  基于网络数据的协议分类是协议分析中格式推断和语义分析的基础,基本思想是发现协议的差异性特征,借此进行分类。文章简要介绍了基于网络数据的协议分类方法,根据协议分类对象的不同分为了四类进行论述,较为系统地整理了针对不同研究对象的研究方法,并且对其进行了分析。
转载注明来源:https://www.xzbu.com/2/view-14861254.htm