Navigation To modulepage
Display language

Embedded Systems Security Lab

6 LP


#40441 / #5

SS 2019 - WS 2019/20

Fakultät IV

No information

Institut für Softwaretechnik und Theoretische Informatik

34355100 FG S-Professur Security in Telecommunications

Seifert, Jean-Pierre

Buhren, Robert

POS-Nummer PORD-Nummer Modultitel
170080 29651 Embedded Systems Security Lab

Learning Outcomes

This module’s qualification aims are: 1. Understanding of security relevant interfaces (hard- and software) of (embedded) computer systems 2. Practical experience in identifying, exploiting, and fixing of vulnerabilities in hard- and software 3. A profound evaluation of system security


The security lab offers students the opportunity to learn how to analyze the system security of Linux-based systems with an emphasis on embedded platforms. It covers topics from hardware security and debug facilities and then moves on to software security issues in applications and finally the kernel. This course focuses on practically relevant details and hands-on experience instead of providing thorough theoretical background information. Students will have to solve multiple challenges, where a system has to be analyzed and then compromised. Basic Linux and C programming knowledge is required. The lab is organized as a practical course (PR) and students will be working individually with an ARM development board (Raspberry Pi II). TOPICS: • Serial interface • ARM/MIPS introduction • JTAG hardware debugging interface • OpenOCD, BusPirate, BusBlaster • Software debugging with GDB • Linux security tools • Public key cryptography, certificates and signatures • Shellcode • Memory corruption vulnerabilities • NX/XD/XN, ASLR, stack canaries • ELF binary format • Heap structure • Integer overflows • Kernel security

Module Components


All Courses are mandatory.

Course Name Type Number Cycle Language SWS
Security Lab PR 0434 L 972 WS/SS No information 4

Workload and Credit Points

Security Lab (PR):

Workload description Multiplier Hours Total
Assignments 6.0 25.0h 150.0h
Presence hours 15.0 2.0h 30.0h
180.0h(~6 LP)
The Workload of the module sums up to 180.0 Hours. Therefore the module contains 6 Credits.

Description of Teaching and Learning Methods

The module consists of a practical course.

Requirements for participation and examination

Desirable prerequisites for participation in the courses:

Prerequisites: • knowledge equivalent to the "Software Security" lecture • familiarity with Unix/Linux operating system primitives (e.g. using a command line) Recommended additional skills: • basic networking concepts and tools (DNS, DHCP, NAT, ...) • low-level programming concepts (pointers, registers, stack vs. heap, ...) • basic concepts of cryptography In order to complete the assignments, each participant needs at least one computer with administrator privileges (i.e. being able to log into university computers is insufficient) preferrably running Linux. It is possible to complete the tasks while using Windows or MacOS as well, but the teaching staff cannot provide guidance on those operating systems.

Mandatory requirements for the module test application:

No information

Module completion



Type of exam:

Portfolio examination



Typ of portfolio examination

100 points per element

Test elements

Name Weight Categorie Duration/Extent
(deliverable assessment) 1 assignment (group work) 1 practical 2 weeks
(deliverable assessment) 5 assignments (individual work) 5 practical 2 weeks each

Grading scale

Test description (Module completion)

• (Practical Course) 6 practical assignments

Duration of the Module

This module can be completed in one semester.

Maximum Number of Participants

The maximum capacity of students is 24.

Registration Procedures

As there is a hard limit of 24 students (due to hardware limitations), please register beforehand by sending an email to The first 24 students will be accepted - reception timestamp counts. Additional registration with the examination office (usually via QISPOS) is still mandatory.

Recommended reading, Lecture notes

Lecture notes

Availability:  unavailable

Electronical lecture notes

Availability:  unavailable


Recommended literature
No recommended literature given.

Assigned Degree Programs

Zur Zeit wird die Datenstruktur umgestellt. Aus technischen Gründen wird die Verwendung des Moduls während des Umstellungsprozesses in zwei Listen angezeigt.

This module is used in the following modulelists:

This module is used in the following Degree Programs (new System):


    It is strongly advised to attend the „Software Security" lecture either in parallel or beforehand. A module which combines that lecture with this practical course is available („Applied Security", MINF-KS-CS/APS).