计算机科学 ›› 2023, Vol. 50 ›› Issue (8): 352-358.doi: 10.11896/jsjkx.220600149
王雨芳1,2, 乐德广2,3, Jack TAN3, 肖乐2, 龚声蓉2
WANG Yufang1,2, LE Deguang2,3, Jack TAN3, XIAO Le2, GONG Shengrong2
摘要: 结合不透明谓词,控制流混淆可以进行语义保持的变换,从而达到代码保护的目的。然而,现有的不透明谓词容易遭受符号执行攻击且存在小符号变量问题。为了解决上述问题,结合符号变量和数组利用单数组元素嵌套和符号变量模加运算设计不等条件表达式,并提出无尺寸约束的不透明谓词构建算法。基于该算法构建的不透明谓词混淆可以令攻击者错误地将不透明谓词识别为普通谓词或者将普通谓词识别为不透明谓词,从而有效抵御符号执行攻击。此外,利用不透明谓词检测以及虚假控制流去除等测试程序,对应用了无尺寸约束的不透明谓词混淆后程序的强度、弹性及开销进行实验测试分析。测试结果表明,基于所提算法实现的不透明谓词混淆不仅具有高强度和低开销,而且在新测试环境下仍然具有较高的抗反混淆弹性。
中图分类号:
[1]SCHRITTWIESER S,KATZENBEISSER S,KINDER J,et al.Protecting software through obfuscation:Can it keep pace with progress in code analysis? [J].ACM Computing Surveys,2016,49(1):1-37. [2]HOSSEINZADEH S,RAUTI S,LAUREN S,et al.Diversifica-tion and obfuscation techniques for software security:A syste-matic literature review [J].Information and Software Technology,2018,104(5):72-93. [3]XU H,ZHOU Y F,MING J,et al.Layered obfuscation:A ta-xonomy of software obfuscation techniques for layered security [J].Cybersecurity,2021,9(3):1-18. [4]COLLBERG C,THOM BORSON C D,DOUGLAS L.A taxo-nomy of obfuscating transformations [R].Auckland:Department of Computer Science,University of Auckland,1997. [5]COLLBERG C,THOMBORSON C D,DOUGLAS L.Manufacturing cheap,resilient,and stealthy opaque constructs [C]//Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages(POPL'98).New York,NY,USA:ACM,1998:184-196. [6]CHEN D M,FAN X H,ZHU J,et al.Obfuscation algorithms based on congruence equation and Chinese remainder theorem [J].Application Research of Computers,2015,32(2):485-488. [7]SU Q,WU W M,ZHANG Z L,et al.Research and application of chaos opaque predicate in code obfuscation [J].Computer Science,2013,40(6):155-159. [8]XIE X,LIU F L,LU B,et al.Mixed obfuscation of overlapping instruction and self-modify code based on hyper-chaotic opaque predicates[C]//Proceedings of 2014 Tenth International Conference on Computational Intelligence and Security.New York,NY,USA:ACM,2014:524-528. [9]SU Q,SUN J T.Research on opaque predicate obfuscation technique based on chaotic opaque expression [J].Computer Science,2017,44(12):114-119. [10]BALACHANDRAN V.Quantum obfuscation:Quantum predi-cates with entangled qubits[C]//Proceedings of the Eleventh ACM Conference on Data and Application Security and Privacy(CODASPY '21).New York,NY,USA:ACM,2021:293-295. [11]TUNG Y J,HARRIS I G.Zero footprint opaque predicates:Synthesizing opaque predicates fromnaturally occurring inva-riants[C]//Proceedings of the 2021 International Conference on Detection of Intrusions and Malware,and Vulnerability Assessment.Berlin:Springer,2021:299-318. [12]ZHANG Y F,CHEN Z B,SHUAI Z Q,et al.Multiplex symbo-lic execution:exploring multiple paths by solving once[C]//Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering.New York,NY,USA:ACM,2020:846-857. [13]BALDONI R,COPPA E,CONO D D,et al.A survey of symbo-lic execution techniques [J].ACM Computing Surveys,2018,51(3):1-39. [14]MING J,XU D P,WANGL,et al.LOOP:Logic-oriented opaque predicate detection in obfuscated binary code[C]//Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security.New York,NY,USA:ACM,2015:757-768. [15]XU H,ZHOU Y F,KANG Y,et al.Manufacturing resilient bi-opaque predicates against symbolic execution[C]//Proceedings of 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks(DSN).New York,NY,USA:IEEE,2018:666-677. [16]LIANG H L,YU W Q,AI L,et al.A practical concolic execution technique for large scale software systems[C]//Proceedings of the Evaluation and Assessment in Software Engineering(EASE'20).New York,NY,USA:ACM,2020:312-317. [17]XU H.Software obfuscation with layered security [D].Hong Kong:The Chinese University of Hong Kong,2018. [18]UNIVERSITY OF ARIZONA.Tigress software [EB/OL].https://tigress.wtf/addOpaque.html. [19]RUNOOB.Fibonacci program [EB/OL].https://www.runoob.com/cprogramming/c-examples-fibonacci-series.html. [20]MUSLIJA A,ENOIU E.On the measurement of software complexity for PLC industrial control systems using TIQVA[C]//Proceedings of the 35th Annual ACM Symposium on Applied Computing.New York,NY,USA:ACM,2020:1556-1565. [21]ZHAO Y J,TANG Z Y,WANG N,et al.Evaluation of code obfuscating transformation [J].Journal of Software,2012,23(3):700-711. [22]MENST.Research trends in structural software complexity[EB/OL].https://arxiv.org/abs/1608.01533v1. [23]CAMPWOOD.Source Moniter software [EB/OL].https://www.campwoodsw.com/sourcemonitor.html. [24]ANGR.Angr software [EB/OL].http://angr.io/. [25]BLUESADI.Debogus program [EB/OL].https://github.com/bluesadi/debogus. [26]HEX RAYS.IDA Pro [EB/OL].https://hex-rays.com/IDA-pro/. |
|