计算机科学 ›› 2015, Vol. 42 ›› Issue (5): 178-182.doi: 10.11896/j.issn.1002-137X.2015.05.036

• 信息安全 • 上一篇    下一篇

一种基于混沌不透明谓词的压扁控制流算法

吴伟民,林水明,林志毅   

  1. 广东工业大学计算机学院 广州510006,广东工业大学计算机学院 广州510006,广东工业大学计算机学院 广州510006
  • 出版日期:2018-11-14 发布日期:2018-11-14
  • 基金资助:
    本文受广东高校优秀青年创新人才培养计划项目(2012LYM_0054),广州市科技计划项目(2012Y2-00046,3Y2-00043)资助

Chaotic-based Opaque Predicate Control Flow Flatten Algorithm

WU Wei-min, LIN Shui-ming and LIN Zhi-yi   

  • Online:2018-11-14 Published:2018-11-14

摘要: 提出了一种基于混沌不透明谓词的压扁控制流算法。该算法将一种新的基于Arnold cat二维混沌映射的N态不透明谓词的构造方法用于改进压扁控制流混淆算法的全局索引变量,并开发了一个基于该算法的JavaScript脚本混淆系统。通过对混淆前后JavaScript程序的静动态分析证明了该混淆算法具有正确性和有效性,同时还能提高混淆后程序的安全性。

关键词: Arnold cat二维混沌映射,N态不透明谓词,压扁控制流算法,JavaScript

Abstract: A control flow flatten algorithm based on chaotic opaque predicate was proposed.This algorithm applies a new construction method of N-state opaque predicates based on Arnold cat planar chaos mapping to improve the global index variable of control flatten flow obfuscation algorithm.A JavaScript obfuscation system was developed depending on this algorithm.Static and dynamic analysis of codes before and after obfuscating proves that the algorithm is correct and effective,and improves obfuscated code’s security.

Key words: Arnold cat planar chaos mapping,N-States opaque predicate,Control flow flatten algorithm,JavaScript

[1] Collberg C,Thomborson J,Low D.A Taxonomy of Obfuscating Transformations[R].Department of Computer Science,The University of Auckland,1997
[2] Wang Chen-xi.A security architecture for survivability mechanisms[D].Charlottesville:University of Virginia,2001
[3] Borello J M,Mé L.Code Obfuscation Techniques for Metamorphic Viruses[J].Journal of Computer Virology,2008,4(3):211-220
[4] Weaver N,Paxson V,Staniford S,et al.A Taxonomy of Computer Worms[C]∥Proceedings of the 2003 ACM workshop on Rapid malcode,Washington DC,USA,2003.ACM Press,2003:11-18
[5] Collberg C,Nagra J.Surreptitious Software Obfuscation,Watermarking,and Tamperproofing for Software Protection[M].Beijing:POST&TELECOM PRESS,2012:188-191
[6] 袁征,冯雁,温巧燕,等.构造一种新的混淆Java程序的不透明谓词[J].北京邮电大学学报,2007,0(6):103-106
[7] Arboit G.A method for watermarking java programs via opaque predicates[C]∥The Fifth International Conference on Electronic Commerce Research (ICECR-5).2002:102-110
[8] 苏庆,吴伟民,等.混沌不透明谓词在代码混淆中的研究与应用[J].计算机科学,2013,0(6):155-160
[9] Matthews R.On the derivation of a “chaotic” encryption algorithm[J].Cryptologia,1989,13(1):29-42
[10] Dawei Z,Guanrong C,Wenbo L.A chaos-based robust wavelet-domain watermarking algorithm[J].Chaos,Solitons & Fractals,2004,22(1):47-54
[11] 张健,于晓洋,任洪娥,等.一种改进的Arnold Cat变换图像置乱算法[J].计算机工程与应用,2009,5(35):14-17
[12] Chow S,Gu Y,Johnson H,et al.An Approach to the Obfuscation of Control-flow of Sequential Computer Programs [C]∥Proceedings of the 4th International Conference on Information Security, Malaga, Spain, 2001.Springer-Verlag,2001,2200:144-155
[13] László T,Kiss A.Obfuscating C++ Programs via ControlFlow Flattening[C]∥Proc.of the 10th Symposium on Programming Languages and Software Tools.2007
[14] Horwitz S,Reps T,Binkley D.Interprocedural slicing using dependence graphs[J].ACM Transactions on Programming Languages and Systems (TOPLAS),1990,12(1):26-60
[15] Udupa,Sharath K,Saumya K.Debray,and Matias Madou[C]∥Deobfuscation:Reverse engineering obfuscated code.Reverse Engineering,12th Working Conference on.IEEE,2005
[16] Blanck J.cyclomatic complexity analyzer(CCM) .http://www.blunck.info/ccm.html.2012
[17] 赵玉洁,汤战勇,王妮,等.代码混淆算法有效性评估[J].软件学报,2012,23(3):700-711

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!