面向二进制漏洞分析的软件执行迹提取与分析技术研究

来源 :国防科技大学 | 被引量 : 0次 | 上传用户:syzy3106jiege
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件执行迹分析是一种动态二进制分析技术,它通过动态追踪软件执行流程辅助漏洞诊断和分析。执行迹追踪技术常被应用于缺陷定位,污点分析,符号执行和确定性重放领域。其中确定性重放不仅能帮助研究人员提高程序分析能力,还能有效解决处理器多核架构下并行程序中不确定因素对程序分析的影响。但是该领域仍面临许多挑战,将执行迹追踪应用于确定性重放目前主要存在以下几个问题。首先,执行迹获取的程序行为信息不够全面,无法进行确定性重放;其次,重复分析同一程序时上下文环境不被保持,执行信息无法二次获取;最后,收集执行迹的时间开销巨大,这是导致确定性重放实现效率低的主要因素。为此本文以确定性重放为例,研究了对二进制漏洞分析通用的软件执行迹提取与分析方法。针对以上提出的问题,本论文的主要工作和创新点如下:首先,提出了面向确定性重放的离线执行迹追踪方法。本文采用纯软件的方式,以离线文件运行目标系统过程中动态插入分析指令以获取相应的执行信息,降低了插桩引擎与目标分析系统之间的耦合性。本文研究了重放的确定性程度对应的执行迹内容需求,以严格确定性作为标准分析了控制流和访存操作的信息。最后本文以数据库的形式将执行迹保存到本地供后续重放分析与研究。该方法有效提高重放分析的准确性,解决漏洞分析过程中访存不同步、存储竞争和数据竞争等问题。其次,提出了程序执行迹并行化提取方法。针对动态翻译、指令执行与程序分析一体化的传统二进制分析方法无法进行并行化的问题,本文研究了对传统一体化分析方法的改进。基于离线文件将动态翻译、指令执行和程序分析三个过程进行分离——动态翻译时得到离线文件,以离线文件驱动指令执行,最后进行程序分析。本文通过对离线文件研究发现,离线文件驱动指令执行过程是可分割的。在此基础上提出了执行迹并行化提取算法,大大提高了执行迹提取的效率。然后,提出了面向上下文保持的程序输入动态替换方法。本文对虚拟化技术的实现原理进行了深入研究,并提出了基于虚拟化的程序输入替换的两种方式。第一种方式是对模拟器源码进行分析,并研究了动态翻译机制,以源码插桩的方式实时监控客户机指令执行并做出文件替换操作。第二种方式研究了主机文件到客户机实时通信的方法,在客户机内部hook目标程序后通过实时文件传递进行替换。本文对模拟器的快照机制进行了分析,将其与输入替换进行整合分析,实现了动态替换。该方法解决了漏洞分析中上下文环境无法保持一致的问题,降低了硬条件匹配和反向污点分析等漏洞分析方法的难度。最后,本文设计了一个软件执行迹提取与分析系统,并通过实验验证了并行化提取软件执行迹和动态替换程序输入的能力,最后以真实软件为例证明了本系统对二进制漏洞分析的辅助能力。
其他文献
布拉格铅锌矿床地处中亚成矿域东部的二连浩特-东乌旗成矿带中段,为一典型受断裂控制的中-低温热液脉型矿床,矿体主要赋存在正长花岗岩及石炭-二叠系宝力高庙组第二岩性段英
光伏发电受天气影响很大,所以光伏发电具有高度随机、间歇的性质。随着电网的发展,光伏所占比重越来越大,电网安全准确的调度就需要对光伏发电功率进行预测。针对光伏数据这
硅基光波导(SOI)具有很强的非线性克尔效应等非线性光学特性,对光场有很强的约束作用,在集成光路和光通信等领域都拥有巨大的研究开发价值。孤子由于其在波导中传输的稳定性
目前国内外证券市场上的失信违规现象频发,在这些违规案例的背后,其中信息透明度问题是不可忽视的重要原因之一,提高上市公司信息透明度的重要意义也日渐明显。农业作为中国
研究酸解氧化魔芋葡甘露聚糖(AOKGM)对齐口裂腹鱼免疫功能的影响,旨在为AOKGM在功能性食品中的应用提供理论依据。通过多功能酶标仪测定血清相关免疫及抗氧化参数:CRP,C3,NO,
随着生物科学技术的不断研究发展,免疫治疗已应用于肿瘤、自身免疫性疾病等复杂疾病治疗过程中。疾病的发生是多基因间的复杂相互作用的结果,孤立地研究单个基因及其表达往往
随着我国社会经济的不断发展,银行体系在推动整体经济的腾飞、企业的发展方面发挥着不可替代的作用,而商业银行更是在其中扮演着为企业提供贷款的重要角色。然而在商业银行的
电力负荷预测对国家能源调配和国民经济发展有着不可替代的作用。电力系统部门可以根据预测结果对电网的输配电做出合理安排,进而对市政生活用电、工业生产用电等做出合理规
表面等离激元(Surface plasmon polaritons,SPPs)是金属表面自由电子与入射光波相互耦合产生的电磁波,SPPs突破衍射极限,在金属-电介质的界面上向前传播,在垂直于界面的方向
海上无线Mesh网络(Maritime Wireless Mesh Networks,MWMN)是由配置无线通信接口的船舶、灯塔、浮标等通过多跳形成的一种移动自组网络(Mobile Ad Hoc Network,MANET)。MWMN