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
A Practical Method for Watermarking Java Programs
COMPSAC '00 24th International Computer Software and Applications Conference
Hiding Signatures in Graph Coloring Solutions
IH '99 Proceedings of the Third International Workshop on Information Hiding
Robust Object Watermarking: Application to Code
IH '99 Proceedings of the Third International Workshop on Information Hiding
A Graph Theoretic Approach to Software Watermarking
IHW '01 Proceedings of the 4th International Workshop on Information Hiding
Experience with software watermarking
ACSAC '00 Proceedings of the 16th Annual Computer Security Applications Conference
A Survey of Program Slicing Techniques.
A Survey of Program Slicing Techniques.
Sandmark--A Tool for Software Protection Research
IEEE Security and Privacy
An abstract interpretation-based framework for software watermarking
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamic path-based software watermarking
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Compilers: Principles, Techniques, and Tools (2nd Edition)
Compilers: Principles, Techniques, and Tools (2nd Edition)
Graph theoretic software watermarks: implementation, analysis, and attacks
IH'04 Proceedings of the 6th international conference on Information Hiding
IH'04 Proceedings of the 6th international conference on Information Hiding
A method for detecting the theft of Java programs through analysis of the control flow information
Information and Software Technology
Control flow obfuscation with information flow tracking
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
Encoding watermark integers as self-inverting permutations
Proceedings of the 11th International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing on International Conference on Computer Systems and Technologies
Encoding watermark numbers as cographs using self-inverting permutations
Proceedings of the 12th International Conference on Computer Systems and Technologies
A novel watermarking method for software protection in the cloud
Software—Practice & Experience
Multiple encoding of a watermark number into reducible permutation graphs using cotrees
Proceedings of the 13th International Conference on Computer Systems and Technologies
A novel watermarking method for Java programs
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Evaluating the WaterRpg software watermarking model on Java application programs
Proceedings of the 17th Panhellenic Conference on Informatics
Hi-index | 0.00 |
Within the software industry software piracy is a great concern. In this article we address this issue through a prevention technique called software watermarking. Depending on how a software watermark is applied it can be used to discourage piracy; as proof of authorship or purchase; or to track the source of the illegal redistribution. In particular we analyze an algorithm originally proposed by Geneviève Arboit in A Method for Watermarking Java Programs via Opaque Predicates. This watermarking technique embeds the watermark by adding opaque predicates to the application. We have found that the Arboit technique does withstand some forms of attack and has a respectable data-rate. However, it is susceptible to a variety of distortive attacks. One unanswered question in the area of software watermarking is whether dynamic algorithms are inherently more resilient to attacks than static algorithms. We have implemented and empirically evaluated both static and dynamic versions within the SandMark framework.