Table of Content
Software is embedded in many devices and systems that we use and rely upon every day. Software 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. Attacker can thus attack both the software and the device directly.
This course provides an overview of attack techniques and countermeasures. The discussed attacks in include cache attacks and other recent software-based 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.
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.
We have a Support page with information on support channels.
Previous KnowledgeBasics of information security that are covered, e.g., in the bachelor course "Information Security". Familiarity with programming in C and C++.
Prerequisites CurriculumSee position in the curriculum
ObjectiveAfter completing this course, students have an overview of attacks on embedded software as well as on corresponding countermeasures. They are able to assess the risks for assests in embedded software and to implement appropriate countermeasures.
How to get a gradeProgramming Exercises, Oral Exercise Interviews (possibly virtual), and Written or Oral Exam (possibly virtual)