结合机器学习与单向保留前缀加密算法的分支混淆方法

来源 :南开大学 | 被引量 : 0次 | 上传用户:xiongying1207
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码混淆技术是对软件进行保护的一种常用手段,它通过隐藏关键行为或对代码进行复杂化处理,使得程序更加难以理解,从而增加了攻击者逆向分析的难度。程序中包含了大量的分支控制信息。从二进制的角度看,它们以比较指令和条件跳转指令的形式出现,这些指令决定着程序的执行轨迹,逆向分析者可以利用暴露的分支控制信息获取程序的核心模块。因此,对程序的关键分支控制信息的保护尤为重要。  当前,基于分支控制信息本身的混淆是混淆技术的一个难点,原因在于它们难于隐藏并且易于被反混淆工具进行逆向推理。基于前缀集合的单向保留前缀加密算法可以实现对分支的保护,但是由于求取前缀集合只能适用于正整数分支控制信息,同时在进行加密过程中容易暴露加密的长度,因此具有一定的局限性。本文提出了一种结合机器学习与单向保留前缀加密算法的分支混淆方法,分别利用人工神经网络和朴素贝叶斯分类器实现对分支控制信息的分类,从而使基于非等于关系的分支信息转化为等于关系的分支信息。在此基础上,利用单向保留前缀加密算法对分支两侧的变量或常量进行加密,该方案可以实现对实数域内任意的分支控制信息进行混淆,其逆向分析的难度等价于对单向函数的逆向计算以及对分类器的分类过程进行逆向分析。  对于该混淆方案整体性能的评估,本文利用二进制分析平台 BitBlaze进行了抗攻击性测试,经过对程序进行动态跟踪以及静态分析,发现混淆后的程序无法利用约束求解工具推导出与输入路径相反的可行解,因此具有较强的抗攻击性。同时,对于程序执行的性能,本文利用标准测试集SPEC CPU2006中的程序作为测试样本,对程序中的独立分支信息或循环结构中的分支信息进行混淆。实验表明,分类器可以实现准确的分类效果,同时,在时间开销和空间开销等方面性能良好。因此,本文提出的混淆方案在不仅具有较高安全性,同时也具有一定的实用价值。
其他文献
计算机图形学和虚拟现实技术的巨大进步,为数字奥运博物馆(DigitalOlympic Museum,简称DOM)原型系统提供了强大的理论指导和技术支持。本文描述了DOM原型系统的设计与实现,以
随着超级计算需求的扩大,人们把高性能计算更多的应用于数据挖掘应用、图像处理业务、基因测序比对处理等数据处理领域。科学计算的规模迅速膨胀,使得传统的串行计算已经不能满
随着Web的快速发展,如何从Web网站中获得需要的信息成为急需解决的问题,因此Web信息抽取成为必要,Web信息抽取技术也成为当今的一个研究热点。Web信息抽取需要解决的问题是:
计算中心计算机实验教学机房担负着为全校学生提供计算机教学、实验、课程设计和实践教学环境的重要任务,每年要完成实验教学任务近100万机时。同时,没有教学任务的机房还要
网格中如何实时准确地监控与发现网格中资源的状态和配置情况是网格的一个关键技术。目前的网格资源监控与发现系统难以适应网格的分布性、可缩放性、异构性等特点。本文首先
电缆沟井测控系统在保障电缆沟井电力安全生产方面起着至关重要的作用,社会各界给予了极大的关注,并在多方面展开了研究。加强电缆沟井在线综合测控系统下位机的实时性和可靠
在强调快速、高效的今天,越来越多的人将飞机作为出行首选交通工具。同时出行安全也是人们普遍关心的问题,因此人们对机场安全防御能力提出了越来越高的要求。浦东机场防入侵
近年来随着互联网的迅猛发展,信息技术和信息数据开始深入地影响人的生活,创造了庞大的价值,标志着我们进入了“大数据时代”。  处理“大数据”必然地对高性能产生了需求,在过
对图像进行三维重构时最重要的一环是恢复景物的深度,在目前计算机视觉研究领域中,大多数深度恢复算法都是利用聚焦图像来恢复景物深度的,如基于立体视觉的深度恢复算法和基
恶意程序伴随着计算机技术和互联网的发展而发展,对计算机信息安全构成了严重的威胁。恶意程序通过加密、加壳、变形等多态技术实现了代码的演变,这使得传统的基于反汇编技术的