Wintersemester 24/25

Application Management

Application Management

Type of courseVorlesung
LecturerProf. Dr.-Ing. Lucas Vincenzo Davi
ContactChristian Scholz, M. Sc.
TermWinter Semester 2024/2025
TimeDo, 10 - 12 Uhr
RoomS05 T00 B59
Start10. Oct. 2024
End30. Jan. 2025
LanguageGerman
MoodleLecture in Moodle
LSFLecture in LSF
Important NotesEinschreibeschlüssel für den Moodle-Kurs: „AppManWS24/25“

Die Vorlesung „Application Management“ bietet eine umfassende Einführung in die Planung, Entwicklung, Bereitstellung, Sicherheit und Wartung von Anwendungen über ihren gesamten Lebenszyklus hinweg. Die Studierenden erhalten ein tiefes Verständnis dafür, wie moderne Anwendungen effizient und sicher verwaltet werden können, um den stetig wachsenden Anforderungen der Softwareentwicklung gerecht zu werden. In der Veranstaltung wird die Bedeutung der Sicherheit in modernen Anwendungen hervorgehoben und ermutigt zu bewährten Praktiken. Sie betont, wie wichtig es ist, robuste Sicherheitsmechanismen in den Entwicklungsprozess zu integrieren, um potenzielle Schwachstellen zu minimieren und Benutzerdaten zu schützen. Weiterhin werden nicht nur technische Aspekte behandelt, sondern auch Aspekte des Managements, hierzu zählen Update-Strategien, Wartungsroutinen und Backup/Recovery-Methoden. Dieses Wissen ist entscheidend, um Anwendungen kontinuierlich funktionsfähig und sicher zu halten.

Klausur

Übung: Application Management

Übung: Application Management

Type of courseÜbung
LecturerProf. Dr.-Ing. Lucas Vincenzo Davi
ContactM. Sc. Christian Scholz
TermWinter Semester 2023/2024
TimeMi, 10 - 12 Uhr
RoomR11 T00 D05
Start16. Oct. 2024
End02. Feb. 2024
LanguageGerman
MoodleLecture in Moodle
LSFLecture in LSF
Important NotesEinschreibeschlüssel für den Moodle-Kurs: „AppManWS24/25“

Die begleitende Übung zur Vorlesung „Application Management“ vertieft das in den Vorlesungen erworbene Wissen. Studierende haben die Möglichkeit, praktische Anwendungsfälle zu bearbeiten und ihr Verständnis für die Konzepte des Application Managements zu vertiefen.

Secure Software Systems (Sichere Software Systeme)

Secure Software Systems (Sichere Software Systeme)

Type of courseVorlesung
LecturerProf. Dr.-Ing. Lucas Vincenzo Davi
Contact

Tobias Cloosters, M.Sc.

Oussama Draissi, M.Sc.

TermWinter Semester 2024/2025
TimeMo, 12 – 14 Uhr
RoomS-E 407
Start7th Oct 2024
End31st Jan 2025
LanguageGerman/English
MoodleLecture in Moodle
LSFLecture in LSF

In dieser Vorlesung erhalten die Studierenden einen Überblick über aktuelle Forschung, Angriffstechniken und Abwehrmethoden im Bereich der Software- und Systemsicherheit. Es werden Sicherheitsprobleme und Schutztechnologien auf Applikations- und Betriebssystemebene für unterschiedliche Rechnerarchitekturen (Desktop PCs, mobile und eingebettete Systeme) analysiert. Ein besonderer Fokus dieser Vorlesung ist die Verwundbarkeit von Softwaresystemen gegenüber Laufzeitangriffen (Exploits). Ziel der Vorlesung ist sowohl das Verständnis von modernen, praktischen Angriffstechniken gegen Softwaresysteme als auch die Entwicklung und Anwendung von Sicherheitstechnologien für Softwaresysteme. Die Vorlesung umfasst folgende Themenschwerpunkte:

  • Konventionelle und fortgeschrittene Software Exploittechniken (Buffer Overflow, Return-Oriented Programming)
  • Entwicklung von Sicherheitstechnologien zur Detektion und Prävention von Software Exploits (Programmfluss-Integrität, Speicherrandomisierung)
  • Software Fault Isolation und Application Sandboxing
  • Betriebssystemsicherheit und Zugriffsmodelle mit praktischen Beispielen anhand von Sicherheitsarchitekturen in Multics, Android und Windows
  • Trusted Computing Konzepte
  • Hardware-basierte Konzepte zur Unterstützung von Softwaresicherheit

