论文部分内容阅读
自动化地对数据加解密过程进行逆向分析,能够减少人工分析的工作量,有效提高分析人员对密码算法安全性进行研究的效率,对增强软件安全性、保障网络数据的安全传输发挥积极作用。目前,加解密过程的自动化逆向分析主要关注密码算法的自动识别,对于整个数据加解密过程的分析,缺乏成熟的理论和工具。本文对现有的数据加解密过程分析方法进行总结,在现有密码算法识别技术的基础上,应用数据流分析技术,对数据加解密过程的逆向分析技术进行研究,探索一种有效的自动化分析方法。本文首先介绍了加解密过程逆向分析的概念、研究意义及发展现状,针对已有密码算法识别技术存在的问题,提出改进方案并加以实现,在此基础上,构建软件的加解密过程依赖图,通过相似性比对的方法提取软件的数据加解密过程。对已有的动态密码算法识别技术的改进主要通过引入熵值信息作为密码算法的特征、构建加解密函数特征信息库、实现基于贝叶斯分类方法的密码算法识别模型等手段来实现。在此基础上,定义了一种数据加解密过程依赖图,利用数据流跟踪技术实现依赖图构建算法,然后通过依赖图的相似性比对提取最大等价子图,达到自动化分析软件的数据加解密过程的目的。最后,本文设计并实现了一套基于动态二进制分析平台Pin的数据加解密过程逆向分析系统DCPL,并针对多款含有数据加解密过程的软件进行了系统测试。结果表明,该系统能够在准确识别密码算法的基础上快速地定位和提取数据的加解密过程,并在保证分析效率的前提下将系统开销控制在预期范围内。