Erweiterung eines Rahmenprogramms für das automatische Einfügen von Software- Wasserzeichen in Quellcode

Schwarzbeck D (2024)


Publication Language: English

Publication Type: Thesis

Publication year: 2024

Edited Volumes: Erweiterung eines Rahmenprogramms für das automatische Einfügen von Software- Wasserzeichen in Quellcode

URI: https://github.com/FAU-Inf2/LLWM/blob/main/semacall + register-expansion + sidedata/thesis-1.pdf

Abstract

Software Watermarking allows to provide ownership information in a program without
limiting the users freedom to use the software in the general case. Since all Software
Watermarking techniques have their own strengths and weaknesses, it is important to
employ a combination of several schemes. This thesis presents three novel dynamic
software watermarks that can be automatically inserted into programs using the infras-
tructure of the LLVM compiler. This allows automatic insertion of the three methods
into programs by simply specifying a watermark message during compilation, making
their combination and inclusion as simple as possible. The message is encoded as a
key-value pair and the inclusion procedures add a transformation from the key to the
value to the program, s.t. if the key is present in the dynamic environment of the pro-
gram, the value will be generated. The Register Expansion Watermark facilitates casts
of 32-bit values to 64-bit values to use the additional 32-bits to encode the watermark.
The key is inserted via a debugger and the value can then be detected in the upper
bytes of the registers. The watermark shows a small overhead in the final program and
can be inserted without many preconditions, however it suffers from a small throughput
size and can be removed automatically. The SemaCall Watermark uses functions for
which the semantic of the parameters and return value are known, like the functions
of the standard library of the language. The watermark then detects the key in the
dynamic environment and triggers the generation of the value, that is then displayed in
an easter-egg procedure. It shows good performance and arbitrary throughput, however
false-positive triggering of the easter-egg is possible. The Sidedata Watermark uses the
same technique for stack-allocated arrays with respect to the allocation size.

Authors with CRIS profile

Related research project(s)

How to cite

APA:

Schwarzbeck, D. (2024). Erweiterung eines Rahmenprogramms für das automatische Einfügen von Software- Wasserzeichen in Quellcode (Master thesis).

MLA:

Schwarzbeck, David. Erweiterung eines Rahmenprogramms für das automatische Einfügen von Software- Wasserzeichen in Quellcode. Master thesis, 2024.

BibTeX: Download