期刊文献+

抵御控制流分析的程序混淆算法 被引量:1

Program obfuscation algorithm against control flow analysis
下载PDF
导出
摘要 针对控制流分析获取程序执行过程中的分支路径信息,引起路径信息泄露问题,提出能有效隐藏分支路径及其顺序的程序混淆算法。通过二态非透明谓词插入不相关分支路径和不相关结点,改变控制流中的单一结点形式,增加程序分支路径的控制流复杂度。将二态非透明谓词控制流平展化提高混淆强度,采用调度函数动态赋值算法对分支变量进行动态赋值,进一步隐藏分支路径顺序固定的控制流信息。实验结果表明,该算法能实现混淆程序的控制流逻辑关系,提高混淆强度,有效抵御程序的控制流分析。 Aiming at the problem of path information leakage incurred by control flow analysis that can collect the branch path information during program execution,the program obfuscation algorithm that concealed branch paths and their order was proposed.Irrelevant branch path and node were inserted through bi-state opaque predicate,which changed the homogeneous control flow node,and improved the control flow complexity of program branch path.The control flow of bi-state opaque predicate was flattened,which increased obfuscation potency,and the branch variable was assigned dynamically using the algorithm of dyna-mical allocation with dispatch function,which concealed control flow information of fixed branch path order further.Test results show that the proposed algorithm can not only obfuscate internal logic of program control flow,but improve the strength of obfuscation significantly,which combat the control flow analysis of program effectively.
作者 乐德广 赵杰 龚声蓉 LE De-guang;ZHAO Jie;GONG Sheng-rong(School of Computer Science and Engineering,Changshu Institute of Technology,Changshu 215500,China;Suzhou Tongcheng Tourism Network Technology Limited Company,Suzhou 215123,China)
出处 《计算机工程与设计》 北大核心 2020年第11期3255-3261,共7页 Computer Engineering and Design
基金 教育部新一代信息技术产学研创新基金项目(2018A01003) 教育部人文社会科学研究基金项目(18YJCZH068) 江苏省自然科学基金面上基金项目(BK20191475) 江苏省高校自然科学研究面上基金项目(18KJB520002)。
关键词 软件安全 程序混淆 控制流平展化 非透明谓词 分支路径 software security program obfuscation control flow flattening opaque predicate branch path
  • 相关文献

参考文献8

二级参考文献41

  • 1Wang R, Feng DG, Yang Y, Su PR. Semantics-Based malware behavior signature extraction and detection method. Ruan Jian Xue Bao/Joumal of Software, 2012,23(2):378-393 (in Chinese with English abstract), http://www.jos.org.cn/1000-9825/3953.htm [doi: 10.3724/SP.J.1001.2012.03953].
  • 2Wang Z, Pierce K, McFarling S. BMAT--A binary matching tool for stale profile propagation. Journal of Instruction-Level Parallelism, 2000,2(1):23-43.
  • 3Bayer U, Comparetti PM, Hlauscheck C, Kruegel C, Kirda E. Scalable, behavior-based malware clustering. In: Proc. of the Network and Distributed System Security Symp. (NDSS 2009). San Diego: NDSS Association, 2009. 8-11. http://www.isoc.org/ isoc/ /slides/11.pdf.
  • 4King J. Symbolic execution and program testing. Communications of the ACM, 1976,19(7):385-394. [doi: 10.1145/360248 360252].
  • 5Dijstra E. A Discipline of Programming, Vol.1. Englewood Cliffs: Prentice Hall, 1976. 12-25.
  • 6Nipkow T, Paulson L. Isabelle/HOL: A proof assistant for higher-order logic. LNCS, 2002,2283:120-131. http://www21.in.turn.de/ -nipkow/LNCS2283/.
  • 7Clarke M, Grumberg O, Peled D. Model Checking. 3rd ed., Cambridge: The MIT Press, 1999.9-15.
  • 8Cruz J. Constraint Reasoning for Differential Models. 5th ed., Amsterdam: The IOS Press, 2005.63-77.
  • 9Rahek JC, Khazan RI, Lewandowski SM, Cunningham RK. Detection of injected, dynamically generated, and obfuscated malicious code. In: Proc. of the 2003 ACM Workshop on Rapid Malcode. New York: Association for Computing Machinery, 2003.76-82. [doi: 10.1145/948187.948201].
  • 10Flake H. Structural comparison of executable objects. In: Prec. of the Int'l Conf. on Detection of Intrusions and Malware & Vulnerability Assessment (DIMVA 2004). Dortmund: Association for Computing Machinery, 2004. 83-97. http://citeseerx.ist. psu.edu/viewdoc/summary?doi=10. 1. 1.83.6632.

共引文献24

同被引文献7

引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部