协议逆向工程概述

11 篇文章 3 订阅

协议逆向工程概述

1.1 协议

协议是计算机网络与分布式系统中各种通信实体键相互交互信息时必须遵守的一组规则和约定,这些规则明确规定了所交换的数据格式以及有段的同步问题,从而保证了双方通信有条不紊、可靠地交换信息。

比较著名的网络协议有TCP/IP协议栈中的一些协议,比如IP、TCP、UDP、POP3、SMTP、HTTP等。除了大量标准化的通信协议外,网络中还存在大量私有协议,各种软件厂商或个人处于经济利益、安全、隐私等因素的考虑,并没有公开协议细节;一些恶意软件也采用了自己的私有协议防止被跟踪和分析。

1.2 协议分析技术

协议分析技术主要分为两大类:

(1)对已知协议的识别与分析。

(2)对未知协议的逆向分析。

第一类以协议特征(比如协议格式特征、端口特征、流量特征等)为基础,识别应用使用的通信协议并根据协议规范对协议报文进行分析,前提是协议规范已知。

第二类在协议特征未知的条件下,通过协议报文或协议软件执行过程分析得到协议规范(比如协议字段格式和协议状态机),即协议逆向分析。

1.3 协议逆向工程

协议逆向工程是指在不依赖协议描述的情况下,通过对协议实体的网络输入输出、系统行为和指令执行流程进行监控和分析,提取协议语法、语义和同步信息的过程,是工程化的协议逆向分析方法。随着网络规模的扩大和应用种类的增多,对协议逆向的准时性和时效性要求越来越高,自动化协议逆向分析技术成为人们追求的目标。

2 协议逆向分析流程

以协议规范描述模型为目标,协议逆向分析系统应当包括输入预处理,协议格式提取,协议状态机推断三个阶段。

2.1 输入预处理

协议逆向的原始输入为连续的网络数据流或者处理网络数据流的指令执行轨迹。要实现协议格式提取以及协议状态机推断,首先要以会话个报文为粒度对输入进行分割。分析之前要提出原始输入中的冗余和干扰,比如报文序列中可能出现的重传、乱序、分片。会话划分和报文定界是网络流量分析领域的重要研究方向。目前研究已较为成熟。

2.2 协议格式提取

字段符号特征和结构是格式文法的属性。协议格式提取需依次经过字段识别、结构提取、语义与取值约束判断三个步骤,才可识别每个报文对应的格式。对报文所有格式进行合并,得到统一的协议格式文法和各个报文结构属性。根据分析对象的不同,协议格式提取技术分为两类:

(1)基于网络流量的协议格式逆向分析

(2)基于执行轨迹的协议格式逆向分析

第一类基于网络流量的协议格式逆向分析技术,也叫作基于报文的协议逆向分析技术,或者报文序列分析技术。即以截获的网络数据流作为分析对象,依据协议字段的取值变化频率和和特征推断得到协议格式。其依据是:数据流中的当个报文是协议格式的一个实例,相同格式的报文样本往往具有相似性,可以将具有相似性的报文汇集到一起,推断他们所遵循的报文格式。

第二类是基于执行轨迹的协议格式逆向分析技术,也成为基于指令序列的逆向分析技术,或者指令序列分析技术。以指令执行轨迹为分析对象,利用动态污点分析技术跟踪程序对报文的解析过程,并依据协议实体解析报文字段的具体过程实现协议格式的提取。

基于网络流量的分析技术与基于执行轨迹的分析技术相比,存在以下优点:

(1)时效性强。在报文样本数量大,协议种类多的情况下,运行速度快,能够快速得到结果。

(2)对终端依赖小。在未知目标通信软件的情况下,不需要跟踪报文在终端运行情况。

(3)通用性强。报文序列分析方法不关心报文所在协议的层次,只对报文的格式进行分析。

基于网络流量的分析技术与基于执行轨迹的分析技术相比,存在以下缺点:

(1)在仅提供正例网络流量的前提下,正则语言不可能通过学习得到。

(2)对采用加密和压缩机制的协议,报文字节的取值已被破坏,无法通过网络流量分析进行逆向。

(3)对样本集的覆盖率依赖大,样本中不存在的报文格式,无法网络流量分析逆向。

 2.3 协议状态机推断

协议状态机推断是指通过分析捕获的网络协议报文序列和协议实体对该报文序列的解析过程,获得协议实体处理状态迁移的逻辑结构以及行为语义信息,最终构成协议的状态机。

在协议状态机推断过程中,通常需要将报文序列中的报文实例抽象为其所属的报文类型,进而将一个或连续的多个抽象类型标注为一个状态。 

经过输入预处理,协议格式提取,协议状态机推断后,形成协议规范文本,为后续网络协议逆向应用奠定基础,比如基于协议的模糊测试技术等。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DCS(Distributed Control System,分布式控制系统)是指控制器与执行器之间通过网络连接的一种自动化控制系统。DCS协议是DCS系统中控制器与执行器之间的通信协议。自动化逆向技术是指通过对DCS系统进行逆向工程,解析DCS协议的数据格式和通信机制等信息,从而实现对DCS系统进行分析、仿真、仿真测试等操作的技术。 以下是对DCS协议的自动化逆向技术进行分析: 1. 数据格式分析:DCS协议的数据格式是自动化逆向技术分析的重点,需要深入分析DCS协议的数据格式和通信机制,了解数据的编码方式、数据类型、数据长度等信息。通过对数据格式的分析,可以实现对DCS协议的解析和重构。 2. 通信机制分析:DCS协议的通信机制是指控制器与执行器之间的通信规则和流程。自动化逆向技术需要对DCS协议的通信机制进行分析,了解控制器和执行器之间的通信方式、通信频率和通信协议等信息。通过对通信机制的分析,可以实现对DCS系统的仿真和测试。 3. 系统结构分析:DCS系统的结构是指控制器、执行器和网络之间的物理结构和连接方式。自动化逆向技术需要对DCS系统的结构进行分析,了解控制器和执行器之间的连接方式、网络拓扑结构和物理设备等信息。通过对系统结构的分析,可以实现对DCS系统的仿真和测试。 总之,DCS协议的自动化逆向技术是一项复杂的技术,需要深入理解DCS系统的数据格式、通信机制和系统结构等方面的信息。通过自动化逆向技术,可以实现对DCS系统的分析、仿真和测试,提高DCS系统的可靠性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值