8.1 概述
自动化的协议逆向方法提高了获得未知协议规范的准确率和效率。
在实际工作中获得协议规范不是逆向分析的最终目的,而是进行下一步工作的基础。
协议逆向技术广泛应用于无线网络对抗、恶意软件分析、软件安全漏洞挖掘、协议重用、网络管理等领域。
大多数情况下,这些应用利用协议逆向分析得到的协议规范(协议格式和协议状态机)作为系统设计、实现的基本依据,而没有与逆向分析系统进行有机结合。理想情况下,协议逆向得到的协议规范应直接作为这些应用的输入。
将逆向分析系统与fuzzing测试相结合。首先利用逆向分析系统对目标软件的通信协议进行逆向分析,得到包含协议格式和状态机信息的协议规范描述模型,进而作为fuzzing测试系统的输入对目标软件进行fuzzing测试。
8.2 fuzzing测试技术
fuzzing测试技术又称为模糊测试技术,它通过向被测系统注入大量非预期的输入来发现潜在的漏洞,是目前应用最广泛的漏洞挖掘技术。
fuzzing步骤:
1)输入识别与分析:分析输入数据的格式特征,为后续生成测试用例奠定基础;
2)构造测试用例
3)执行测试用例
4)异常监控
5)异常分析
测试用例的构造方法:
基于生成的技术:已知输入数据的具体构成规则,根据该规则生成测试数据
基于变异的技术:在对输入数据规范有所了解的前提下,针对样本数据中某些域进行变化,从而产生新的变化。、
fuzzing技术分为三类:白盒fuzzing技术、基于反馈的fuzzing技术、基于模型的fuzzing技术、基于模型的fuzzing技术是指依据被测程序输入数据的先验知识&#x