Is it a tree, a DAG, or a cyclic graph? A shape analysis for heap-directed pointers in C
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Precise interprocedural dataflow analysis with applications to constant propagation
TAPSOFT '95 Selected papers from the 6th international joint conference on Theory and practice of software development
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 unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN 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
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Practical Method for Watermarking Java Programs
COMPSAC '00 24th International Computer Software and Applications Conference
Software Protection: Myth or Reality?
CRYPTO '85 Advances in Cryptology
Robust Object Watermarking: Application to Code
IH '99 Proceedings of the Third International Workshop on Information Hiding
Experience with software watermarking
ACSAC '00 Proceedings of the 16th Annual Computer Security Applications Conference
Breaking Abstractions and Unstructuring Data Structures
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Dynamic path-based software watermarking
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Algebraic Power Analysis by Abstract Interpretation
Higher-Order and Symbolic Computation
Software watermarking via opaque predicates: Implementation, analysis, and attacks
Electronic Commerce Research
IBM Systems Journal
Proteus: virtualization for diversified tamper-resistance
Proceedings of the ACM workshop on Digital rights management
An empirical study of Java bytecode programs
Software—Practice & Experience
An Efficient, Parametric Fixpoint Algorithm for Analysis of Java Bytecode
Electronic Notes in Theoretical Computer Science (ENTCS)
Dynamic graph-based software fingerprinting
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Verification Grand Challenge and Abstract Interpretation
Verified Software: Theories, Tools, Experiments
Hiding Software Watermarks in Loop Structures
SAS '08 Proceedings of the 15th international symposium on Static Analysis
A semi-dynamic multiple watermarking schemefor java applications
Proceedings of the nineth ACM workshop on Digital rights management
Encoding watermark numbers as cographs using self-inverting permutations
Proceedings of the 12th International Conference on Computer Systems and Technologies
Semantic-based code obfuscation by abstract interpretation
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Soft IP protection: watermarking HDL codes
IH'04 Proceedings of the 6th international conference on Information Hiding
Abstract interpretation-based protection
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
A chaos-based robust software watermarking
ISPEC'06 Proceedings of the Second international conference on Information Security Practice and Experience
Self-validating branch-based software watermarking
IH'05 Proceedings of the 7th international conference on Information Hiding
Abstract interpretation-based verification of non-functional requirements
COORDINATION'05 Proceedings of the 7th international conference on Coordination Models and Languages
A survey of software watermarking
ISI'05 Proceedings of the 2005 IEEE international conference on Intelligence and Security Informatics
Watermarking essential data structures for copyright protection
CANS'06 Proceedings of the 5th international conference on Cryptology and Network Security
Dexpler: converting Android Dalvik bytecode to Jimple for static analysis with Soot
Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program analysis
Formal verification by abstract interpretation
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
A first step towards algorithm plagiarism detection
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Watermarking Java application programs using the WaterRpg dynamic model
Proceedings of the 14th International Conference on Computer Systems and Technologies
A galois connection calculus for abstract interpretation
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
RopSteg: program steganography with return oriented programming
Proceedings of the 4th ACM conference on Data and application security and privacy
Hi-index | 0.00 |
Software watermarking consists in the intentional embedding of indelible stegosignatures or watermarks into the subject software and extraction of the stegosignatures embedded in the stegoprograms for purposes such as intellectual property protection. We introduce the novel concept of abstract software watermarking. The basic idea is that the watermark is hidden in the program code in such a way that it can only be extracted by an abstract interpretation of the (maybe non-standard) concrete semantics of this code. This static analysis-based approach allows the watermark to be recovered even if only a small part of the program code is present and does not even need that code to be executed. We illustrate the technique by a simple abstract watermarking protocol for methods of Java™ classes. The concept applies equally well to any other kind of software (including hardware originally specified by software).