多源反编译关键技术研究

来源 :中国人民解放军信息工程大学 解放军信息工程大学 | 被引量 : 0次 | 上传用户:genersoft
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着嵌入式设备的应用越来越广泛,传统平台上的各种软件漏洞和基于漏洞的恶意攻击行为正在向嵌入式领域蔓延。反编译作为软件逆向分析工作的基础性工程,已经在通用平台的软件漏洞挖掘及恶意行为分析中发挥了关键作用,而嵌入式平台由于其硬件架构差异巨大、系统软件灵活多变,面向嵌入式领域的软件逆向解析及安全性分析工作面临严峻挑战。研究一种适用于各种硬件架构及系统平台的多源反编译系统,将有效提高嵌入式领域软件逆向分析工作的能力。为了达到上述目的,本文针对目前多源反编译中存在的关键问题进行了深入的研究,主要贡献与创新如下:  1.改变了面向嵌入式平台自独立的逆向分析模式,提出了支持动静态信息交互的多源反编译框架。依据不同硬件平台及系统平台的相关性特征,将反汇编、代码变换、控制流分析、数据流分析等技术整合,使静态多源反编译的流程更加简洁、清晰、易扩展;基于跨平台的动态执行引擎及中间代码的插桩扩展,设计了平台无关的动态信息提取框架,并在此基础上提供动静态信息交互机制,为不同处理器平台下动态和静态分析结果的相互修正与融合提供支持。  2.提出了平台相关性透明化处理技术,实现对不同硬件平台及系统开发平台差异性的屏蔽。针对硬件平台的相关性处理,设计了指令集相关性E-R模型及指令匹配与翻译算法,定义了BRIL中间语言的语法及语义,提供了基于BRIL语义字典和VEX库的语义提升方法,实现了由汇编语言代码到 BRIL代码的快速转换。针对系统开发平台相关性处理,通过定义 XSD描述约束,给出了描述文件的结构及描述内容,设计了调用约定、库函数特征的描述约束概念图,为函数恢复及库函数识别提供支持。经平台相关性的透明化处理,目标代码被转化和映射为统一的中间语言代码及平台属性描述文件,为后续归一化静态分析奠定了基础。  3.提出了平台无关的动态信息提取技术,实现了不依赖实际硬件或仿真环境的运行时信息提取。基于跨平台的动态执行引擎,将提取的动态信息划分为抽象状态和系统视图两类。针对抽象状态提取,提出了基于中间代码的统一动态插桩方法,设计了基于扩展中间语言 BRIL#的多粒度动态插桩接口。针对系统视图,设计了系统属性描述约束概念图,定义了系统语义自省机制,设计了系统视图的提取算法,并通过制定更新策略实现了动态执行过程中系统语义视图的实时更新。不同粒度下抽象状态和系统视图提取的测试结果表明,本文采用的方法与同类工具相比具有一定的优势,能完成带有隐藏进程的进程级语义视图的准确提取。  4.提出了多维图谱的自定义抽取技术,实现了目标代码程序结构和数据流的多视角可视化。多维图谱的自定义抽取基于统一的BRI L中间语言代码以及多维图谱描述文件,改进了控制流和存储变量抽取算法,按照语句级、基本块级、结构级和过程级等多重粒度构件了算法库,实现了多维度抽象图谱的快速生成;采用图形描述语言DOT,设计基于抽象图的DOT转换接口,实现了多维抽象图谱向DOT图形描述语言的快速转换,完成了多维图谱的可视化,为更深入地分析代码漏洞及恶意行为等提供支持。通过实例测试,多维图谱的自定义抽取技术能够实现5个维度的分析结果可视化,有效提高了代码的可读性。  5.提出了动静态分析交互控制技术,实现了代码分析过程中的动静态信息之间相互补充与验证、分析流程指导及修正。按照动静态分析交互的不同方式,分别制定了由静至动STD、由动至静DTS、动静同时SDM三种信息交互机制,给出了基于异常结点的动态输入生成方法,并通过设计动态路径提取插件,实现了不同信息交互机制下的动静分析结果的相互修正,为提高反编译结果的精确性、发现隐藏代码、有效挖掘漏洞等逆向分析工作提供有力的支持。  基于上述多源反编译架构及关键技术,设计并实现的MSBAP多源二进制文件逆向分析工具已成功应用于“信息安全设备固件协同式分析与验证系统”,实现了面向x86、ARM、MIPS、PPC等多种处理器架构上可执行代码到类高级语言代码的转换,在嵌入式设备的软件逆向解析工作中发挥了重要作用。
其他文献
镜片生产过程中,需要根据镜片的规格参数对其进行分拣。目前国内企业对镜片的分拣通常采用人工完成,工人首先需要对镜片的参数进行逐个测量,然后根据测量结果对镜片进行分拣
人脸检测(Face Detection)是指在输入图象中确定所有人脸(如果存在)的位置、大小、位姿的过程。人脸检测作为人脸信息处理中的一项关键技术,近年来成为模式识别与计算机视觉
复杂网络研究正渗透到数理学科、生命学科和工程学科等众多不同的领域,对复杂网络的研究已成为网络时代科学研究的一个极其重要的挑战性课题。近年来随着计算机技术快速发展和
科技查新工作是指通过手工检索和计算机检索等手段,运用综合分析和对比等方法,为评价科研立题、成果、专利、发明等的新颖性、先进性和实用性提供文献依据的一种信息咨询服务
随着广播电视制作技术的不断发展,观众对节目质量的要求也越来越高,传统的搭建实景进行拍摄的方式不但耗费大量的时间和人力物力,而且在很多情况下不能满足摄制要求,因此虚拟
二维图形几何相似性比较算法是二维图形检索系统的核心,算法的好坏直接决定着检索系统整体性能的优劣,然而,目前还没有成熟的图形比较算法在图形检索领域得以广泛应用。本文
Much has been written about humor and even sarcasm automatic recognition on Twitter. Nevertheless,the task of classifying humorous tweets according to the type o
随着网络技术的发展,基于网络的软件在表现形态上有了新的变化,如今软件的开发和运行正面临一个多变、复杂、难控的网络环境,因而软件开发需要在软件的结构、软件的动态适应以及
随着信息技术的高速发展,计算机对教育的影响越来越大。E-Learning作为一种新的教育方式在教育中所占的比重也是越来越多,全国各知名高校的网络学院也纷纷建立。而在E-Learni
Bayesian网络,也被称作概率信念网络、因果网络,是一种复杂联合概率分布的图表示方式,能有效地管理组成问题域的各随机变量之间的条件独立或依赖的关系。一旦一个Bayesian网络建