
David Schwarzbeck
Wissenschaftliche Mitarbeitende
Adresse
Kontakt
- E-Mail: david.schwarzbeck@fau.de
- 
Software-Wasserzeichen(Projekt aus Eigenmitteln) Laufzeit: seit 01.01.2016
 URL: https://www2.cs.fau.de/research/SoftWater/Unter Software-Wasserzeichnen versteht man das Verstecken von ausgewählten Merkmalen in Programme, um sie entweder zu identifizieren oder zu authentifizieren. Das ist nützlich im Rahmen der Bekämpfung von Software-Piraterie, aber auch um die richtige Nutzung von Open-Source Projekten (wie zum Beispiel unter der GNU Lizenz stehende Projekte) zu überprüfen. Die bisherigen Ansätze gehen davon aus, dass das Wasserzeichen bei der Entwicklung des Codes hinzugefügt wird und benötigen somit das Verständnis und den Beitrag der Programmierer für den Einbettungsprozess. Ziel unseres Forschungsprojekts ist es, ein Wasserzeichen-Framework zu entwickeln, dessen Verfahren automatisiert beim Übersetzen des Programms Wasserzeichen sowohl in neu entwickelte als auch in bestehende Programme hinzufügen. Als ersten Ansatz untersuchten wir eine Wasserzeichenmethode, die auf einer symbolischen Ausführung und anschließender Funktionsynthese basiert.Im Jahr 2018 wurden im Rahmen von zwei Bachelorarbeiten Methoden zur symbolischen Ausführung und Funktionssynthese untersucht, um zu ermitteln, welche sich für unseren Ansatz am Besten eignet. Im Jahr 2019 wurde ein Ansatz auf Basis der LLVM Compiler Infrastruktur untersucht, der mittels konkolischer Ausführung (concolic execution, eine Kombination aus symbolischer und konkreter Ausführung) ein Wasserzeichen in einem ungenutzten Hardwareregister versteckt. Hierzu wurde der LLVM-Registerallokator dahingehend verändert, dass er ein Register für das Wasserzeichen freihält. Im Jahr 2020 wurde das inzwischen LLWM genannte Rahmenprogramm für das automatische Einfügen von Software-Wasserzeichen in Quellcode auf Basis der LLVM Compiler Infrastruktur um weitere dynamische Verfahren erweitert. Grundlage der hinzugefügten Verfahren sind, unter anderem, das Ersetzen/Verschleiern von Sprungadressen sowie Modifikationen des Aufrufgraphen. Im Jahr 2021 wurde das Rahmenprogramm LLWM um weitere angepasste, bereits in der Literatur bekannte, dynamische Verfahren sowie um das eigene Verfahren erweitert, das wir nun IR-Mark nennen Die hinzugefügten Verfahren basieren unter anderem auf der Umwandlung von bedingten Konstrukten in semantisch äquivalenten Schleifen oder auf Integrieren von Hashfunktionen, die die Funktionalität des Programms unverändert lassen, die Widerstandsfähigkeit aber erhöhen. IR-Mark wählt nun nicht nur gezielt die wenigen Funktionen aus, in denen die Registerverwendung bei der Code. Erzeugung verändert wird, sondern umfasst nun auch dynamische Aspekte um in den freigehaltenen Registern sinnvoll erscheinende Tarnwerte zu berechnen. Ein Artikel über LLWM und IR-Mark konnte publiziert werden. Im Jahr 2022 wurde das Rahmenprogramm LLWM um ein weiteres angepasstes Verfahren ergänzt. Die Methode nutzt Ausnahmebehandlungen, um das Wasserzeichen zu tarnen. Im Jahr 2023 wurden mehr Methoden angepasst, um das LLWM-Framework zu erweitern. Hierzu zählen Techniken zum Einbetten, die auf Prinzipien der Zahlentheorie und des Aliasings beruhen.Im Jahr 2024 wurden drei neue Wasserzeichen entwickelt: Register Expansion, SemaCall und SideData.
 Diese Techniken konstruieren streufunktionsartige Arithmetiken, um während der Laufzeit einen Schlüsselwert in die Wasserzeichennachricht umzurechnen.
 Die ersten beiden Techniken wurden in dem Papier „Register Expansion and SemaCall: 2 Low-overhead Dynamic Watermarks Suitable for Automation in LLVM“ auf dem CheckMATE’24 Workshop in Salt Lake City publiziert. Eine erweiterte Fassung des Papiers enthält auch das SideData Wasserzeichen und befindet sich im Peer-Review-Prozess für das DTRAP-Journal.
