Table of Content
Software is embedded in many devices and systems that we use and rely upon every day. Embedded software for example controls mobile phones, cars, home appliances as well as all kinds of machines and sensors in industrial settings. In today’s ubiquitous computing environment, software is everywhere and the value of the assets that are stored and processed by the software increases continuously. As a consequence, embedded software is the target of all kinds of attacks.
This course provides an overview of attack techniques and countermeasures for embedded devices. The discussed attacks in include cache attacks and other current software attack techniques. It also includes attacks that exploit physical properties of a device, such as the timing or the power consumption that is caused by the executed software. The course discusses state-of-the-art countermeasures against all these attacks.
Topics of the course include
- Timing Attacks
- Cache Attacks
- Physical Side Channel Attacks
- Simple Power Analysis
- Differential Power Analysis
An important aspect of this course is to provide hands-on-experience to students. This is why several exercises are part of this course. In these exercises, example software and countermeasures are implemented and then attacked and evaluated.
All the material for the course can be found here.
This course combines lecture and practicals (VU). There are two oral exams, covering the first and the second half of both lecture and practicals.
- Advanced knowledge of C/C++
These prerequisites are best fulfilled by taking the following courses beforehand:
- System-Level Programming
- Operating Systems