未知协议逆向分析关键技术研究_王庆亮

0 前言

1.论文简述
论文基于全系统仿真系统动态指令流分析平台,利用特定跟踪插件监控目标进程的动态指令执行轨迹,并生成一个汇编文件。
通过分析此汇编文件,构建动态污点扩散逻辑树,进而对遍历分析解析出未知协议的语法结构,同时也采用静态报文序列比对分析方法解析未知协议语法结构。
最后,综合动态分析和静态分析两种分析结果提取比较准确的协议语法信息。
针对协议字段语义的识别,调用钩子插件跟踪目标进程的函数调用序列并记录其函数调用地址、参数和返回值等属性信息,通过与预先建立的函数语义数据库进行匹配比对,进而解析出未知协议字段的行为语义信息。
2.未知协议逆向分析的目标
主要目标是协议报文格式和响应规则以及协议字段的语义信息
而不是协议通道事件的时序关系和协议处理程序的内部事件。

1 系统设计方案

1.1 未知协议逆向分析平台TEMU

  • QEMU:完全模拟操作系统
  • 从模拟仿真系统外监视目标应用程序的处理过程,使被分析的程序很难检测到分析环境的存在
  • 污点分析引擎:动态跟踪污点源数据扩散过程的核心分析模块
  • 语义提取
  • 回调接口

1.2 未知协议逆向分析方案架构

i

函数级语义分析模块
当一个调用函数进入和退出时设置一个钩子(,插件可以监控目标应用程序都调用了哪些内核函数和用户函数。我们跟踪了文件操作、进程操作、注册表操作、网络通信操作、系统服务操作和字符串处
理操作等相关的,并记录了这些函数的类型、调用地址、参数类型、参数地址和返回值等,存入数据库。可以作为协议语义解析的一个先验知识库。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,794评论 1 32
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,790评论 0 9
  • 第一章 概述 一、协议定义 为网络中互相通信的对等实体间进行数据交换二建立的规则、标准或约定,保证实体在计算机网络...
    丿曰阅读 14,853评论 0 6
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,735评论 0 38
  • 余光中老先生曾写:“乡愁是一张小心的邮票,我在这头,大陆在那头”,我对故乡虽然没有那么浓浓的乡愁,身在异乡,还是不...
    活着之上阅读 1,748评论 0 2