Ausgewählte Kapitel aus dem Übersetzerbau
Basic data
| Title | Ausgewählte Kapitel aus dem Übersetzerbau | 
|---|---|
| Short text | inf2-ueb3 | 
| Module frequency | nur im Wintersemester | 
| Semester hours per week | 2 | 
Es ist keine Anmeldung erforderlich.
Parallel groups / dates
In der Vorlesung werden Aspekte des Übersetzerbaus beleuchtet, die über die Vorlesungen „Grundlagen des Übersetzerbaus“ und „Optimierungen in Übersetzern“ hinausgehen.
Voraussichtliche Themen sind:
- Übersetzer u. Optimierungen für funktionale Programmiersprachen
- Übersetzung aspektorientierter Programmiersprachen
- Erkennung von Wettlaufsituationen
- Software Watermarking
- Statische Analyse und symbolische Ausführung
- Binden von Objektcode und Unterstützung für dynamische Bibliotheken
- Strategien zur Ausnahmebehandlung
- Just-in-Time-Übersetzer
- Speicherverwaltung und Speicherbereinigung
- LLVM
Die Materialien zur Lehrveranstaltung werden über StudOn bereitgestellt.
1. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Prof. Dr. Michael Philippsen Tobias Heineken David Schwarzbeck Lukas Rotsching | 
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Fri, 10:15 – 11:45 | 17.10.2025 – 06.02.2026 | 26.12.2025 19.12.2025 02.01.2026 | 
 | 11302.02.133 | 
Grundlagen des Übersetzerbaus
Basic data
| Title | Grundlagen des Übersetzerbaus | 
|---|---|
| Short text | inf2-ueb | 
| Module frequency | nur im Wintersemester | 
| Semester hours per week | 2 | 
Voraussetzung zur Teilnahme an der Modulprüfung ist die erfolgreiche Bearbeitung der Übungsaufgaben.
Parallel groups / dates
1. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Prof. Dr. Michael Philippsen Tobias Heineken David Schwarzbeck | 
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Wed, 12:15 – 13:45 | 15.10.2025 – 04.02.2026 | 31.12.2025 24.12.2025 | 
 | 11301.00.005 | 
Parallele und Funktionale Programmierung
Basic data
| Title | Parallele und Funktionale Programmierung | 
|---|---|
| Short text | PFP | 
| Module frequency | nur im Wintersemester | 
| Semester hours per week | 2 | 
Parallel groups / dates
Die Materialien zur Lehrveranstaltung werden über StudOn bereitgestellt.
1. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Dr.-Ing. Norbert Oster Prof. Dr. Michael Philippsen David Schwarzbeck | 
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Tue, 12:15 – 13:45 | 14.10.2025 – 03.02.2026 | 06.01.2026 30.12.2025 23.12.2025 | 
 | 11907.01.030 | 
Übungen zu Ausgewählte Kapitel aus dem Übersetzerbau
Basic data
| Title | Übungen zu Ausgewählte Kapitel aus dem Übersetzerbau | 
|---|---|
| Short text | inf2-ueb3-ex | 
| Module frequency | nur im Wintersemester | 
| Semester hours per week | 2 | 
Blockveranstaltung n.V. nach der Vorlesungszeit.
Parallel groups / dates
Die Übungen zu Übersetzerbau 3 stellen eine Ergänzung zur Vorlesung dar. In der Vorlesung wird unter anderem die Architektur und Funktionsweise einer virtuellen Maschine beleuchtet. In den Übungen soll dies praktisch umgesetzt werden. Hierzu sollen die Studenten in einer Blockveranstaltung eine kleine virtuelle Maschine selbst implementieren. Den Anfang bildet das Einlesen des Byte-Codes und am Ende soll ein funktionsfähiger optimierender Just-in-Time-Übersetzer entstehen.
Die Materialien zur Lehrveranstaltung werden über StudOn bereitgestellt.
1. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Tobias Heineken David Schwarzbeck Prof. Dr. Michael Philippsen Lukas Rotsching | 
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| Blockveranstaltung Mon, 09:00 – 16:00 | 23.03.2026 – 27.03.2026 | 
 | 11302.02.135 | 
Übungen zu Grundlagen des Übersetzerbaus
Basic data
| Title | Übungen zu Grundlagen des Übersetzerbaus | 
|---|---|
| Short text | inf2-ueb-ex | 
| Module frequency | nur im Wintersemester | 
| Semester hours per week | 2 | 
Parallel groups / dates
Im Rahmen der Übungen werden die in der Vorlesung vorgestellten Konzepte und Techniken zur Implementierung eines Übersetzers in die Praxis umgesetzt. Ziel der Übungen ist es, bis zum Ende des Semesters einen funktionsfähigen Übersetzer für die Beispiel-Programmiersprache e2 zu implementieren. Die hierfür nötigen zusätzlichen Kenntnisse (z.B. Grundlagen des Assemblers für x86-64) werden in den Tafelübungen vermittelt. Die im Laufe des Semesters zu erreichenden Meilensteine sind im StudOn-Eintrag der Vorlesung aufgelistet. Die Materialien zur Lehrveranstaltung werden über StudOn bereitgestellt.
1. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Tobias Heineken Prof. Dr. Michael Philippsen David Schwarzbeck Lukas Rotsching | 
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Tue, 12:15 – 13:45 | 14.10.2025 – 03.02.2026 | 23.12.2025 06.01.2026 30.12.2025 | 
 | 11302.00.152 | 
