David Schwarzbeck

David Schwarzbeck

Department Informatik (INF)
Lehrstuhl für Informatik 2 (Programmiersysteme)

Raum: Raum 05.135
Martensstr. 3
91058 Erlangen

Sprechzeiten

n.V. per E-Mail

  • 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.

Übungen zu Parallele und Funktionale Programmierung

Titel Übungen zu Parallele und Funktionale Programmierung
Kurztext UePFP
Turnus des Angebots nur im Wintersemester
Semesterwochenstunden 2

10. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 25

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Di, 12:00 - 14:00 15.10.2024 - 04.02.2025 24.12.2024
31.12.2024
14201.00.001

4. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 40

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Di, 12:15 - 13:45 15.10.2024 - 04.02.2025 24.12.2024
31.12.2024
11302.02.133

11. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 25

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Di, 16:00 - 18:00 15.10.2024 - 04.02.2025 24.12.2024
31.12.2024
14201.00.001

14. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 25

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Mi, 10:00 - 12:00 16.10.2024 - 05.02.2025 01.01.2025
25.12.2024
11302.00.156

9. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 25

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Mo, 16:00 - 18:00 14.10.2024 - 03.02.2025 06.01.2025
30.12.2024
23.12.2024
14201.00.001

5. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 40

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Fr, 12:15 - 13:45 18.10.2024 - 07.02.2025 01.11.2024
27.12.2024
20.12.2024
03.01.2025
11302.02.133

8. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 25

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Do, 14:00 - 16:00 17.10.2024 - 06.02.2025 26.12.2024
02.01.2025
11302.00.153

6. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 40

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Do, 16:15 - 17:45 17.10.2024 - 06.02.2025 26.12.2024
02.01.2025
11302.02.133

1. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 40

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Mi, 12:15 - 13:45 16.10.2024 - 05.02.2025 01.01.2025
25.12.2024
11302.02.133

2. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 40

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Mi, 08:15 - 09:45 16.10.2024 - 05.02.2025 25.12.2024
01.01.2025
11302.02.133

12. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 25

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Mi, 14:00 - 16:00 16.10.2024 - 05.02.2025 01.01.2025
25.12.2024
14201.00.001

13. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 25

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Do, 16:00 - 18:00 17.10.2024 - 06.02.2025 26.12.2024
02.01.2025
14201.00.001

7. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 40

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Mi, 16:15 - 17:45 16.10.2024 - 05.02.2025 25.12.2024
01.01.2025
11302.02.133

15. Parallelgruppe

Maximale Anzahl Teilnehmer/-innen: 40

Link zu Campo

Zeitpunkt Startdatum - Enddatum Ausfalltermin Durchführende/-r Bemerkung Raum
wöchentlich Di, 10:15 - 11:45 15.10.2024 - 04.02.2025 31.12.2024
24.12.2024

2024

Sorted alphabetically in UnivIS