论文部分内容阅读
伴随着人们对即时通信软件的依赖程度越来越高,即时通信软件的通信内容安全越来越引起安全研究人员的重视。协议分析技术在网络应用程序内容安全方面具有重要的作用,但由于越来越多的即时通信软件使用了加密通信协议,加密技术隐藏了网络数据原有的格式信息和语义信息,阻碍了协议分析工作,因此如何高效的对加密协议进行协议分析是一项重要且极具探索性的研究课题。论文首先介绍了协议分析的研究现状、技术背景以及常用方法,并对已有的研究成果进行了论述。在此基础上,本文提出了一种针对即时通信软件进行协议分析的方法:通过定位二进制软件中的密码函数,以提取解密后的明文协议消息,并使用协议格式提取方法对获取到的协议数据进行分析,以得到该协议消息的格式信息。本文的工作主要包括:1.密码函数定位技术的研究。通过对密码算法实现中指令特征以及I/O参数信息熵变化的研究,提出基于特征的密码函数定位方法;通过对密钥、密文/明文以及密码算法三者之间依赖关系的研究,提出基于循环数据流的密码函数定位方法,并从适用范围、时间开销以及实现复杂度等方面对两种方法进行了比较。2.协议格式提取技术的研究。通过动态跟踪被分析软件解析例程的执行轨迹,归纳总结了解析例程对协议消息中各个主要协议字段解析过程,提出了针对各个主要协议字段及其语义信息的提取方法,并将提取到的字段及其语义信息添加到协议字段树中,以完成协议分析工作。3.设计并实现了基于Pin的原型系统IMPA。首先,通过对动态污点分析技术在协议分析领域的研究,本文设计并实现了一种高效的污点传播跟踪方法;之后,本文详细论述了IMPA系统中各个模块的设计和实现细节,并从功能测试和比较测试两个方面对系统进行了评估。功能测试结果说明了本文提出方法的有效性,与已有的方法相比较,本文提出的方法能更加准确的定位密码函数的位置,并有效的提取协议消息的格式信息。