Entwicklung Sicherer Systeme

Kurzname
Entwi. Sicherer Systeme
Modulnummer
II2020
Modulverantwortlicher
  • Alexander Dworschak
Dozent
  • Christian Wenzel-Benner
Kurzbeschreibung

Das Modul führt in die Fallstricke der Entwicklung (Programmierung & Hardwareinteraktion) ein und zeigt Wege auf, robusten und sicheren Code zu schreiben

Qualifikations- und Lernziele

Die Studierenden kennen typische Fehlerursachen und Sicherheitsprobleme von Programmen und wissen, wie diese vermieden werden können. Die Bedeutung der ISO Standards ist am Beispiel einer Programmiersprache verstanden worden, ebenso die subtilen und drastischen Probleme in die Software laufen kann, welche den Definitionsbereich der Standards verlässt.
Die Studierenden können im Team gemeinsam eine Fragestellung zur sicheren Programmierung fehleranfälliger Hardware erarbeiten und deren Ergebnis vor der Seminaröffentlichkeit vorstellen und verteidigen.

Lerninhalte
  • Einführung: Schäden durch Softwarefehler, gehackte Computer, Fahrzeuge, Industrieanlagen und der Unterschied zwischen Fehlern und bösartiger Manipulation
  • Philosophie effizienter Compilersprachen
  • Typische Probleme in Compilersprachen
  • Erfolgreiche Angriffe der Vergangenheit
  • Vermeidung typischer Probleme mit Hilfe von Coding Standards
  • Absicherung von Daten in Halbleiterspeichern und auf Übertragunsleitungen
  • Werkzeugunterstüzung
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

Geprüfte Leistung

Prüfungsvorleistung: Regelmäßige Teilnahme (mindestens 80% der Zeit)

Prüfungsleistung: Projektarbeit und Kurztest (zusammen 100%)

Bewertungsstandard

Bewertung der Prüfungsleistung nach § 9 der allgemeinen Bestimmungen für Bachelorprüfungsordnungen

Bonuspunkte
keine
Häufigkeit des Angebots
Einmal im Jahr
Literatur
  • Steve Maguire: Writing Solid Code
  • Robert C. Seacord: Secure Coding in C and C++
  • ISO/IEC 9899:1999: Programming languages – C
  • Robert C. Seacord: The CERT C Coding Standard
  • Armin Biere et.al: Digitaltechnik — Eine praxisnahe Einführung, Springer
  • Klaus Wüst: Mikroprozessortechnik, Vieweg+Teubner
Voraussetzungen

Voraussetzungen für Bachelor Informatik und Bachelor Ingenieur-Informatik:
CS1018 Konzepte Systemnaher Programmierung

Vorausgesetzte Module