首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到15条相似文献,搜索用时 125 毫秒
1.
针对现有代码混淆仅限于某一特定编程语言或某一平台,并不具有广泛性和通用性,以及控制流混淆和数据混淆会引入额外开销的问题,提出一种基于底层虚拟机(LLVM)的标识符混淆方法。该方法实现了4种标识符混淆算法,包括随机标识符算法、重载归纳算法、异常标识符算法以及高频词替换算法,同时结合这些算法,设计新的混合混淆算法。所提混淆方法首先在前端编译得到的中间文件中候选出符合混淆条件的函数名,然后使用具体的混淆算法对这些函数名进行处理,最后使用具体的编译后端将混淆后的文件转换为二进制文件。基于LLVM的标识符混淆方法适用于LLVM支持的语言,不影响程序正常功能,且针对不同的编程语言,时间开销在20%内,空间开销几乎无增加;同时程序的平均混淆比率在77.5%,且相较于单一的替换算法和重载算法,提出的混合标识符算法理论分析上可以提供更强的隐蔽性。实验结果表明,所提方法具有性能开销小、隐蔽性强、通用性广的特点。  相似文献   

2.
基于垃圾代码的控制流混淆算法   总被引:1,自引:0,他引:1       下载免费PDF全文
针对控制流混淆会引入额外开销的问题,提出一种利用垃圾代码进行控制流混淆的算法。将分支垃圾代码算法和循环垃圾代码算法相结合,并引入Hash函数以限制代码的插入操作,从而控制代码长度的增长,降低程序分析的精确度,抵抗篡改攻击。实验结果表明,该算法能有效防御逆向工程攻击。  相似文献   

3.
为了提高基于垃圾代码的控制流混淆方法的优化效果, 针对插入分支垃圾代码以及循环垃圾代码会引入大量额外开销的问题, 从软件保护中代码混淆技术出发, 对代码混淆技术的研究现状和原理、混淆算法攻击以及基于控制流混淆技术作了深入研究, 提出一种基于Java代码控制混淆中插入垃圾代码的改进方法。新方法与基于垃圾代码的控制流混淆变换方法比较, 结果表明, 新方法增加了代码抵抗攻击者的静态分析的能力, 增加了反编译以及逆向工程的难度, 既达到了很好的防御逆向工程攻击的效果, 又不会大量引入额外的系统开销。  相似文献   

4.
针对ARM程序高层代码混淆存在盲目性较强而降低混淆准确度,且很容易被逆向还原的问题。从ARM汇编指令底层研究ARM程序混淆,通过结合ARM架构指令系统的特点,基于模式切换提出一种ARM汇编代码混淆算法,包括指令模式切换混淆、寄存器随机分配混淆和虚假指令混淆,使混淆后汇编代码的控制流变得更加复杂,且对切换地址的寄存器混淆也提高了动态调试跟踪的难度。模式切换及虚假指令混淆也会造成反汇编错误,从复杂强度、逆向弹性和性能开销三方面进行测试评估。测试结果表明,该混淆算法不仅有效地提高了程序的控制流循环复杂度,而且能够抵抗反汇编工具的逆向分析。该混淆算法引发的额外体积开销和时间开销较低,具有实用性。  相似文献   

5.
为解决代码混淆算法有效性评估模型存在评价指标不全面、单一学习器泛化能力低的问题,提出一种融合自适应增强训练机制和Stacking算法的代码混淆算法有效性评估模型SDF-Stacking。构建一个包括强度、弹性、开销、隐蔽性4大特征的代码混淆有效性评价指标集合;在模型的基分类器训练阶段引入自适应增强训练机制,提高基分类器的预测精度和多样性;使用最大互信息算法做数据融合,增大元分类器训练数据信息量。实验结果表明,该模型在多个评价指标上均优于其它对比模型,准确率可达98.6%。  相似文献   

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

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

8.
自修改代码混淆方法是一种隐藏程序重要信息的有效技术。为减少代码混淆造成的额外开销而又不影响代码混淆的质量,利用程序流敏感分析方法选择比较重要的指令进行混淆。为提高代码混淆的质量,有效地防止反汇编,提出一个二步比较混淆模型。该模型包括两个子混淆器,混淆器1采用程序流敏感分析方法获得混淆的指令并产生两个混淆代码文件和一个混淆代码映射文件。混淆器2通过比较两个混淆代码文件精确地定位混淆指令在二进制代码中的位置,然后利用混淆代码映射文件对二进制代码进行混淆,以进一步提高代码混淆的质量。通过实验分析,混淆后二进制文件的额外开销只占整个代码的3%左右,并且混淆后的反汇编代码明显异于原始的反汇编代码,甚至出现了一些无法识别的错误指令。  相似文献   

