首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 437 毫秒
1.
针对目前代码混淆有效性评估问题的复杂性和不一致性,提出一种基于主成分分析的代码混淆有效性综合评估模型。该模型将传统主成分分析进行改进,提出动态自适应主成分分析并应用于代码混淆有效性的指标体系中,通过实现变量重命名、数据编码、控制流压扁算法和插入不透明谓词死代码四种混淆方法,同时定义代码复杂度综合评估值和代码混淆度两个反映代码混淆有效性的综合指标进行模型的有效性验证。实验结果表明,该模型能提供一种有效证明代码混淆有效性的综合评估方法,最后还讨论不同的混淆方法和主成分赋权方法对结果的影响。  相似文献   

2.
基于抽象解释的代码迷惑有效性比较框架   总被引:8,自引:0,他引:8  
高鹰  陈意云 《计算机学报》2007,30(5):806-814
代码迷惑是一种以增加理解难度为目的的程序变换技术,用来保护软件免遭逆向剖析.代码迷惑是否有效是代码迷惑研究中首要解决的问题.目前对有效性证明的研究大都是基于非语义的方式.文章将语义与有效性证明联系起来,建立了基于语义的代码迷惑有效性比较框架,该框架能够为迷惑算法在静态分析这样的限定环境下提供有效性证明,而且也能严格比较迷惑算法之间的有效性,最后使用实例描述比较框架如何应用到证明代码迷惑的有效性.  相似文献   

3.
为改善软件的验证安全性机制,针对软件代码的混淆强度是否足够抵抗攻击的问题,提出一种基于分存技术的代码控制流混淆方法。利用分存技术得到多个能够动态检验非法操作的验证函数;将其与原有的代码控制流混淆方法结合,隐藏插入到程序中;通过改变软件代码的控制流结构,增加破解者逆向工程的难度,达到保护代码的目的。实验结果表明,该方法具备抵抗破解者攻击和动态验证系统安全性的能力。  相似文献   

4.
针对静动态逆向分析容易获取程序内部核心代码的问题,提出一种基于ROP技术的代码混淆方法。借鉴ROP攻击技术的代码组织和调用方式,利用内存空间随机分布的gadget指令序列执行目标代码的等价功能,实现隐藏目标代码和抵抗逆向分析的目的。从有效性、时间开销和空间开销三个方面评价方法的性能,分析和实验表明,该方法能够有效增加攻击者静动态获取和分析目标代码的难度,具有较好的时间和空间开销性能。  相似文献   

5.
为了克服软件保护过程中代码混淆方法选择的偶然性和盲目性,针对代码混淆量化比较和评估困难的问题,提出一种基于多层次属性加权的代码混淆定量评估方法:从攻击者角度出发,采用静态和动态逆向分析手段对混淆前后程序进行分析,量化基于程序属性的评估指标。构建三级层次分析模型,运用专家评分法来比较程序属性之间的重要性,以确定属性权值。在程序属性指标量化值和权值的基础上,运用层次分析法对不同混淆方法进行评估。实验和分析表明,评估方法能够定量地对不同混淆算法的有效性进行比较。  相似文献   

6.
李勇  左志宏 《微机发展》2007,17(4):125-127
逆向工程领域的进步,一方面提升了软件分析能力,另一方面,给软件安全带来更大的挑战。目标代码混淆技术是对软件进行保护的一种有力手段,能够有效地阻挡对软件的恶意分析。文中从逆向分析的角度出发介绍了目标代码混淆技术的分类及几种典型的目标代码混淆技术的实现及混淆效果。  相似文献   

7.
代码混淆是一种对软件代码的保护技术,通过提高代码逻辑的分析难度对软件进行加固。目前,针对代码混淆的研究主要集中在单一的新混淆方法的提出及其效果分析,针对多种混淆方法进行协同混淆的研究较少。针对此问题,文章提出一种基于强度导向的JavaScript代码协同混淆方法,首先对参与混淆的多种独立混淆方法进行强度评估;然后根据评估结果调整混淆方法的执行顺序,获得比单一的多方法叠加更好的混淆效果。实验结果表明,该方法能够以较低的代价获得更好的代码混淆效果。  相似文献   

8.
代码混淆是一种便捷、有效的软件保护方法,能够较好地对抗以逆向分析为基础的MATE攻击,随着以符号执行为基础的自动程序分析技术的发展,出现了能够抵抗符号执行的新代码混淆方法——路径分支混淆。依据路径分支信息的构成,以及分支信息在对抗符号执行分析上的差异,对分支混淆技术进行了分类,并给出了分支信息泄露与符号执行的联系;按照分支混淆的分类,对当前分支混淆的研究进展进行了介绍和总结,分析了各类分支混淆的优缺点;最后,对分支混淆技术的发展进行了展望。  相似文献   

9.
目标代码混淆技术综述   总被引:3,自引:0,他引:3  
逆向工程领域的进步,一方面提升了软件分析能力,另一方面,给软件安全带来更大的挑战。目标代码混淆技术是对软件进行保护的一种有力手段,能够有效地阻挡对软件的恶意分析。文中从逆向分析的角度出发介绍了目标代码混淆技术的分类及几种典型的目标代码混淆技术的实现及混淆效果。  相似文献   