Im Rahmen der Übungen werden die in der Vorlesung vorgestellten Konzepte und Techniken zur Implementierung eines Übersetzers in die Praxis umgesetzt. Ziel der Übungen ist es, bis zum Ende des Semesters einen funktionsfähigen Übersetzer für die Beispiel-Programmiersprache e2 zu implementieren. Die hierfür nötigen zusätzlichen Kenntnisse (z.B. Grundlagen des Assemblers für x86-64) werden in den Tafelübungen vermittelt. Die im Laufe des Semesters zu erreichenden Meilensteine sind im StudOn-Eintrag der Vorlesung aufgelistet. Die Materialien zur Lehrveranstaltung werden über StudOn bereitgestellt.
2. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Tobias Heineken Prof. Dr. Michael Philippsen David Schwarzbeck Lukas Rotsching | 
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Fri, 12:15 – 13:45 | 17.10.2025 – 06.02.2026 | 26.12.2025 02.01.2026 19.12.2025 | 
 | 11302.02.133 | 
Im Rahmen der Übungen werden die in der Vorlesung vorgestellten Konzepte und Techniken zur Implementierung eines Übersetzers in die Praxis umgesetzt. Ziel der Übungen ist es, bis zum Ende des Semesters einen funktionsfähigen Übersetzer für die Beispiel-Programmiersprache e2 zu implementieren. Die hierfür nötigen zusätzlichen Kenntnisse (z.B. Grundlagen des Assemblers für x86-64) werden in den Tafelübungen vermittelt. Die im Laufe des Semesters zu erreichenden Meilensteine sind im StudOn-Eintrag der Vorlesung aufgelistet. Die Materialien zur Lehrveranstaltung werden über StudOn bereitgestellt.
3. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Prof. Dr. Michael Philippsen Tobias Heineken David Schwarzbeck Lukas Rotsching | 
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Tue, 16:15 – 17:45 | 14.10.2025 – 03.02.2026 | 06.01.2026 23.12.2025 30.12.2025 | 
 | 11302.02.134 | 
Übungen zu Parallele und Funktionale Programmierung
Basic data
| Title | Übungen zu Parallele und Funktionale Programmierung | 
|---|---|
| Short text | UePFP | 
| Module frequency | nur im Wintersemester | 
| Semester hours per week | 2 | 
Parallel groups / dates
1. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Dr.-Ing. Norbert Oster David Schwarzbeck Prof. Dr. Michael Philippsen Lukas Rotsching | 
Maximum number of participants: 40
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Wed, 08:15 – 09:45 | 15.10.2025 – 04.02.2026 | 31.12.2025 24.12.2025 | 11302.02.133 | 
2. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Dr.-Ing. Norbert Oster Prof. Dr. Michael Philippsen David Schwarzbeck Lukas Rotsching | 
Maximum number of participants: 40
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Fri, 14:15 – 15:45 | 17.10.2025 – 06.02.2026 | 02.01.2026 19.12.2025 26.12.2025 | 11302.02.133 | 
3. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Dr.-Ing. Norbert Oster David Schwarzbeck Prof. Dr. Michael Philippsen Lukas Rotsching | 
Maximum number of participants: 40
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Mon, 10:15 – 11:45 | 13.10.2025 – 02.02.2026 | 29.12.2025 22.12.2025 05.01.2026 | 11302.02.133 | 
4. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Prof. Dr. Michael Philippsen Dr.-Ing. Norbert Oster David Schwarzbeck Lukas Rotsching | 
Maximum number of participants: 40
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Wed, 16:15 – 17:45 | 15.10.2025 – 04.02.2026 | 31.12.2025 24.12.2025 | 
 | 11302.02.133 | 
5. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Prof. Dr. Michael Philippsen Dr.-Ing. Norbert Oster David Schwarzbeck Lukas Rotsching | 
Maximum number of participants: 40
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Tue, 14:15 – 15:45 | 14.10.2025 – 03.02.2026 | 30.12.2025 06.01.2026 23.12.2025 | 
 | 11302.00.152 | 
6. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Prof. Dr. Michael Philippsen Dr.-Ing. Norbert Oster David Schwarzbeck Lukas Rotsching | 
Maximum number of participants: 40
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Wed, 10:15 – 11:45 | 15.10.2025 – 04.02.2026 | 24.12.2025 31.12.2025 | 11302.02.133 | 
12. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | David Schwarzbeck Prof. Dr. Michael Philippsen Dr.-Ing. Norbert Oster Lukas Rotsching | 
Maximum number of participants: 25
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Fri, 14:15 – 15:45 | 17.10.2025 – 06.02.2026 | 19.12.2025 26.12.2025 02.01.2026 | 11302.00.153 | 
13. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Dr.-Ing. Norbert Oster David Schwarzbeck Prof. Dr. Michael Philippsen Lukas Rotsching | 
Maximum number of participants: 25
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Tue, 14:00 – 16:00 | 14.10.2025 – 03.02.2026 | 30.12.2025 06.01.2026 23.12.2025 | 11302.00.153 | 
14. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Prof. Dr. Michael Philippsen David Schwarzbeck Dr.-Ing. Norbert Oster Lukas Rotsching | 
Maximum number of participants: 25
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Wed, 14:00 – 16:00 | 15.10.2025 – 04.02.2026 | 24.12.2025 31.12.2025 | 11302.00.153 | 
15. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Dr.-Ing. Norbert Oster Prof. Dr. Michael Philippsen David Schwarzbeck Lukas Rotsching | 
Maximum number of participants: 25
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Thu, 16:00 – 18:00 | 16.10.2025 – 05.02.2026 | 01.01.2026 25.12.2025 | 
 | 11302.00.153 | 
11. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | David Schwarzbeck Dr.-Ing. Norbert Oster Prof. Dr. Michael Philippsen Lukas Rotsching | 
Maximum number of participants: 25
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Wed, 10:00 – 12:00 | 15.10.2025 – 04.02.2026 | 31.12.2025 24.12.2025 | 11302.00.153 | 
7. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | Prof. Dr. Michael Philippsen Dr.-Ing. Norbert Oster David Schwarzbeck Lukas Rotsching | 
Maximum number of participants: 40
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Thu, 08:15 – 09:45 | 16.10.2025 – 05.02.2026 | 01.01.2026 25.12.2025 | 11302.02.133 | 
16. Parallelgruppe
| Semester hours per week | 2 | 
|---|---|
| Teaching language | Deutsch | 
| Responsible | David Schwarzbeck Prof. Dr. Michael Philippsen Dr.-Ing. Norbert Oster Lukas Rotsching | 
| Date and Time | Start date – End date | Cancellation date | Lecturer(s) | Comment | Room | 
|---|---|---|---|---|---|
| wöchentlich Thu, 10:15 – 11:45 | 16.10.2025 – 05.02.2026 | 25.12.2025 01.01.2026 | 
 | 14201.00.001 | 
2025
- , , :
 Register Expansion, SemaCall, and SideData: Three Low-Overhead Dynamic Watermarks Suitable for Automation in LLVM
 In: Digital Threats: Research and Practice 6 (2025), S. 1-22
 ISSN: 2576-5337
 DOI: 10.1145/3743152
 URL: https://dl.acm.org/doi/10.1145/3743152
 BibTeX: Download
2024
- :
 Erweiterung eines Rahmenprogramms für das automatische Einfügen von Software- Wasserzeichen in Quellcode (Master thesis, 2024)
 URL: https://github.com/FAU-Inf2/LLWM/blob/main/semacall + register-expansion + sidedata/thesis-1.pdf
 BibTeX: Download
- , , :
 Register Expansion and SemaCall: 2 Low-overhead Dynamic Watermarks Suitable for Automation in LLVM
 ACM SIGSAC Conference on Computer and Communications Security (CCS’24), Workshop on Offensive and Defensive Techniques in the Context of Man At The End (MATE) attacks (Checkmate ’24) (Salt Lake City, UT, 18.10.2024 – 18.10.2024)
 In: CheckMATE ’24: Proceedings of the 2024 Research on offensive and defensive techniques in the context of Man At The End (MATE) attacks, New York: 2024
 DOI: 10.1145/3689934.3690815
 URL: https://dl.acm.org/doi/10.1145/3689934.3690815#
 BibTeX: Download
- , , , , :
 Register Expansion and SemaCall: 2 low-overhead dynamic Watermarks suitable for Automation in LLVM [Source code and Raw Experiment data]
 (2024)
 DOI: 10.5281/zenodo.13337275
 BibTeX: Download
 (anderer)
- , , , , :
 Register Expansion, SemaCall, and SideData: 3 Low-overhead Dynamic Watermarks Suitable for Automation in LLVM [Source code and Raw Experiment data]
 (2024)
 DOI: 10.5281/zenodo.14234819
 BibTeX: Download
 (anderer)