Die Studierenden kennen die wichtigsten Klassen von Angriffstechniken und Abwehrmethoden im Bereich der Softwaresicherheit von der Applikationsebene bis zum Betriebssystem. Sie besitzen fundierte Kenntnisse in der Entwicklung von Angriffstechniken auf Softwaresystemen und sind in der Lage konkrete Verfahren zur Härtung von Softwaresystemen gegen fortgeschrittene Softwareangriffe anzuwenden. Sie kennen hardware-basierte Verfahren zur Durchsetzung von Softwaresicherheit und kennen die aktuelle Forschung und Problemstellungen bezüglich der Entwicklung von sicheren Softwaresystemen. Zusätzlich beherrschen sie die Konzepte von Softwarebasierten Angriffstechniken und Abwehrmethoden für verschiedenen Rechnerplattformen.

  • W. Stallings, L. Brown: Computer Security: Principles and Practice, Prentice Hall, 2014
  • M. Bishop: Computer Security: Art and Science, Pearson Education, 2015
  • T. Jaeger: Operating System Security, Morgan & Claypool, 2008
  • C. Anley, J. Heasman, F. Lindner, G. Richarte: The Shellcoder's Handbook: Discovering and Exploiting Security Holes, Wiley, 2007
  • L. Davi: Building Secure Defenses Against Code-Reuse Attacks, Springer, 2015
  • R. Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems, Wiley, 2008
  • Aktuelle wissenschaftliche Publikationen von einschlägigen Sicherheitstagungen (werden in der Vorlesung bekannt gegeben)

mündlich

Übung: Secure Software Systems (Sichere Software Systeme)

Übung: Secure Software Systems (Sichere Software Systeme)

Type of courseÜbung
LecturerProf. Dr.-Ing. Lucas Vincenzo Davi
Contact

Tobias Cloosters, M.Sc.

Oussama Draissi, M.Sc.

TermWinter Semester 2024/2025
TimeMo, 14 – 16 Uhr
RoomS-E 407
Start7th Oct 2024
End31st Jan 2025
LanguageGerman/English
MoodleLecture in Moodle
LSFLecture in LSF

Theoretische und praktische Übungen zur Vorlesung Secure Software Systems.

Bachelorprojekt Sichere Software Systeme

Bachelorprojekt Sichere Software Systeme

Type of courseBachelorprojekt
LecturerProf. Dr.-Ing. Lucas Vincenzo Davi
ContactProf. Dr.-Ing. Lucas Vincenzo Davi
TermWinter Semester 2024/2025
TimeKick-Off: 10.10.2024, 12:00
RoomS-GW 009
Start7th Oct 2024
End31st Jan 2025
LanguageGerman/English
LSFLecture in LSF

The bachelor project in the winter term 24/25 is on hot topics in computer security based on the USENIX Security Symposium 2022 and 2023. The USENIX Security Symposium is a flagship security conference that provides a dedicated evaluation process on artifacts that are submitted in addition to the scientific paper. Our course allows students to do a bachelor project within the scope of computer security research published on top conferences, i.e., taking a deep dive in recent research implementation projects and evaluation data.

Please note that this course will be in English: students are required to write their project report in English and give an oral presentation in English.

We will only be accepting 10 students for the Bachelor project.

There will be 5 mandatory meetings throughout the semester. Every meeting is mandatory; students cannot pass the bachelor project if they miss any of these meetings. The first meeting is the kick-off meeting on Thursday, October 10th at 12:00 in S-GW 009. The dates of the four remaining meetings will be fixed in October.

