首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 78 毫秒
1.
针对底层虚拟机混淆器(OLLVM)在指令混淆层面只支持指令替换一种算法,且仅支持5种运算符和13种替换方案的问题,设计了一种改进版的指令混淆框架InsObf,以加强OLLVM指令层面的混淆效果。InsObf包含指令加花和指令替换,其中指令加花首先对基本块的指令进行依赖分析,然后插入叠加跳转和虚假循环两种花指令;指令替换在OLLVM的基础上,拓展至13种运算符,共计52种指令替换方案。在底层虚拟机(LLVM)上实现了框架原型后,通过实验表明,与OLLVM相比,InsObf在时间开销增长约10个百分点,空间开销增长约20个百分点的情况下,圈复杂度和抗逆向能力均可提高近4倍;与同样基于OLLVM改进的Armariris和Hikari相比,InsObf在同一量级的时空开销下,可以提供更高的代码复杂度。因此,InsObf可提供指令层级的有效保护。  相似文献   

2.
寇宇  王其军 《计算机应用研究》2022,39(11):3465-3469+3474
底层虚拟机混淆器(OLLVM)是一个著名的代码混淆工具,除了用于保护商业软件的安全外,也被恶意代码的开发者所利用,以此增加分析难度。为便于安全研究人员对ARM恶意程序进行分析,提出并实现了基于动态分析的OLLVM自动化反混淆方法。对于虚假控制流,根据不透明谓词的内存特征监控内存读写并利用动态污点分析技术识别虚假控制流来完成反混淆;对于控制流平坦化,通过动态运行程序并记录基本块的执行顺序来完成反混淆;同时利用多执行路径构造来提高代码覆盖率,最后通过指令修复还原基本块之间的关系。实验结果表明,该方法可准确消除可执行程序中因混淆产生的条件分支,且反混淆后得到的程序其运行结果与未混淆的程序保持一致,能有效完成对ARM混淆程序的反混淆工作。  相似文献   

3.
针对Miasm反混淆框架反混淆后的结果是一张图片,无法反编译恢复程序源码的问题,在对底层虚拟机混淆器(OLLVM)混淆策略和Miasm反混淆思路进行深入学习研究后,提出并实现了一种基于符号执行的OLLVM通用型自动化反混淆框架。首先,利用基本块识别算法找到混淆程序中有用的基本块和无用块;其次,采用符号执行技术确定各个有用块之间的拓扑关系;然后,直接对基本块汇编代码进行指令修复;最后,得到一个反混淆后的可执行文件。实验结果表明,该框架在保证尽量少的反混淆用时前提下,反混淆后的程序与未混淆源程序的代码相似度为96.7%,能非常好地实现x86架构下C/C++文件的OLLVM反混淆。  相似文献   

4.
针对控制流混淆和数据混淆会引入额外开销的问题,提出4种标识符重命名算法,包括滥用标识符算法、重载无关联方法算法、非法标识符代替合法标识符算法以及重写静态方法算法,以这4种算法为核心技术构造Java混淆器JIRO,对JIRO的性能进行初步分析,结果表明,JIRO具有较好的混淆效果,不会引入额外的字节码执行开销。  相似文献   

5.
陈亮  王思 《福建电脑》2009,25(10):60-60,51
越来越多的软件以平台无关的中间代码来发布,代码混淆技术降低了被静态分析、逆向工程和篡改等恶意攻击的可能性,从而达到保护软件源码的效果。文章从软件保护的方法出发,给出了代码混淆技术的定义和目标,介绍了代码混淆技术的分类和性能指标,最后指出代码混淆技术的发展方向。  相似文献   

6.
一种采用嵌套虚拟机的软件保护方案   总被引:1,自引:0,他引:1  
随着逆向工程的发展,传统的众多保护方法已经不再适合现代软件保护的要求.给出了一种新的基于虚拟机的保护方案,将本地机器码译成虚拟指令并由虚拟机解释和执行,抽象了软件语义,使得逆向工程师极难理解高层原程序逻辑.此外,方案中采用了嵌套多重虚拟机技术,逆向工程师不把前一重突破就无法展开对下一重的分析,从而使得该软件保护方案极大提高了安全性.  相似文献   

