网络协议解析与处理技术:ReFormat与属性文法的应用
1. ReFormat技术概述
1.1 ReFormat的功能与原理
ReFormat是一个能让现有的自动协议逆向工程工具处理加密消息的系统。其核心原理基于两个关键洞察:一是消息解密所用的指令与正常协议处理的指令有显著差异,通过分析算术和位运算指令的百分比,ReFormat可以区分消息解密阶段和正常协议阶段;二是解密消息在消息解密阶段生成,并在正常协议处理阶段被处理,基于此,ReFormat能够分析运行时缓冲区的数据生命周期,从而精确确定包含解密消息的内存缓冲区。
1.2 ReFormat的局限性
- 应对混淆程序的挑战 :ReFormat设计用于处理不故意混淆执行以阻碍程序分析的良性程序和恶意软件。如果程序故意引入冗余指令来操纵指令分布,例如在正常协议处理中嵌入不必要的算术或位运算操作,或者在消息解密中注入不必要的非算术或非位运算指令,ReFormat的分析可能会被规避。如何使ReFormat适用于混淆程序仍是一个技术难题。
- 消息处理顺序的假设限制 :ReFormat假设应用程序先解密加密消息,然后处理解密后的消息。如果应用程序不遵循这一假设,例如先解密部分消息并处理,再解密和处理其余部分,ReFormat可能无法正确识别整个解密消息。要处理此类应用程序,需要将执行跟踪划分为多个解密和处理阶段,这留待未来工作解决。
- 消息关联与协议状态机重建的不足 :ReFormat一次只分析一个输入消息,不关联同一协议会话中的多个消息。将R
ReFormat与属性文法用于网络协议解析
超级会员免费看
订阅专栏 解锁全文
5260

被折叠的 条评论
为什么被折叠?