The procedure is as follows:

  1. Students join the kick-off meeting on Thursday, 10th October at 12:00 in S-GW 009 (no pre-registration is required).
  2. Our chair will publish a selected list of artifacts (on this website) from USENIX Security Symposium 2022 and 2023
  3. Until Thursday, 14th October EOD students select and submit three artifacts from that list. Students also provide a ranking preference of the selected artifacts.
  4. Next, the course organizers assign one artifact to each student.
  5. Meeting 2 (end of Oct): students have read the paper of their assigned artifact. During the meeting, they provide a summary of the paper. They also provide a very general overview of what the artifact includes (which components have been implemented? If applicable, what kind of evaluation data includes the artifact? What hasn't been provided in the artifact?).
  6. Meeting 3 (mid Nov): The students have tested the artifacts. They provide information on the structure of the artifact implementation and evaluation data, and share their experiences in testing the artifact. All the students engage in a discussion on the artifact helping each student to determine the key questions that need to be considered for reverse-engineering, evaluating, and extending the artifact.
  7. Meeting 4 (mid Dec): The students have a clear understanding of the artifact and its evaluation data. They provide a proposal on the next steps. Possible steps are: extending the artifact with a new feature, porting the artifact to another platform, creating a new benchmark, or developing and evaluating a new use-case. Again, all the students engage in a discussion on the artifact helping each student to decide on the next steps.
  8. Meeting 5 (end of Jan): Oral presentation of the project work and submission of the project paper.

Please note that the topics mentioned above often deal with system-level software and hardware aspects (operating system code, low-level code such as C code, Ethereum bytecode, and x86 or ARM assembly instructions). We recommend choosing the Bachelor project "Secure Software Systems" only if you are willing to deal with system-level programming techniques, meaning that you are ready to learn and apply these techniques within the scope of the project.

Unsere Themen richten sich an aktuellen Forschungsthemen der IT-Sicherheit (insbesondere Systemsicherheit). Die besten IT-Sicherheitstagungen (A*-Konferenzen) sind nachfolgend aufgeführt. Über das Uni-Netzwerk können Sie für alle der genannten Konferenzen die wissenschaftliche Artikel (die sogenannten Papers) kostenlos herunterladen und sich die Vortragsvideos anschauen. Beachten Sie, dass für dieses Bachelorprojekt die Konferenz USENIX Security insbesondere von Relevanz ist. Die anderen Konferenzen können aber für Hintergrundinformationen zum Thema Computer Security gerne herangezogen werden.

PG: RustFuzz (RustFuzz)

PG: RustFuzz (RustFuzz)

Type of courseProjektgruppe
LecturerProf. Dr.-Ing. Lucas Vincenzo Davi
Contact

David Paaßen, M.Sc.

Tobias Cloosters, M.Sc.

TermWinter Semester 2024/2025
TimeEinführungsveranstaltung (Kick-Off): 16.10.2024, 11:00
RoomS-GW 009
Start16th Oct 2024
End31st Mar 2025
LanguageGerman/English

Aufgrund der Vielzahl von Sicherheitslücken in C und C++ Programmen, haben Google, Microsoft und die US-Regierung erst kürzlich empfohlen, Softwareentwicklung zukünftig in der Programmiersprache Rust durchzuführen. Tatsächlich werden die ersten Windows Treiber in Rust angeboten. Dies überrascht nicht, da Rust sowohl hohe Sicherheit gegen Memory Exploits (Buffer Overflow) bietet als auch die Ausführung von Programmcode nicht verlangsamt. Zu schön, um wahr zu sein: Viele Entwickler stehen vor der Herausforderung komplexe Programme vollständig in Rust zu schreiben. Um diesen Entwickler gerecht zu werden, wird aus Kompatibilitätsgründen sogenannter Rust Unsafe Code unterstützt. Dieser erlaubt es dem Entwickler ausgewählte Programmteile in C zu schreiben und diese in den Rust Programmcode einzubinden. Erste Studien weisen darauf hin, dass dieser Mechanismus in vielen Rust Programmen genutzt wird. Nun stellt sich die Frage, wie sicher die Programmteile in der Rust Unsafe Umgebung sind. Glücklicherweise gibt es bereits viele automatisierte Schwachstellenanalyse-Werkzeuge, allen voran das Fuzzing, welches Sicherheitslücken automatisiert aufspürt.

Im Rahmen der PG erforschen wir existierende Fuzzing-Methoden, die sich besonders für den Einsatz in Rust-Programmen eignen. Es wird eine Testing-Umgebung sowie Testsets aus populären und in der PG entwickelten Rust-Programmen erstellt. Diese sollen genutzt werden, um die Effektivität existierender Fuzzing-Methoden zu vergleichen. Den Teilnehmern dieser PG bietet sich die einmalige Gelegenheit sowohl die Programmiersprache Rust als auch den Umgang mit verschiedenen Sicherheitstools (mit Fokus auf Fuzzing-Methoden) zu erlernen. Bei entsprechendem Erfolg soll die entwickelte Testing-Umgebung veröffentlicht werden und in der Zukunft als ein wichtiger Baustein bei der sicheren Entwicklung von Rust Programmen (mit Rust Unsafe Programmteilen) dienen.

  • Grundlagen der Programmiersprache Rust insbesondere sicherheitsrelevanter Aspekte
  • Die Benutzung von gängigen Analyseprogrammen für die Erkennung von Bugs
  • Wissenschaftliches Arbeiten und Schreiben
Seminar Secure Software Systems (Hot Topics in Computer Security)

Seminar Secure Software Systems (Hot Topics in Computer Security)

Type of courseSeminar
LecturerProf. Dr.-Ing. Lucas Vincenzo Davi
ContactProf. Dr.-Ing. Lucas Vincenzo Davi
TermWinter Semester 2024/2025
TimeEinführungsveranstaltung (Kick-Off): 7.10.2024, 10:00
RoomS-GW 009
Start7th Oct 2024
End31st Jan 2025
LanguageGerman/English
LSFLecture in LSF

The seminar in the winter term 24/25 will be on hot topics in computer security based on two recent top security conferences: IEEE Security and Privacy Symposium (IEEE S&P) 2024 and the USENIX Security Symposium 2024. This is a new seminar series which aims at allowing students to explore computer security research presented on top conferences, i.e., taking a deep dive in recent research and gaining insights in the computer security research community.

Please note that this seminar will be in English: students are required to write their seminar work in English and give an oral presentation in English.

There will be 4 mandatory meetings throughout the semester. Every meeting is mandatory; students cannot pass the seminar if they miss any of these meetings. The first meeting is the kick-off meeting on Monday, October 7th at 10 am in S-GW 009. The dates of the three remaining meetings will be fixed in October.

The procedure is as follows:

  1. Students join the kick-off meeting on Monday, 7th October at 10am in S-GW 009 (no pre-registration is required).
  2. Until Monday, 14th October EOD students select three sessions of the two conferences. Students provide a ranking preference of the selected sessions and submit their sessions.
  3. Next, the seminar organizers assign one session to each student.
  4. Meeting 2 (end of Oct/start of Nov): students read the papers of their assigned session and pick two papers they would like to choose for their seminar work. During the meeting, they provide a summary of the papers in their sessions and argue their motivation for their selection of the two papers.
  5. Meeting 3 (mid Dec): In the last weeks, the students have clearly understood their papers and read related work. In this meeting, the students present the structure of their seminar work and provide insights on what they learned from the two papers. It is especially required to start a balanced discussion of the research results presented in this paper. All the students engage in a discussion on the papers helping each student to determine the key points which need to be considered in the seminar work.
  6. Meeting 4 (end of Jan): Oral presentation of the seminar work and submission of the seminar work.

Die Studierenden lernen Methoden des wissenschaftlichen Arbeitens und sind in der Lage eigenständig ein Themengebiet auf Basis von wissenschaftlichen Veröffentlichungen zu erarbeiten. Durch die Seminararbeit lernen die Studierenden ein wissenschaftliches Thema zusammenzufassen sowie wissenschaftliche Publikationen zu systematisieren und bewerten. Die Studierenden üben die Präsentation über ein wissenschaftliches Themengebiet in Form der Abschlusspräsentation.

Unsere Themen richten sich an aktuellen Forschungsthemen der IT-Sicherheit (insbesondere Systemsicherheit). Die besten IT-Sicherheitstagungen (A*-Konferenzen) sind nachfolgend aufgeführt. Über das Uni-Netzwerk können Sie für alle der genannten Konferenzen die wissenschaftliche Artikel (die sogenannten Papers) kostenlos herunterladen und sich die Vortragsvideos anschauen.