7.
用于软件保护的代码混淆技术   总被引:3,自引:0,他引:3  
罗宏  蒋剑琴  曾庆凯 《计算机工程》2006,32(11):177-179
对软件的盗版、篡改和逆向工程使软件的安全受到了严重威胁。攻击者通过静态分析和动态跟踪来分析编程者的思想,获取机密数据和核心算法。因此,保护程序在未知环境下正常运行,防止逆向工程和静态分析的攻击,成为软件保护的一个重要问题。文章从软件保护的方法出发,介绍和分析代码混淆技术的方法和目标,并指出了代码混淆技术的优势和发展趋势。  相似文献   

8.
潘雁  祝跃飞  林伟 《软件学报》2019,30(6):1778-1792
软件程序是按一定顺序排列的指令序列,指令的排列组合构成了千变万化的程序语义.指令顺序重排通常会相应地导致程序语义的变化,通过分析相邻指令序列的相对独立性,可以在不影响程序语义的前提下交换相邻指令序列,增大指令距离,改变程序特征,在一定程度上增加逆向分析代价.通过改进程序的形式化定义论证相邻指令交换的充分条件,采用模拟退火算法实现随机化的指令乱序混淆方法,并将指令乱序方法与虚拟机代码保护技术融合,实现基于指令乱序的虚拟机代码保护系统IS-VMP,使用加密算法实例进行系统测试,验证了指令乱序混淆算法的可行性与有效性.  相似文献   

9.
代码混淆技术常被用于软件保护领域和恶意代码对抗分析.传统的代码混淆技术会使逆向分析者获得程序的全部二进制代码,因此存在一定的安全性问题.为缓解这一问题,提出了一种基于代码移动的二进制程序控制流混淆方法,将程序的重要控制逻辑代码移动至逆向分析者不可控的可信实体,以使本地代码控制流信息部分缺失,从而使得程序的关键行为无法通过推理获知;利用包含无初始意义操作数的非条件跳转指令替代条件跳转指令隐藏路径分支的分支条件和目标地址,以增大收集程序路径信息的难度.对该控制流混淆方法从强度、弹性和开销3个指标进行了技术评价.将所提混淆方法用于6个恶意软件触发条件的混淆并对混淆之后的恶意代码进行逆向分析实验,结果表明该混淆方法能够较好地抵抗基于静态分析和符号执行的逆向分析方法.  相似文献   

10.
代码混淆可有效对抗逆向工程等各类MATE攻击威胁,作为攻击缓和性质的内生安全技术发展较为成熟,对代码混淆效果的合理度量具有重要价值。代码混淆度量研究相对较少,针对代码混淆弹性的度量方法与泛化性、实用性度量方法相对缺乏。符号执行技术广泛应用于反混淆攻击,其生成遍历程序完整路径输入测试集的难度可为混淆弹性度量提供参考,然而基于程序嵌套结构的对抗技术可显著降低符号执行效率,增加其混淆弹性参考误差。针对上述问题,提出结合符号执行技术和N-scope复杂度的代码混淆度量方法,该方法首先基于程序符号执行时间定义程序混淆弹性;其次提出适配符号执行的N-scope复杂度,定义程序混淆强度同时增强符号执行对多层嵌套结构程序的混淆弹性度量鲁棒性;进而提出结合动态分析与静态分析的混淆效果关联性分析,通过对程序进行符号执行与控制流图提取量化混淆效果。面向C程序构建了该度量方法的一种实现框架并验证,实验对3个公开程序集及其混淆后程序集约4 000个程序进行混淆效果度量,度量结果表明,提出的度量方法在较好地刻画混淆效果的同时拥有一定的泛化能力与实用价值;模拟真实混淆应用场景给出了该度量方法的使用样例,为混淆技术使...  相似文献   

11.
代码迷惑(保护程序的一种手段)通过增加程序的分析理解难度来阻止攻击者对代码进行有用的窜改。从攻击视角指出,盲目采用代码迷惑并不能有效增强程序安全性,而根据攻击模型,从多个角度综合运用各种码迷惑方法将能有效提高程序安全。随后建立攻击模型,将攻击描述为一个不断提取程序信息并据此分析具体语义,进而通过抽象和判断获取抽象语义的过程,并从攻击各层面出发引入相应的代码迷惑方法,进而保护代码安全。  相似文献   

