2004
DOI: 10.1007/978-3-540-30114-1_14
|View full text |Cite
|
Sign up to set email alerts
|

Graph Theoretic Software Watermarks: Implementation, Analysis, and Attacks

Abstract: Abstract. This paper presents an implementation of the novel watermarking method proposed by Venkatesan, Vazirani, and Sinha in their recent paper A Graph Theoretic Approach to Software Watermarking. An executable program is marked by the addition of code for which the topology of the control-flow graph encodes a watermark. We discuss issues that were identified during construction of an actual implementation that operates on Java bytecode. We measure the size and time overhead of watermarking, and evaluate th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
21
0
1

Year Published

2006
2006
2014
2014

Publication Types

Select...
4
2

Relationship

1
5

Authors

Journals

citations
Cited by 25 publications
(22 citation statements)
references
References 13 publications
0
21
0
1
Order By: Relevance
“…When the special input sequence is received, detector (or extractor) is activated, and then the watermark which is extracted from the watermarked program is displayed in a way of visualization. Thus, the semantics of detecting procedure (or extracting procedure) is included in the semantics of the watermarked program, so that Easter Egg water-marks resist various semantics-preserving transformation attacks [10]. The main problem with Easter Egg watermarks is that once the right input sequence has been discovered, standard debugging techniques will allow the adversary to locate the watermark in the executable code and then remove or disable it [8].…”
Section: The Structure Of Crswmentioning
confidence: 99%
See 1 more Smart Citation
“…When the special input sequence is received, detector (or extractor) is activated, and then the watermark which is extracted from the watermarked program is displayed in a way of visualization. Thus, the semantics of detecting procedure (or extracting procedure) is included in the semantics of the watermarked program, so that Easter Egg water-marks resist various semantics-preserving transformation attacks [10]. The main problem with Easter Egg watermarks is that once the right input sequence has been discovered, standard debugging techniques will allow the adversary to locate the watermark in the executable code and then remove or disable it [8].…”
Section: The Structure Of Crswmentioning
confidence: 99%
“…The main problem with Easter Egg watermarks is that once the right input sequence has been discovered, standard debugging techniques will allow the adversary to locate the watermark in the executable code and then remove or disable it [8]. And then, the watermark is just embedded in one piece of the program typically, hence, cropping a particularly valuable module from the program for illegal reuse is likely to be a successful attack [10].…”
Section: The Structure Of Crswmentioning
confidence: 99%
“…It has made a considerable progress and even became a popular technique for copyright protection of multimedia information [22]. The watermark content is concealed within the data structure of software running space, and the concealed content can also be developed with some dynamical diagram of topological structure from static value [15], [23]. Researches have proposed algorithm with robust data structure that can be used to encode watermark information, for example, ParentPointer Trees, Planted Planar Cubic Trees (PPCT) [24], Listtype Graphs, Reducible Permutations Graphs (RPG), and so on.…”
Section: Introductionmentioning
confidence: 99%
“…Alternatively, a pseudo-random permutation of the nodes to be visited can be generated. For further literature in graphbased software watermarking, the reader is referred to [1,2,3,4,13]. None of these schemes are completely secure against instruction and block re-ordering attacks.…”
Section: Nsmentioning
confidence: 99%
“…For example, there are 3 threads; T 1 , T 2 , T 3 , T 1 → T 2 → T 3 encodes watermark (000) 2 and T 1 → T 3 → T 2 encodes watermark (001) 2 and so on. However, without any additional error-control mechanism, changing threads that execute piece of a code would destroy the watermark.…”
Section: Nsmentioning
confidence: 99%