9.
对代码混淆技术的运行框架和混淆算法性能的评价指标强度、弹性与开销作了介绍与分析。对主要的混淆算法,词法变换、控制流变换以及数据变换的原理及性能作了介绍,分析这三类算法的主要思想以及在性能上的优势与不足。最后对混淆算法的攻击方法进行介绍以及总结,并给出可能的研究方向及应用的前景。  相似文献   

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

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

12.
Motion estimation is extensively used in multimedia tasks, video coding standards and home consumer devices, appearing in many FFT-based motion algorithms. On other hand, the intellectual properties of embedded microprocessor systems are typically delivered on HDL and C source code levels. Obfuscating the code is most often the only way to protect and avoid reverse engineering. This paper presents an evaluation of operations widely used in motion estimation for an embedded microprocessor for protection purposes. A set of open source obfuscation tools has been developed that allows the use of very long and hard-to-read identifiers. The implementation of comment methods also allows for the addition of copyright and limited warranty information. The obfuscated code with identifiers of up to 2,048 characters in length is tested for Altera’s and Xilinx’s field programmable gate arrays for a typical HDL example. Compiler penalties as well as FFT runtime results are reported.  相似文献   

13.
Classification of data with imbalanced class distribution has posed a significant drawback of the performance attainable by most standard classifier learning algorithms, which assume a relatively balanced class distribution and equal misclassification costs. The significant difficulty and frequent occurrence of the class imbalance problem indicate the need for extra research efforts. The objective of this paper is to investigate meta-techniques applicable to most classifier learning algorithms, with the aim to advance the classification of imbalanced data. The AdaBoost algorithm is reported as a successful meta-technique for improving classification accuracy. The insight gained from a comprehensive analysis of the AdaBoost algorithm in terms of its advantages and shortcomings in tacking the class imbalance problem leads to the exploration of three cost-sensitive boosting algorithms, which are developed by introducing cost items into the learning framework of AdaBoost. Further analysis shows that one of the proposed algorithms tallies with the stagewise additive modelling in statistics to minimize the cost exponential loss. These boosting algorithms are also studied with respect to their weighting strategies towards different types of samples, and their effectiveness in identifying rare cases through experiments on several real world medical data sets, where the class imbalance problem prevails.  相似文献   

14.
The automatic recognition of transport containers using image processing is very hard because of the irregular size and position of identifiers, diverse colors of background and identifiers, and the impaired shapes of identifiers caused by container damages and the bent surface of container, etc. In this paper, we propose and evaluate a novel recognition algorithm for container identifiers that effectively overcomes these difficulties and recognizes identifiers from container images captured in various environments. The proposed algorithm, first, extracts the area containing only the identifiers from a container image by using CANNY masking and bi-directional histogram method. The extracted identifier area is binarized by the fuzzy binarization method newly proposed in this paper. Then a contour tracking method is applied to the binarized area in order to extract the container identifiers which are the target for recognition. This paper also proposes an enhanced fuzzy RBF network that adapts the enhanced fuzzy ART network for the middle layer. This network is applied to the recognition of extracted identifiers. The results of experiment for performance evaluation on the real container images showed that the proposed algorithm works better on the extraction and recognition of container identifiers compared to conventional algorithms.  相似文献   

15.
Code obfuscation can help software developers protect technological secrets. Code readability is greatly enhanced with object‐oriented technology that represents dynamic binding using instance method invocation. Therefore, dismantling instance methods is proposed in this paper as a critical obfuscating technique for object‐oriented programs. The interception classes are interpolated first into the project. The static images and the up forwarders are then created. For each virtual function system and each interface function system, a respective dispatching function is set up. By properly arranging the class identifiers and binding identifiers, the switch statement in the dispatching function can be compiled into constant‐time low‐level code. After using dispatching functions to simulate virtual function system or interface function system invocations, all original instance methods in the project will be removed. Interception functions and export functions are indispensable in supporting the operation of callback methods. A prototype of our obfuscation system was implemented and successfully tested on some practical scale applications. Copyright © 2013 John Wiley & Sons, Ltd.  相似文献   

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

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