网络协议分析方法


目录
  • 协议分析分类
  • 协议分析方法
    • 基于规则匹配的网络协议分析与数据处理方法
    • 基于基函数的网络协议分析方法
    • 基于反汇编的私有协议的分析方法:
    • 基于数据清洗和协议字段特征提取方法:

协议分析分类

现有协议分析按类型可以分为标准协议分析、私有协议分析和未知协议分析。标准协议为国际或国家标准化组织采纳或批准的;私有协议也称非标准协议,本质上是未经国际或国家标准化组织采纳或批准的,厂商内部发展和采用的标准,除非授权,其他厂商一般无权使用该协议;未知协议由未公开协议文档的未知应用层协议生成,不能使用传统的协议识别工具识别分析。

协议分析方法

基于规则匹配的网络协议分析与数据处理方法

大致包含:
1)捕获网络中的数据包;
2)将所捕获的数据包的指纹与目的指纹相比较;
3)判断通过指纹比对后的数据包是否为完整数据包;
4)对完整数据包进行数据挖掘,生成新的关联规则;
5)根据从规则库解析出来的协议,利用协议的特征对数据包进行协议分析;
6)管理服务器根据信息日志,对警告信号进行实时响应;同时,判断是否将新生成的关联规则保存到规则库中。

基于基函数的网络协议分析方法

大致包含:
1)建立基函数库和已知结构协议的基函数模式组合方式库;
2)当接收到目标网络发过来的数据,利用该数据和已有的基函数模式组合方式表征该目标网络对应的目标协议的结构;
3)根据目标协议的结构进行判断:
如果该数据为已知结构的协议数据,采用分层的方法对该目标协议进行分析;
如果该数据为未知结构的协议数据,利用已有基函数或新的基函数生成该目标协议对应的基函数模式组合方式。
该方式可以解决协议快速识别、精确分析处理的问题。

基于反汇编的私有协议的分析方法:

大致包含:
步骤一:先将采用私有协议进行通信的客户端软件进行脱壳处理,得到脱壳后的原始程序;再对原始程序进行反汇编,得到该原始程序的汇编代码;然后对其汇编代码中的关键函数进行动态调试,从而得到该私有协议的报文类型的字段长度和构造特征;
其中关键函数包括:
1.报文数据包的构造函数;
2.发送和接收报文数据包的函数;
3.加密和解密函数;
步骤二:抓取该私有协议的网络流数据,并按协议交互的不同阶段进行报文数据包分类,然后分别解析出每类报文数据包的字段结构;
步骤三:对交互过程中的协议特征进行提取和归纳;其中:协议特征包括交互过程信息和报文数据包的字段结构特征;
步骤四:利用步骤三中所得到的协议特征,设置协议识别的匹配表达式,对网络中获取到的流量进行识别。

基于数据清洗和协议字段特征提取方法:


大致包含:
步骤1:在网络的汇聚点抓取网络数据包;
步骤2:数据标记:将抓取到的所述网络数据包按照抓取的时间顺序进行标记;
步骤3:通过数据分类汇聚、获取公共数据地址、获取服务端地址、数据再分类、排除已知协议,得到清洗后的未知协议数据,具体按照下述步骤处理:
步骤3.1数据分类汇聚:将步骤2得到的经过标记的网络数据包,分别按源地址数据和目的地址数据进行双向配对归类,相同源地址的数据汇聚为一类,以下简称i类数据;相同目的地址的数据汇聚为一类,以下简称ii类数据,并将所述i类数据和所述ii类数据分别按时序进行排序;
步骤3.2获取公共数据地址:计算经过时序排序的所述i类数据中相同的源地址的数目,取其中数目大于预设源地址数目的数据记为i类公共数据;计算经过时序排序的所述ii类数据中相同的目的地址的数目,取其中数目大于预设目的地址数目的数据记为ii类公共数据;并丢弃不在两类公共数据中的数据;
步骤3.3获取服务端地址:比较所述i类公共数据的地址和所述ii类公共数据的地址,如果相同,将该地址标记为服务端地址;否则丢弃;
步骤3.4数据再分类:将从步骤3.3得到的具有相同服务端地址标记的数据,重新按源地址数据和服务端地址数据进行双向配对,归为同类;并按时序进行排序,得到数据包;
步骤3.5去掉已知协议:利用已知协议特征库匹配步骤3.4得到的数据包,丢掉其中的已知协议的数据包,得到清洗后的未知协议数据包;
步骤4:通过计算n-bit源/服务端数据包的均值和方差分布、计算同类数据中不同n-bit源/服务端数据包的均值和方差分布的相似性、计算相似字段特征的稳定性,提取未知协议字段特征,得到未知协议字段特征,具体步骤如下:
步骤4.1计算n-bit源/服务端数据包的均值和方差分布:将从步骤3.5得到的清洗后的未知协议数据包,按同类的源地址和服务端地址数据分别对齐,从对齐后的首部开始划分顺序区域,以bit为单位,逐步增加区域内bit数量n,计算各顺序区域数据的均值和方差,以下称为n-bit源/服务端数据包的均值和方差分布;
步骤4.2计算并比较步骤4.1得到的同类数据中不同n-bit源/服务端数据包的均值和方差分布的相似性,选取相似性较大的作为n-bit相似字段特征;
步骤4.3计算并比较步骤4.2得到的n-bit相似字段特征的稳定性,选取稳定性较大的作为未知协议字段特征;
步骤5:确认未知协议字段特征,并建立协议字段特征识别的匹配表达式,存入未知协议字段特征库。

据有关统计,在每周的统计数据流量监测中超过四成流量属于未知应用协议,这些流量给网络管理、流量监控以及入侵检测等带来了巨大的挑战,而随着新技术的发展,已有的方法对于未知协议的识别效果越来越差。有效的未知协议分析方法,对网络管理、流量监控、入侵检测以及维护网络安全都有重要意义。