Prerequisites: Click the checklist “Do I meet the prerequisites?”
- Language based Security (CS4105) or Software Security (UT201600051) and
- Security and Cryptography (IN4191) and
- Network Security (ET4397IN) or Internet Security (192654000) and
- A bachelor level Operating Systems course
- Basic machine learning knowledge is not mandatory but is recommended since some of the lab homework will rely upon it.
Motivation: Computers, ranging from smart cards, via mobile devices and PCs to powerful servers consist of complex hardware, firmware and software that is vulnerable to a large variety of attacks. Existing protection mechanisms provide a base line of security but new attacks appear every day, demanding new approaches to mitigate the risks.
Synopsis: The systems security covers the security of all layers from the hardware to the operating system, exploring the security problems and solutions at each layer as well as the interplay between the layers. Some problems are due to bugs, others are due to intricate interactions between system components, and some are due to design errors or poor management and maintenance.
Learning outcomes: The student will acquire:
- An appreciation of the security architecture of computer systems
- Detailed knowledge of the security of a specific operating system
- Skills in exploiting vulnerabilities of computer systems
- Skills in developing counter measures against exploits
Language: The course is taught in English.
Lecturers: Dr Andrea Continella (UT) and Dr Stjepan Picek (TUD)
Contact hours: 2 hours per week lectures, 4 hours per week lab
Examination: 50% lab work and 50% written open book examination.
Contents: Malware (polymorphism & packers, Ransom ware, Zero days); Counter measures (host based intrusion detection, signature & anomaly based detection); Hardware, embedded system and IoT security (tamper resistant hardware, physically unclonable functions, trusted platform module, trusted boot, resource tradeoffs, State of the art attacks on IoT); Covert channels (side channel attacks, timing & caches, power, co-tenancy); Secure systems engineering (virtualisation, sandboxing, dockerisation)
Core text: Various pares from the literature.
Core system: We propose to base the course and the practical assignments on Linux. Students may be asked to purchase a cheap, X86 single board computer; alternatively VM images will be provided that students must be able to run on their laptops.