II2020 Entwicklung Sicherer Systeme

Modulverantwortliche
  • Ing. Jakob Czekansky
Lehrende
  • Christian Wenzel-Benner
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ützung
Qualifikations- und Lernziele

Fachkompetenzen

  • Die Studierenden können die Bedeutung der ISO Standards am Beispiel einer Programmiersprache erklären.
  • Zudem können Sie erklären, in welche subtilen und drastischen Probleme Software laufen kann, welche den Definitionsbereich der Standards verlässt.

Methodenkompetenzen (fachlich & überfachlich)

  • Die Studierenden können typische Fehlerursachen und Sicherheitsprobleme von Programmen identifizieren und können Maßnahmen ergreifen diese zu vermeiden.
  • Sie können robusten und sicheren Code schreiben.

Sozialkompetenzen

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

Selbstkompetenzen

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) und Präsentation

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

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.
Literatur, Medien
  • Maguire, S.: Writing Solid Code. Microsoft Techniques for Developing Bug-free C. Programs. Microsoft Press Corp.
  • Seacord, R. C.: Secure Coding in C and C++. Addison Wesley.
  • ISO/IEC 9899:1999: Programming languages – C. ANSI.
  • Seacord, R. C.: The CERT C Coding Standard. Addison Wesley.
  • Biere, A.; Kroening, D.; Weissenbacher, G.; Wintersteiger, C.: Digitaltechnik. Eine praxisnahe Einführung. Springer.
  • Wüst, K.: Mikroprozessortechnik. Vieweg+Teubner.

Rechtliche Hinweise