Embedded Systems and Security

Lecturer:                                                               Georg Sigl (L), Matthias Probst, Michaela Brunner, Jens Nöpel

Nummer0000004160
ArtVorlesung
Umfang2 SWS
SemesterWintersemester 2024/25
UnterrichtsspracheEnglisch
Stellung in StudienplänenSiehe TUMonline
TermineSiehe TUMonline

Teilnahmekriterien

Lernziele

Die Studierenden sollen in der Lage sein, ein sicheres eingebettes System auszulegen. Das heißt, vorgegebene Aufgaben auf einem eingebetteten System zu implementieren sowie Sicherheitsmaßnahmen zu bewerten und angemessene auszuwählen. Der erste Teil beinhaltet - Toolchains für eingebettete Systeme zu benutzen - Zu erläutern, wie Speicher organisiert ist - Speichertypen in Chips zu klassifizieren - Den Startvorgang eines Mikrocontrollers wiederzugeben - 'memory mapped I/O' beschreiben zu können und es zu nutzen - Übliche Peripheriebausteine aufzuzählen und deren Zweck zu erklären - Interrupts erklären zu können und sie zu nutzen - Debugmöglichkeiten für eingebettete Systeme vergleichen zu können und zu nutzen während der zweite Teil folgende Fähigkeiten umfasst - Schutzziele aufzählen zu können - Beispiele für typische Schwachstellen zu geben - Einige übliche Angriffe anzuwenden - Angemessene Gegenmaßnahmen auszuwählen - Kryptographie zu nutzen - Mittel und Wege zur Separation darzulegen - MMUs/MPUs erklären zu können und sie zu nutzen - Seitenkanäle erklären zu können - Das Konzept von 'trusted computing' darzulegen

Beschreibung

Um die Studierenden zu befähigen, Aufgaben auf eingebetteten Systemen zu implementieren, wird der Kurs folgendes behandeln: - Einführung in Mikrocontroller und Unterschiede zu Desktopcomputern - Speicher in eingebetteten Systemen und dessen Nutzung durch C Compiler - Typische Peripheriebausteine und deren Nutzung - Interrupts und Exceptions - Debugging von eingebetteten Systemen Für die Fähigkeit, Sicherheitsmaßnahmen bewerten und angemessene auswählen zu können, umfasst der Kurs: - Kurzeinführung in Schutzziele und kryptographische Operationen - Typische Schwachstellen in eingebetteten Systemen - Übliche Angriffe und Gegenmaßnahmen - Anmerkung zu Seitenkanälen - Konzept von Separation und 'trusted computing'

Inhaltliche Voraussetzungen

C-Programmierung Grundkenntnisse im Bereich Computerarchitekturen

Lehr- und Lernmethoden

Wissen wird mittels Folien und Tafelanschrieb vermittelt. Der Lernprozess der Studierenden wird in den Übungen unterstützt durch interaktive Lösung von Aufgaben, Gruppenarbeit und Programmiervorführungen. Programmieraufgaben während des Semesters geben den Studierenden die Möglichkeit, ihre Fähigkeiten auf echter Hardware einzuüben und zu zeigen.

Studien-, Prüfungsleistung

Die oben beschriebenen Fähigkeiten erläutern, klassifizieren, wiedergeben, beschreiben, aufzählen, erklären, vergleichen, Beispiele geben, auswählen und darlegen werden durch offene Fragen, Fragen zu Beispielcode und Rechenaufgaben in einer schriftlichen Klausur abgeprüft, die 80% der Abschlussnote ausmacht. Die Fähigkeiten nutzen und anwenden werden in den während des Kurses stattfindenden Programmieraufgaben abgeprüft, woraus sich die verbleibenden 20% der Abschlussnote ergeben.

Empfohlene Literatur

The definitive guide to ARM Cortex-M3 and Cortex-M4 processors Joseph Yiu Understanding Cryptography Christoph Paar, Jan Pelzl Accompanied lecture slides: http://www.crypto-textbook.com Handbook of Applied Cryptography Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone Download from: http://www.cacr.math.uwaterloo.ca/hac/ Security Engineering Ross Anderson Download from: https://www.cl.cam.ac.uk/~rja14/book.html

Links

Hinweis und Weitere Informationen

Die Vorlesung wird um ein Praktikum um eine SWS ergänzt.

Wird im Winter- und Sommersemester angeboten.

Programmierübungen auf einem eingebetteten System von Infineon ermöglichen es, die erlernten Inhalte praktisch einzusetzen.

Moodle

Die Folien werden nach der Vorlesung unter Moodle bereitgestellt

Sprache

Englisch (WiSe), Deutsch (SoSe)

 

 

Murmelbahn

Im Rahmen der Embedded Systems and Security Übung programmieren die Studierenden eine Fernsteuerung auf einem Infineon XMC4500 Relax Lite Board für die Murmelbahn im Video. Bei einer erfolgreichen Authentifizierung können die Studierenden die Bahn von ihrem Board auslösen.

Alternativ kann die Murmelbahn durch das brechen einer 16 Bit Mini RSA Verschlüsselung gestartet werden.

Sie ist erreichbar unter http://10.152.249.7/ (innerhalb des TUM Netzwerks)

Infineon XMC4500 Relax Kit