Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
Manufacturing cheap, resilient, and stealthy opaque constructs
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Software watermarking: models and dynamic embeddings
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A functional taxonomy for software watermarking
ACSC '02 Proceedings of the twenty-fifth Australasian conference on Computer science - Volume 4
Experience with software watermarking
ACSAC '00 Proceedings of the 16th Annual Computer Security Applications Conference
Manufacturing opaque predicates in distributed systems for code obfuscation
ACSC '06 Proceedings of the 29th Australasian Computer Science Conference - Volume 48
Extraction in software watermarking
MM&Sec '06 Proceedings of the 8th workshop on Multimedia and security
Recognition in software watermarking
Proceedings of the 4th ACM international workshop on Contents protection and security
Dynamic graph-based software fingerprinting
ACM Transactions on Programming Languages and Systems (TOPLAS)
A semi-dynamic multiple watermarking schemefor java applications
Proceedings of the nineth ACM workshop on Digital rights management
Informed recognition in software watermarking
PAISI'07 Proceedings of the 2007 Pacific Asia conference on Intelligence and security informatics
A survey of software watermarking
ISI'05 Proceedings of the 2005 IEEE international conference on Intelligence and Security Informatics
A low-cost attack on branch-based software watermarking schemes
IWDW'06 Proceedings of the 5th international conference on Digital Watermarking
A first step towards algorithm plagiarism detection
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Hi-index | 0.00 |
We introduce a novel method called constant encoding, which can be used to tamper-proof a software watermark that is embedded in the dynamic data structures of a program. Our novel tamper-proofing method is based on transforming numeric or non-numeric constant values in the text of the watermarked program into function calls whose value depends on the watermark data structure. Under reasonable assumptions about the knowledge and resources of an attacker, we argue that no attacker can be certain that they have altered our tamperproofed watermark unless they take a risk of affecting program correctness in some way that may be difficult to detect. In this paper we also present a novel scheme for representing a numeric value as a Planted Plane Cubic Tree, and we describe how to use this scheme in a particularly-effective implementation of our constant encoding tamperproofing method.