II2020 Entwicklung Sicherer Systeme

Modulverantwortliche
  • Prof. Dr. Alexander Dworschak
Lehrende
  • Christian Wenzel-Benner
Notwendige Voraussetzungen zur Teilnahme

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

Vorausgesetzte Module
Kurzbeschreibung

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

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

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)
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: Regelmäßige Teilnahme (mindestens 80% der Zeit)

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

Benotung
Die Bewertung des Moduls erfolgt gemäß § 9 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.
Literatur, Medien
  • 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

Rechtliche Hinweise