Einführung IT-Security: Kryptografie, Software und Systemsicherheit

Kurzname
Einf. IT-Security: KSS
Modulnummer
CS2362
Modulverantwortlicher
  • Prof. Dr. André Rein
Dozent
  • Prof. Dr. André Rein
Kurzbeschreibung

Dieses Modul führt theoretische und praktische Grundlagen der IT-Security ein, die insbesondere zu der Umsetzung der Schutzziele Vertraulichkeit, Integrität und Authentizität von Daten, Software und Systemen verwendet werden.

Qualifikations- und Lernziele

Die Studierenden haben ein fundiertes Grundwissen in ausgewählten Themen der IT-Security.

    Sie können:
  • Gängige kryptografische Primitiven (Bausteine) identifizieren, verstehen, beschreiben und anwenden
  • Software und komplexere Systeme – die diese Primitiven integrieren – verstehen, analysieren und beurteilen
  • Gängige einfache Angriffsverfahren auf kryptografische Verfahren benennen und verstehen
  • Einfache Softwareschwachstellen identifizieren, verstehen und ausnutzen sowie geeignete Gegenmaßnahmen benennen und verwenden
  • Techniken und Werkzeuge benennen und anwenden die zur Vermeidung und dem Auffinden von Softwareschwachstellen verwendet werden
    Sie sind in der Lage:
  • als Team geeignete und sichere anwendungsspezifische kryptografische Verfahren und deren Parameter auszuwählen
  • sichere von unsicheren Verfahren zu unterscheiden und zu diskutieren
  • als Team ein bestimmtes komplexeres Verfahren das kryptografische Primitiven verwendet zu analysieren, bewerten und implementieren
  • Verbreitete Angriffe und Softwareschwachstellen zu erkennen und zu vermeiden
  • Auswirkungen auf die Systemsicherheit zu beurteilen und geeignete Verfahren und Techniken verstehen und anwenden um die Gesamtsicherheit von Systemen zu erhöhen
Lerninhalte
  • Primäre Schutzziele der IT-Sicherheit
    • Vertraulichkeit, Integrität und Authentizität
  • Klassische kryptografische Verfahren
  • Grundlagen moderner kryptografischer Verfahren und insbesondere deren Anwendung:
    • Symmetrische, asymmetrische und hybride Verschlüsselungssysteme
    • Kryptografische Hash Funktionen
    • Message-Authentication-Codes
    • Digitale Signaturen
    • Diffie-Hellman Schlüsseltauschverfahren
  • Grundlagen der Software und Systemsicherheit:
    • Angriffs- und Schutzverfahren zur Sicherstellung der Systemintegrität
    • Schwachstellen: Buffer-Overflows, Use-after-free, Format-Strings
    • Shellcodes
    • Return-Oriented-Programming
    • Gegenmaßnahmen Software und Betriebssystemebene: Data Execution Prevention, Adress Space Layout Randomizaion, Canaries
    • Werkzeuge: Debugger, Speicheranalyse, Fuzzer
Moduldauer (Semester)
1
Unterrichtssprache
Deutsch
Gesamtaufwand
6.0 CrP; 180 Stunden, davon etwa 60 Stunden Präsenzzeit.
Semesterwochenstunden
4
Lernformen

Seminaristischer Unterricht 2 SWS, Praktikum 2 SWS

Voraussetzungen für die Vergabe von Creditpoints

Prüfungsvorleistung: 2 anerkannte Hausübungen (in Teams durchführbar)

Prüfungsleistung: Klausur mit offenen und/oder Multiple-Choice-Fragen

Bewertungsstandard

Bewertung der Prüfungsleistung nach § 9 der Prüfungsordnung

Bonuspunkte

keine

Häufigkeit des Angebots
Jedes Semester
Literatur
  • Bruce Schneier: Angewandte Kryptographie - Protokolle, Algorithmen und Sourcecode in C (ISBN: 3827372283)
  • Christoph Paar/Jan Pelzl: Kryptografie verständlich: Ein Lehrbuch für Studierende und Anwender (ISBN: 9783662492963)
  • Jan Erickson: Hacking: The Art of Exploitation (ISBN: 1593271441)

Weitere Literatur wird in der Vorlesung bekannt gegeben.

Voraussetzungen

C1018 Konzepte systemnaher Programmierung Informale Voraussetzungen:

Der zweite Teil des Moduls (Software- und Systemsicherheit) beschäftigt sich insbesondere mit der Programmiersprache C bzw. systemnaher Programmierung. Fundierte Kenntnisse in systemnaher Programmierung (Speicherverwaltung und -allokation, Stack, Heap, Systemcalls, etc.) sind zum Verständnis der Inhalte dringend angeraten. Grundlegende Kenntnisse in Linux/Unix-basierten Systemen sollten ebenfalls vorhanden sein.