共查询到17条相似文献,搜索用时 78 毫秒
1.
针对底层虚拟机混淆器(OLLVM)在指令混淆层面只支持指令替换一种算法,且仅支持5种运算符和13种替换方案的问题,设计了一种改进版的指令混淆框架InsObf,以加强OLLVM指令层面的混淆效果。InsObf包含指令加花和指令替换,其中指令加花首先对基本块的指令进行依赖分析,然后插入叠加跳转和虚假循环两种花指令;指令替换在OLLVM的基础上,拓展至13种运算符,共计52种指令替换方案。在底层虚拟机(LLVM)上实现了框架原型后,通过实验表明,与OLLVM相比,InsObf在时间开销增长约10个百分点,空间开销增长约20个百分点的情况下,圈复杂度和抗逆向能力均可提高近4倍;与同样基于OLLVM改进的Armariris和Hikari相比,InsObf在同一量级的时空开销下,可以提供更高的代码复杂度。因此,InsObf可提供指令层级的有效保护。 相似文献
2.
底层虚拟机混淆器(OLLVM)是一个著名的代码混淆工具,除了用于保护商业软件的安全外,也被恶意代码的开发者所利用,以此增加分析难度。为便于安全研究人员对ARM恶意程序进行分析,提出并实现了基于动态分析的OLLVM自动化反混淆方法。对于虚假控制流,根据不透明谓词的内存特征监控内存读写并利用动态污点分析技术识别虚假控制流来完成反混淆;对于控制流平坦化,通过动态运行程序并记录基本块的执行顺序来完成反混淆;同时利用多执行路径构造来提高代码覆盖率,最后通过指令修复还原基本块之间的关系。实验结果表明,该方法可准确消除可执行程序中因混淆产生的条件分支,且反混淆后得到的程序其运行结果与未混淆的程序保持一致,能有效完成对ARM混淆程序的反混淆工作。 相似文献
3.
针对Miasm反混淆框架反混淆后的结果是一张图片,无法反编译恢复程序源码的问题,在对底层虚拟机混淆器(OLLVM)混淆策略和Miasm反混淆思路进行深入学习研究后,提出并实现了一种基于符号执行的OLLVM通用型自动化反混淆框架。首先,利用基本块识别算法找到混淆程序中有用的基本块和无用块;其次,采用符号执行技术确定各个有用块之间的拓扑关系;然后,直接对基本块汇编代码进行指令修复;最后,得到一个反混淆后的可执行文件。实验结果表明,该框架在保证尽量少的反混淆用时前提下,反混淆后的程序与未混淆源程序的代码相似度为96.7%,能非常好地实现x86架构下C/C++文件的OLLVM反混淆。 相似文献
4.
5.
越来越多的软件以平台无关的中间代码来发布,代码混淆技术降低了被静态分析、逆向工程和篡改等恶意攻击的可能性,从而达到保护软件源码的效果。文章从软件保护的方法出发,给出了代码混淆技术的定义和目标,介绍了代码混淆技术的分类和性能指标,最后指出代码混淆技术的发展方向。 相似文献
6.
一种采用嵌套虚拟机的软件保护方案 总被引:1,自引:0,他引:1
随着逆向工程的发展,传统的众多保护方法已经不再适合现代软件保护的要求.给出了一种新的基于虚拟机的保护方案,将本地机器码译成虚拟指令并由虚拟机解释和执行,抽象了软件语义,使得逆向工程师极难理解高层原程序逻辑.此外,方案中采用了嵌套多重虚拟机技术,逆向工程师不把前一重突破就无法展开对下一重的分析,从而使得该软件保护方案极大提高了安全性. 相似文献
7.
8.
软件程序是按一定顺序排列的指令序列,指令的排列组合构成了千变万化的程序语义.指令顺序重排通常会相应地导致程序语义的变化,通过分析相邻指令序列的相对独立性,可以在不影响程序语义的前提下交换相邻指令序列,增大指令距离,改变程序特征,在一定程度上增加逆向分析代价.通过改进程序的形式化定义论证相邻指令交换的充分条件,采用模拟退火算法实现随机化的指令乱序混淆方法,并将指令乱序方法与虚拟机代码保护技术融合,实现基于指令乱序的虚拟机代码保护系统IS-VMP,使用加密算法实例进行系统测试,验证了指令乱序混淆算法的可行性与有效性. 相似文献
9.
代码混淆技术常被用于软件保护领域和恶意代码对抗分析.传统的代码混淆技术会使逆向分析者获得程序的全部二进制代码,因此存在一定的安全性问题.为缓解这一问题,提出了一种基于代码移动的二进制程序控制流混淆方法,将程序的重要控制逻辑代码移动至逆向分析者不可控的可信实体,以使本地代码控制流信息部分缺失,从而使得程序的关键行为无法通过推理获知;利用包含无初始意义操作数的非条件跳转指令替代条件跳转指令隐藏路径分支的分支条件和目标地址,以增大收集程序路径信息的难度.对该控制流混淆方法从强度、弹性和开销3个指标进行了技术评价.将所提混淆方法用于6个恶意软件触发条件的混淆并对混淆之后的恶意代码进行逆向分析实验,结果表明该混淆方法能够较好地抵抗基于静态分析和符号执行的逆向分析方法. 相似文献
10.
代码混淆可有效对抗逆向工程等各类MATE攻击威胁,作为攻击缓和性质的内生安全技术发展较为成熟,对代码混淆效果的合理度量具有重要价值。代码混淆度量研究相对较少,针对代码混淆弹性的度量方法与泛化性、实用性度量方法相对缺乏。符号执行技术广泛应用于反混淆攻击,其生成遍历程序完整路径输入测试集的难度可为混淆弹性度量提供参考,然而基于程序嵌套结构的对抗技术可显著降低符号执行效率,增加其混淆弹性参考误差。针对上述问题,提出结合符号执行技术和N-scope复杂度的代码混淆度量方法,该方法首先基于程序符号执行时间定义程序混淆弹性;其次提出适配符号执行的N-scope复杂度,定义程序混淆强度同时增强符号执行对多层嵌套结构程序的混淆弹性度量鲁棒性;进而提出结合动态分析与静态分析的混淆效果关联性分析,通过对程序进行符号执行与控制流图提取量化混淆效果。面向C程序构建了该度量方法的一种实现框架并验证,实验对3个公开程序集及其混淆后程序集约4 000个程序进行混淆效果度量,度量结果表明,提出的度量方法在较好地刻画混淆效果的同时拥有一定的泛化能力与实用价值;模拟真实混淆应用场景给出了该度量方法的使用样例,为混淆技术使... 相似文献
11.
12.
针对现有剪贴板操作监控无法抵御内核层攻击,且所采取的单一保护策略无法满足现实需求的问题,提出一种基于虚拟机监控器(VMM)的文档内容剪贴板操作监控技术,并提出基于剪贴板操作监控的电子文档分级保护策略。首先,通过修改影子寄存器的方法在VMM层截获并识别系统调用;其次,监控文档打开操作建立进程标识符和文档路径之间的映射表,并在截获到剪贴板操作后通过进程标识符解析文档路径;最后,根据电子文档分级保护策略对剪贴板操作进行过滤。实验结果表明,监控系统给客户机文件系统带来的性能损耗随着文件读写块的增大而减小,当读写块大小达到64 KB以上时,客户机性能损耗在10%以内,对用户影响不大。 相似文献
13.
14.
15.
云环境下恶意软件可利用多种手段篡改虚拟机(VM)中关键业务代码,威胁其运行的稳定性。传统的基于主机的度量系统易被绕过或攻击而失效,针对在虚拟机监视器(VMM)层难以获取虚拟机中运行进程完整代码段并对其进行完整性验证的问题,提出基于硬件虚拟化的虚拟机进程代码分页式度量方法。该方法以基于内核的虚拟机(KVM)作为虚拟机监视器,在VMM层捕获虚拟机进程的系统调用作为度量流程的触发点,基于相对地址偏移解决了不同版本虚拟机之间的语义差异,实现了分页式度量方法在VMM层透明地验证虚拟机中运行进程代码段的完整性。实现的原型系统——虚拟机分页式度量系统(VMPMS)能有效度量虚拟机中进程,性能损耗在可接受范围内。 相似文献
16.
针对目前日益严峻的软件保护问题,对现有基于虚拟机的软件保护技术进行分析与研究,对虚拟机保护技术进行了改进,设计了一种增强型虚拟机软件保护技术。采用了虚拟花指令序列与虚拟指令模糊变换技术,并对虚拟机的虚拟指令系统做了改进,从而提高了虚拟机执行的复杂程度与迷惑程度,具有高强度的反逆向、防篡改、防破解的特点。实验分析表明,增强型虚拟机保护技术明显优于普通型虚拟机保护技术。 相似文献
17.
目前的平展控制流主要是结合不透明谓词使用,例如混沌映射和同余方程算法。这些算法会引起大量额外开销。此外,这种结合不透明谓词的平展控制流混淆方法难抵御动态逆向攻击。针对这些问题,提出了在插入与原基本块结构类似、但数据随机生成且与原基本块不同的冗余块,使攻击者难以区分实际执行基本块的基础上,对实际执行基本块和冗余块进行控制流平展化处理,进一步混淆控制流结构。此外,构建分支函数动态赋值算法,对分支变量进行强化,提高混淆弹性。该控制流混淆算法在mbed TLS程序测试集上进行控制流、逆向工程和性能测试与分析,测试与分析结果表明该混淆算法不仅能大大提高混淆强度,还能有效保护程序控制流信息,抵抗动静态逆向分析。 相似文献