Undecidability of static analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Precise flow-insensitive may-alias analysis is NP-hard
ACM Transactions on Programming Languages and Systems (TOPLAS)
Manufacturing cheap, resilient, and stealthy opaque constructs
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Improving data-flow analysis with path profiles
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
A tentative approach to constructing tamper-resistant software
NSPW '97 Proceedings of the 1997 workshop on New security paradigms
Even Simple Programs Are Hard To Analyze
Journal of the ACM (JACM)
Automata and Computability
The Equivalence Problem for Computational Models: Decidable and Undecidable Cases
MCU '01 Proceedings of the Third International Conference on Machines, Computations, and Universality
Breaking Abstractions and Unstructuring Data Structures
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Software Tamper Resistance: Obstructing Static Analysis of Programs
Software Tamper Resistance: Obstructing Static Analysis of Programs
Relationships between nondeterministic and deterministic tape complexities
Journal of Computer and System Sciences
Folklore confirmed: reducible flow graphs are exponentially larger
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
White-Box Cryptography and an AES Implementation
SAC '02 Revised Papers from the 9th Annual International Workshop on Selected Areas in Cryptography
Detecting Manipulated Remote Call Streams
Proceedings of the 11th USENIX Security Symposium
Dynamic Self-Checking Techniques for Improved Tamper Resistance
DRM '01 Revised Papers from the ACM CCS-8 Workshop on Security and Privacy in Digital Rights Management
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Control flow based obfuscation
Proceedings of the 5th ACM workshop on Digital rights management
LOCO: an interactive code (De)obfuscation tool
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Architecture Support for 3D Obfuscation
IEEE Transactions on Computers
Manufacturing opaque predicates in distributed systems for code obfuscation
ACSC '06 Proceedings of the 29th Australasian Computer Science Conference - Volume 48
A proposal of encoded computations for distributed massively multiplayer online services
Proceedings of the 2006 ACM SIGCHI international conference on Advances in computer entertainment technology
Proteus: virtualization for diversified tamper-resistance
Proceedings of the ACM workshop on Digital rights management
A semantics-based approach to malware detection
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamic graph-based software fingerprinting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Encoding for secure computations in distributed interactive real-time applications
Computer Communications
A compiler-based infrastructure for software-protection
Proceedings of the third ACM SIGPLAN workshop on Programming languages and analysis for security
A semantics-based approach to malware detection
ACM Transactions on Programming Languages and Systems (TOPLAS)
Control flow obfuscation with information flow tracking
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
Delayed and controlled failures in tamper-resistant software
IH'06 Proceedings of the 8th international conference on Information hiding
Information hiding in software with mixed Boolean-arithmetic transforms
WISA'07 Proceedings of the 8th international conference on Information security applications
Obfuscation by partial evaluation of distorted interpreters
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Malware: from modelling to practical detection
ICDCIT'10 Proceedings of the 6th international conference on Distributed Computing and Internet Technology
A survey of control-flow obfuscations
ICISS'06 Proceedings of the Second international conference on Information Systems Security
Software-Based copy protection for temporal media during dissemination and playback
ICISC'05 Proceedings of the 8th international conference on Information Security and Cryptology
On the concept of software obfuscation in computer security
ISC'07 Proceedings of the 10th international conference on Information Security
iBinHunt: binary hunting with inter-procedural control flow
ICISC'12 Proceedings of the 15th international conference on Information Security and Cryptology
Hi-index | 0.00 |
In this paper we present a straightforward approach to the obfuscation of sequential program control-flow in order to design tamperresistant software. The principal idea of our technique is as follows: Let I be an instance of a hard combinatorial problem C, whose solution K is known. Then, given a source program 驴, we implant I into 驴 by applying semantics-preserving transformations and using K as a key. This yields as its result an obfuscated program 驴I,K, such that a detection of some property P of 驴I,K, which is essential for comprehending the program, gives a solution to I. Varying instances I, we obtain a family 驴C of obfuscated programs such that the problem of checking P for 驴C is at least as hard as C. We show how this technique works by taking for C the acceptance problem for linear bounded Turing machines, which is known to be pspace-complete.