《网络协议逆向分析及应用》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:吴礼发,洪征,潘瑶著
  • 出 版 社:北京:国防工业出版社
  • 出版年份:2016
  • ISBN:9787118105742
  • 页数:308 页
图书介绍:本书主要介绍协议、协议逆向工程等相关概念、研究现状。协议设计原理,内容包括协议设计方法、内容、典型协议简介等。协议规范描述模型,内容涉及与协议逆向分析密切相关的协议规范描述模型,包括有限状态机模型,高阶属性文法,以及作者提出的基于高阶属性文法的协议规范描述模型。介绍基于网络流量的协议逆向分析,内容包括该方法的一般原理、研究现状、作者提出的基于递归聚类的协议格式提取方法、人工知识在逆向分析中的应用等。介绍动态二进制程序分析技术,内容包括动态污点分析、动态符号执行技术以及常见的二进制程序分析平台。介绍基于执行轨迹的协议格式逆向分析技术,包括该方法的一般原理、研究现状以及作者提出的基于混合符号执行的协议格式提取方法。介绍协议状态机推断技术,包括协议状态融合理论以及作者提出的测试驱动状态融合的状态机逆向分析方法。最后以基于协议的模糊测试技术为例介绍逆向分析技术的应用。

第1章 绪论 1

1.1 协议 1

1.1.1 定义 1

1.1.2 网络体系结构 2

1.2 协议分析 8

1.2.1 应用需求 8

1.2.2 协议逆向工程 11

参考文献 14

第2章 协议设计原理 15

2.1 协议模型 15

2.2 协议设计的基本内容 17

2.2.1 协议的通信环境 17

2.2.2 协议提供的服务 18

2.2.3 协议功能 19

2.2.4 协议元素 22

2.3 差错控制技术 27

2.3.1 差错类型 27

2.3.2 差错检测技术 28

2.3.3 报文丢失、重复、失序处理技术 38

2.3.4 差错控制与层次的关系 43

2.4 典型协议 45

2.4.1 HDLC协议 45

2.4.2 PPP协议 49

2.4.3 IP协议 52

2.4.4 TCP协议 54

2.4.5 HTTP协议 57

2.5 总结与展望 60

参考文献 60

第3章 协议规范描述模型 61

3.1 概述 61

3.2 协议规范描述需求分析 62

3.3 高阶属性方法 64

3.3.1 协议格式分析 64

3.3.2 高阶属性文法 64

3.4 基于高阶属性方法的协议规范描述模型 67

3.5 模型实现 73

3.6 总结与展望 83

参考文献 83

第4章 基于网络流量的协议格式逆向分析 85

4.1 概述 85

4.2 序列比对技术 86

4.2.1 双序列比对 87

4.2.2 多序列比对 88

4.2.3 问题分析 89

4.3 典型报文序列分析方法 90

4.3.1 PI 90

4.3.2 PEXT 91

4.3.3 BFS 94

4.3.4 ScriptGen 96

4.3.5 Discoverer 98

4.3.6 Automaton 100

4.3.7 Netzob 101

4.4 基于递归聚类的协议格式提取方法 103

4.4.1 基本块划分 104

4.4.2 递归分析 105

4.4.3 报文结构信息分析 110

4.4.4 语义及取值约束推断 110

4.4.5 算法复杂度分析 120

4.5 人工知识在逆向分析中的应用 121

4.5.1 人工知识 122

4.5.2 半自动协议逆向分析 122

4.6 RPRA实现 127

4.6.1 输入模块 127

4.6.2 自动分析模块 130

4.6.3 输出模块 130

4.6.4 纠正模块 132

4.7 应用实例 135

4.7.1 样本集的获取 136

4.7.2 数据预处理 136

4.7.3 已知协议分析 136

4.8 总结与展望 148

参考文献 149

第5章 动态二进制程序分析技术 151

5.1 概述 151

5.2 动态污点分析技术 152

5.2.1 动态污点分析的原理 152

5.2.2 污点属性的传播特征 154

5.2.3 动态污点分析技术的应用 155

5.3 动态符号执行技术 155

5.3.1 符号执行的原理 156

5.3.2 符号执行技术的局限 158

5.3.3 动态符号执行的原理及应用 159

5.4 二进制分析平台简介 161

5.4.1 Intel Pin 161

5.4.2 BitBlaze 169

5.4.3 其他二进制分析平台 178

5.5 总结与展望 181

参考文献 182

第6章 基于执行轨迹的协议格式逆向分析 185

6.1 概述 185

6.2 典型指令序列分析方法 186

6.2.1 Polyglot 186

6.2.2 AutoFormat 188

6.2.3 Tupni 191

6.2.4 Prospex 193

6.2.5 ReFormat 194

6.2.6 Dispatcher 196

6.3 基于混合符号执行的协议格式提取方法 197

6.3.1 概述 197

6.3.2 基本思想 199

6.3.3 基于中间语言的混合符号执行技术 201

6.3.4 语义解析层次的协议格式提取技术 205

6.3.5 原型实现及应用 217

6.4 总结与展望 225

参考文献 226

第7章 协议状态机推断技术 229

7.1 概述 229

7.2 基本定义 230

7.3 状态机推断技术研究现状 231

7.3.1 基于指令序列的状态机推断研究 231

7.3.2 基于报文序列的状态机推断研究 232

7.3.3 两类方法的比较 237

7.4 测试驱动状态融合的协议状态机推断方法 238

7.4.1 状态融合问题分析 238

7.4.2 方法概述 241

7.4.3 初始状态机构造 243

7.4.4 状态匹配与融合 245

7.4.5 状态融合验证 248

7.4.6 实例分析 249

7.5 基于域知识的协议状态机主动推断算法 256

7.5.1 概述 256

7.5.2 L+ N算法 258

7.5.3 基于强顺序约束关系的output query过滤机制 259

7.5.4 基于EPTT的output query预响应机制 261

7.5.5 基于正例样本变异的equivalence query近似判定算法 262

7.5.6 实例分析 263

7.6 总结与展望 268

参考文献 269

第8章 协议逆向分析的应用 273

8.1 概述 273

8.2 Fuzzing测试技术 273

8.3 基于模型的Fuzzing技术面临的问题 279

8.3.1 数据格式的描述 279

8.3.2 测试用例的生成 281

8.4 文法驱动的Fuzzing测试技术 284

8.4.1 文法分析树的构造 286

8.4.2 测试节点的选择 290

8.4.3 基于语义的测试用例生成 291

8.5 应用实例 295

8.6 总结与展望 301

参考文献 302

附录 缩略语 304