论文部分内容阅读
随着互联网的飞速发展,通过网络漏洞来进行的各种攻击性质的活动越来越多样化,网络协议作为其中重要的网络信息通信和保护手段,其安全性越来越受到重视,没有绝对完美的协议设计,对于同样一个协议缺陷,如果被网络潜在攻击者先发现,损失将难以预计,如何发现协议的缺陷并且尽可能准确的找到未知协议的缺陷,对于维护整个互联网的安全有着极其重要的意义。本课题实现了未知协议的逆向解析,并且应用逆向获取的协议模板,完成自动化协议缺陷测试系统。格式提取、轨迹分析、缺陷测试三个环节共同完成从提取协议格式,到提取协议状态,最后应用前两步得到的数据完成缺陷测试例的生成。其中格式提取和状态提取共同完成协议逆向过程工作,技术上分别采用基于生物序列比对算法的数据报文分析法与基于动态平台的指令分析方法。首先报文格式解析得到协议报文的格式内容信息;其次动态平台解析出未知协议的报文交互方式,获取每条协议数据的具体格式同时得到不同消息之间的交互规则;最后采用基于Schema-XML语言结合正则表达式,依据之前逆向产生的消息格式自动生成缺陷测试例。系统首先通过编辑距离计算、进化树的生成、序列比对完成对数据报文的格式提取;接下来研究并实现了基于Dynamo RIO的动态污点分析技术,以记录的轨迹信息为基础,进行动态污点分析,提取协议消息的具体处理信息,得到协议信息的交互轨迹;最后通过XML协议自动化测试系统,应用已提取格式和交互方式的协议信息,进行系统的缺陷测试例生成及测试。系统可以准确完成对未知协议的解析工作以及测试工作,具有高准确性的解析功能以及高覆盖性的测试功能,将测试缺陷精确到点,更加系统完善的完成协议逆向的要求,对网络协议的安全发展有着重要的意义。