You are looking at a specific version 20170821:133514 of this paper. See the latest version.

Paper 2017/787

Indistinguishable Predicates: A New Tool for Obfuscation

Lukas Zobernig and Steven D. Galbraith and Giovanni Russello

Abstract

Opaque predicates are a commonly used technique in program obfuscation, intended to add complexity to control flow and to insert dummy code or watermarks. We survey a number of methods to remove opaque predicates from obfuscated programs, hence defeating the intentions of the obfuscator. Our main contribution is an obfuscation technique that introduces opaque constant predicates that are provably indistinguishable from obfuscations of certain other predicates in the program. Our technique resists all known efficient static attacks on opaque predicates. We present an evaluation of our implementation of the scheme. This includes measurements of its performance impact on an obfuscated instance versus a vanilla one and an experimental verification that the obfuscator is functionality preserving.

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Preprint. MINOR revision.
Keywords
program obfuscationindistinguishableopaque predicates
Contact author(s)
lukas zobernig @ auckland ac nz
History
2019-05-21: revised
2017-08-21: received
See all versions
Short URL
https://ia.cr/2017/787
License
Creative Commons Attribution
CC BY
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.