12.
针对现有剪贴板操作监控无法抵御内核层攻击,且所采取的单一保护策略无法满足现实需求的问题,提出一种基于虚拟机监控器(VMM)的文档内容剪贴板操作监控技术,并提出基于剪贴板操作监控的电子文档分级保护策略。首先,通过修改影子寄存器的方法在VMM层截获并识别系统调用;其次,监控文档打开操作建立进程标识符和文档路径之间的映射表,并在截获到剪贴板操作后通过进程标识符解析文档路径;最后,根据电子文档分级保护策略对剪贴板操作进行过滤。实验结果表明,监控系统给客户机文件系统带来的性能损耗随着文件读写块的增大而减小,当读写块大小达到64 KB以上时,客户机性能损耗在10%以内,对用户影响不大。  相似文献   

13.
在虚拟计算环境中,难以实时地监控与分配内存资源。针对以上问题,基于Xen虚拟计算环境,提出一种能够实时监控Xen虚拟机内存(VMM)使用情况的XMMC方法并进行了实现。所提方法运用Xen虚拟机提供的超级调用,其不仅能实时地监控虚拟机内存使用情况,而且能实时动态按需分配虚拟机内存。实验结果表明,XMMC方法对虚拟机应用程序造成的性能损失很小,低于5%;能够对客户虚拟机的内存资源占用情况进行实时的监测与按需调整,为多虚拟机的管理提供方便。  相似文献   

14.
在基于低层虚拟机的四层C-to-VHDL可重构编译架构上,针对RAM访问和设计执行性能之间的矛盾,提出一种RAM读取优化算法。通过对IR访存指令及数据相关性的分析,创建专用数据通路,优化RAM的访存过程。实验结果表明,该优化算法能够有效减少RAM访问次数。  相似文献   

15.
云环境下恶意软件可利用多种手段篡改虚拟机(VM)中关键业务代码,威胁其运行的稳定性。传统的基于主机的度量系统易被绕过或攻击而失效,针对在虚拟机监视器(VMM)层难以获取虚拟机中运行进程完整代码段并对其进行完整性验证的问题,提出基于硬件虚拟化的虚拟机进程代码分页式度量方法。该方法以基于内核的虚拟机(KVM)作为虚拟机监视器,在VMM层捕获虚拟机进程的系统调用作为度量流程的触发点,基于相对地址偏移解决了不同版本虚拟机之间的语义差异,实现了分页式度量方法在VMM层透明地验证虚拟机中运行进程代码段的完整性。实现的原型系统——虚拟机分页式度量系统(VMPMS)能有效度量虚拟机中进程,性能损耗在可接受范围内。  相似文献   

16.
针对目前日益严峻的软件保护问题,对现有基于虚拟机的软件保护技术进行分析与研究,对虚拟机保护技术进行了改进,设计了一种增强型虚拟机软件保护技术。采用了虚拟花指令序列与虚拟指令模糊变换技术,并对虚拟机的虚拟指令系统做了改进,从而提高了虚拟机执行的复杂程度与迷惑程度,具有高强度的反逆向、防篡改、防破解的特点。实验分析表明,增强型虚拟机保护技术明显优于普通型虚拟机保护技术。  相似文献   

17.
目前的平展控制流主要是结合不透明谓词使用,例如混沌映射和同余方程算法。这些算法会引起大量额外开销。此外,这种结合不透明谓词的平展控制流混淆方法难抵御动态逆向攻击。针对这些问题,提出了在插入与原基本块结构类似、但数据随机生成且与原基本块不同的冗余块,使攻击者难以区分实际执行基本块的基础上,对实际执行基本块和冗余块进行控制流平展化处理,进一步混淆控制流结构。此外,构建分支函数动态赋值算法,对分支变量进行强化,提高混淆弹性。该控制流混淆算法在mbed TLS程序测试集上进行控制流、逆向工程和性能测试与分析,测试与分析结果表明该混淆算法不仅能大大提高混淆强度,还能有效保护程序控制流信息,抵抗动静态逆向分析。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号