10.
针对软件代码混淆算法中的内联方法存在混淆结果单一性问题,提出了一种多态内联代码混淆算法.基于有限状态自动机(FSM)建立了算法理论模型,对每个内联的方法体选择差异性的混淆实现,并通过理论分析说明了提出的算法在隐蔽、强度和执行开销方面的有效性,最后把提出的算法与Sandmark的内联算法进行了实验比较.实验结果表明,提出的算法在程序复杂度以及控制流结构的复杂度方面都得到了很大提高,验证了其对代码混淆强度的提升.  相似文献   

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

12.
为了提高软件的安全性,常使攻击者难以理解专利软件系统内部的工作机制,代码迷惑技术因其代价低廉而越来越受到人们的重视。代码迷惑技术的提出对于软件保护具有非常重要的意义,代码迷惑技术的使用可以对程序代码及核心算法进行保护。简要概述了代码迷惑技术基本内容,阐述了基本块和流图的相关知识,给出了可归约流图变换为不可归约流图的迷惑变换具体的算法及实验结果,并对算法的有效性进行了分析。  相似文献   

13.
Experiment with control code obfuscation   总被引:1,自引:0,他引:1  
Control code obfuscation is intended to prevent malicious reverse engineering of software by masking the program control flow. The idea for further advancing the state of the art was presented in 2000 by WANG C. An obfuscating system for Java based on the ideas of WANG C is implemented and experimented. The experiment results show that obfuscation can be done efficiently with moderate increases in code size, execution times, while making the obfuscated code resilient to a variety of reverse engineering attacks.  相似文献   

14.
混淆转换作为一种防止逆向工程的代码保护技术伴随着Java,语言的迅速发展应运而生。以保护软件代码、提高逆向工程代价为目标,从破解与反破解的角度对控制流混淆转换技术进行了研究,提出了重构程序整体控制结构及隐藏用于控制转换的短暂变量的方法,并通过试验对控制流混淆转换给程序带来的时间和空间上的过载进行了客观评析。  相似文献   

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

16.
将计算机多态病毒特性和扩频思想结合,提出了基于多态性的Java软件水印。通过对核心功能模块的程序代码和水印信息进行联合加密,一方面防止静态的逆向工程分析,保护关键代码;一方面起到了防篡改的作用,增加了攻击者难度。分析表明,该算法可以有效地抵抗各种攻击,鲁棒性高。  相似文献   

17.
To protect valuable assets embedded in software against reverse-engineering attacks, software obfuscations aim at raising the apparent complexity of programs and at removing information that is useful for attackers. In this work, we propose to combine five transformations that obfuscate the type hierarchy of Java applications and eliminate much of the type information that can be inferred from the Java bytecode. We rely on some existing algorithms, present adaptations, and introduce new algorithms for some of the transformations, which are all made available in an open-source prototype implementation ready for take-up. We present an extensive experimental evaluation on benchmarks of real-world complexity, using complementary metrics that cover the protection strength against both human and tool-based reverse-engineering attack methods. The results indicate that the obfuscation is effective as well as much more efficient than the previous state of the art. For the first time, this makes these obfuscations practically viable in real-world deployment scenarios.  相似文献   

18.
通过反向工程可以较容易获得Java程序代码的设计类图,从而给保护软件知识产权带来困难。为此,采用Java接口融合的代码迷惑方法,提出一种保护Java程序设计类图的代码迷惑算法,并根据该算法构造一种Java接口融合迷惑器。实验结果表明,该算法具有较好的迷惑效果,有效地隐藏程序的设计类图,并且没有额外时间消耗和大量冗余代码。  相似文献   

19.
In recent years, mobile apps have become the infrastructure of many popular Internet services. It is now common that a mobile app serves millions of users across the globe. By examining the code of these apps, reverse engineers can learn various knowledge about the design and implementation of the apps. Real-world cases have shown that the disclosed critical information allows malicious parties to abuse or exploit the app-provided services for unrightful profits, leading to significant financial losses. One of the most viable mitigations against malicious reverse engineering is to obfuscate the apps. Despite that security by obscurity is typically considered to be an unsound protection methodology, software obfuscation can indeed increase the cost of reverse engineering, thus delivering practical merits for protecting mobile apps. In this paper, we share our experience of applying obfuscation to multiple commercial iOS apps, each of which has millions of users. We discuss the necessity of adopting obfuscation for protecting modern mobile business, the challenges of software obfuscation on the iOS platform, and our efforts in overcoming these obstacles. We especially focus on factors that are unique to mobile software development that may affect the design and deployment of obfuscation techniques. We report the outcome of our obfuscation with empirical experiments. We additionally elaborate on the follow-up case studies about how our obfuscation affected the app publication process and how we responded to the negative impacts. This experience report can benefit mobile developers, security service providers, and Apple as the administrator of the iOS ecosystem.  相似文献   

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

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