版本间语义分析制导的程序逆向静态分析

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:zhouwg_zhouwg_zho
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件的规模和复杂度越来越高,大大提高了软件漏洞挖掘的难度。人们知道软件的版本更新指示了旧版本中存在某些缺陷或修改,如何开发自动化的程序逆向分析工具用来辅助软件漏洞挖掘已经成为重要的研究热点。传统的补丁比对工具只是简单的逆向代码文本比对,提供的信息量有限。本文使用版本间语义修改制导的程序逆向静态分析方法,在Phoenix编译架构上研制了一个可执行程序逆向分析的工具原型“ReverseSA”,实现了对.Net平台可执行程序逆向提升到IR(中间语言)的版本间语义修改识别。使用程序切片技术得到语义修改识别区域的语义依赖区域;采用符号执行和约束求解技术在Phoenix编译架构上实现了对IR的语义解释执行,自动产生测试例输入。同时还提供了绘制程序的过程内控制流图,过程间函数调用图,函数的程序依赖图的功能。具备对一定规模程序的符号执行主动安全性测试的能力, ReverseSA被用于较大规模的是中国移动推出的“综合通信服务”即“飞信”客户端可执行的程序两个版本。实验结果飞信的两个版本的主程序FetionFx.exe的函数修改率为11.098%,新函数增加率为24.402%,新版本的函数个数为7028个;进行实验的19个可执行程序文件中只有10个文件的代码发生了改变,大部分修改率和增加率不大。结果表明ReverseSA可以快速地进行版本间的补丁分析,为发现漏洞提供优先的着力点,进一步的符号执行分析能提供一定程度的自动化安全性测试能力。
其他文献
SaaS(software as a service,软件即服务)模式是一种新型的软件服务模式,它的出现为企业信息化的发展注入了新的力量。目前我国部分企业信息化难以推进,有一个主要原因就是软硬件
信息感知、数据收集与处理是实现物理世界、计算世界和人类社会三元世界连通的纽带,将为计算机网络的持续发展注入新的燃料。随着物联网技术在经济社会各领域应用的拓展深化
电动机优化设计的最优解与许多因素有关,如模型的建立、优化变量的选取、其某些参量的确定等,最重要的是优化方法。传统的优化策略大多基于梯度计算,对函数的连续性、导数的存在
在数据挖掘的实际应用当中,作为数据挖掘对象的源数据通常都是带有噪声的。人为的错误、测量设备的误差、数据收集过程的漏洞都是导致噪声的原因。传统的做法是在应用数据挖掘
群智能方法作为一种新兴的演化计算技术,已成为人工智能领域研究的一个新的分支。粒子群优化算法源于对鸟群和鱼群群体运动行为的研究,是一种新的群体智能优化算法。粒子群算法
随着计算机科学和逻辑学的发展,出现了以描述逻辑为基础的本体模型的概念和建立在此模型之上的本体知识库。知识库是在计算机科学中的数据库的启发下诞生的,目的是把海量的知
当今遥感影像数据在林业资源的管理与预测等方面扮演着越来越重要的角色,在数据量不断膨胀的背景下,如何有效地对遥感数据进行管理是当前最需要解决的问题。但是在林业资源数据中,不仅仅只有遥感数据,森林资源调查数据也是林业数据中重要的数据源,通过将两种资源进行整合,实现数据的综合利用也是未来发展的趋势。通过研究分布式技术与领域分析技术的原理及方法,对于解决遥感数据管理技术上的问题以及平台的搭建有着十分重要的
能源是经济社会可持续发展的物质基础和保障。随着我国经济的快速增长和人民生活水平的不断提高,能源供需矛盾日益突出。企业是能源消耗的主要方面,在保证最大的生产效率的前
学位
在语义Web中,本体发挥着重要的作用。但由于各领域都有自己相应的构建本体标准,本体的建立缺乏统一的标准规范,使得众多本体间存在着系统异构、结构异构、语义异构等问题。本
Web服务作为一种新型的分布式计算模型,具有高度的互操作性、跨平台性和松耦合等特点,得到了世界范围内学术界和工业界的极大关注。但是单个Web服务功能有限难以满足复杂的用户