Manufacturing opaque predicates in distributed systems for code obfuscation

  • Authors:
  • Anirban Majumdar;Clark Thomborson

  • Affiliations:
  • Secure Systems Group, Department of Computer Science, The University of Auckland, Auckland, New Zealand;Secure Systems Group, Department of Computer Science, The University of Auckland, Auckland, New Zealand

  • Venue:
  • ACSC '06 Proceedings of the 29th Australasian Computer Science Conference - Volume 48
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Code obfuscation is a relatively new technique of software protection and it works by deterring reverse engineering attempts by malicious users of software. The objective of obfuscation is to make the logic embedded in code incomprehensible to automated program analysis tools used by adversaries. Opaque predicates act as tool for obfuscating control flow logic embedded within code. In this position paper, we address the problem of control-flow code obfuscation of processes executing in distributed computing environments by proposing a novel method of combining the open problems of distributed global state detection with a well-known hard combinatorial problem to manufacture opaque predicates. We name this class of new opaque predicates as distributed opaque predicates. We demonstrate our approach with an illustration and provide an extensive security analysis of code obfuscated with distributed opaque predicates. We show that our class of opaque predicates is capable of withstanding most known forms of automated static analysis attacks and a restricted class of dynamic analysis attack that could be mounted by adversaries.