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

Modulverantwortliche
  • Prof. Dr. Andre Rein
Lehrende
  • Hagen Lauer
  • Prof. Dr. Andre Rein
Notwendige Voraussetzungen zur Teilnahme

C1018 Konzepte systemnaher Programmierung

Empfohlene Voraussetzungen zur Teilnahme

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.

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.

Inhalte
  • 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
Qualifikations- und Lernziele

Fachkompetenzen

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

Sie können

  • gängige kryptografische Primitiven (Bausteine) identifizieren, beschreiben und anwenden.
  • gängige einfache Angriffsverfahren auf kryptografische Verfahren benennen und beschreiben.

Methodenkompetenzen (fachlich & überfachlich)

Sie können

  • Software und komplexere Systeme – die diese Primitiven integrieren – analysieren und beurteilen.
  • einfache Softwareschwachstellen identifizieren 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

  • verbreitete Angriffe und Softwareschwachstellen zu erkennen und zu vermeiden.
  • Auswirkungen auf die Systemsicherheit zu beurteilen und geeignete Verfahren und Techniken anzuwenden, um die Gesamtsicherheit von Systemen zu erhöhen.

Sozialkompetenzen

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, zu bewerten und zu implementieren.

Selbstkompetenzen

Sie sind in der Lage

  • Lösungen in einem seminaristischen Umfeld zu präsentieren und dabei deren Korrektheit und Adäquatheit zu vertreten.
  • sich einem komplexen Thema strukturiert und in Selbstorganisation zu nähern, sich selbstständig zu korrigieren und für einen längeren Zeitraum konzentriert und zielstrebig an unterschiedlich aufwändigen Aufgaben zu arbeiten.
ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 60 Std.
  • Selbststudium 120 Std.
Lehr- und Lernformen
  • 4 SWS
  • Seminaristischer Unterricht 2 SWS
  • Praktikum 2 SWS
Studiensemester
  • Informatik (B.Sc. 2010)
  • Ingenieur-Informatik (B.Sc. 2010)
  • Social Media Systems (B.Sc. 2016)
Dauer
1 Semester
Häufigkeit des Angebots
Einmal im Jahr
Unterrichtssprache
Deutsch
Bonuspunkte

Nein

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung: Praktikumsleistung (Anzahl der Praktikumsleistungen wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Prüfungsleistung: Klausur auch im Antwort-Wahl-Verfahren (Anteil des Antwort-Wahl-Verfahrens wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Benotung
Die Bewertung des Moduls erfolgt gemäß §§ 9, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Bachelorstudiengänge der THM möglich.
Voraussetzung für Module
Literatur, Medien
  • Schneier, B.: Angewandte Kryptographie. Protokolle, Algorithmen und Sourcecode in C. Addison-Wesley.
  • Paar, C.; Pelzl, J.: Kryptografie verständlich. Ein Lehrbuch für Studierende und Anwender. Springer Vieweg.
  • Erickson, J.: Hacking. The Art of Exploitation. No Starch Press.
  • Weitere Literatur wird in der Vorlesung bekannt gegeben.

Rechtliche Hinweise