首页> 外文会议>Annual IEEE/IFIP International Conference on Dependable Systems and Networks >Manufacturing Resilient Bi-Opaque Predicates Against Symbolic Execution
【24h】

Manufacturing Resilient Bi-Opaque Predicates Against Symbolic Execution

机译:制造符号执行的弹性双不透明谓词

获取原文

摘要

Control-flow obfuscation increases program complexity by semantic-preserving transformation. Opaque predicates are essential gadgets to achieve such transformation. However, we observe that real-world opaque predicates are generally very simple and engage little security consideration. Recently, such insecure opaque predicates have been severely attacked by symbolic execution-based adversaries and jeopardize the security of control-flow obfuscation. This paper, therefore, proposes symbolic opaque predicates which can be resilient to symbolic execution-based adversaries. We design a general framework to compose such opaque predicates, which requires introducing challenging symbolic analysis problems (e.g., symbolic memory) in each opaque predicate. In this way, we may mislead symbolic execution engines into reaching false conclusions. We observe a novel bi-opaque property about symbolic opaque predicates, which can incur not only false negative issues but also false positive issues to attackers. To evaluate the efficacy of our idea, we have implemented a prototype obfuscation tool based on Obfuscator-LLVM and conduct experiments with real-world programs. Our evaluation results show that symbolic opaque predicates demonstrate excellent resilience to prevalent symbolic execution engines, such as BAP, Triton, and Angr. Moreover, although the costs of symbolic opaque predicates may vary for different problem settings, some predicates can be very efficient. Therefore, our framework is both secure and usable. Users can follow the framework to introduce symbolic opaque predicates into their obfuscation tools and made them more powerful.
机译:控制流量混淆通过语义保留转换来提高节目复杂性。不透明的谓词是实现这种转变的必要小工具。然而,我们观察到现实世界不透明的谓词通常非常简单,并从事少的安全考虑。最近,这种不安全的不可思议的谓词被符号执行的对手严重攻击,并危及控制流量混淆的安全性。因此,本文提出了象征性的不透明谓词,其可以是符号基于执行的对手的弹性。我们设计一个概括的框架来撰写这种不透明的谓词,这需要在每个不透明谓词中引入具有挑战性的符号分析问题(例如,符号内存)。通过这种方式,我们可能会误导符号执行引擎到达虚假的结论。我们观察关于符号不透明谓词的新型双透明性,这不仅可能产生错误的负面问题,而且可能对攻击者的错误积极问题。为了评估我们的想法的功效,我们已经实现了基于Obfuscator-LLVM的原型混淆工具,并与现实世界的计划进行实验。我们的评估结果表明,符号不透明的谓词表现出优异的符号执行引擎,例如BAP,TRITON和ANGR。此外,尽管符号不透明谓词的成本可能因不同的问题设置而有所不同,但有些谓词可能非常有效。因此,我们的框架既安全可用。用户可以遵循框架来介绍符号不透明谓词,并使它们更强大。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号