Navigation To modulepage
Display language

Embedded Systems Security Lab

6 LP

English

#40441 / #4

SS 2017 - WS 2018/19

Fakultät IV

TEL 17

Institut für Softwaretechnik und Theoretische Informatik

34355100 FG S-Professur Security in Telecommunications

Seifert, Jean-Pierre

Nordholz, Jan Christoph

lehre@sec.t-labs.tu-berlin.de

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

Learning Outcomes

Content

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

Pflichtteil:

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

Grading:

graded

Type of exam:

Portfolio examination

Language:

English

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

1.01.31.72.02.32.73.03.33.74.0
95.090.085.080.075.070.065.060.055.050.0

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 seclab@sec.t-labs.tu-berlin.de. 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

Literature

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):

    Miscellaneous

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