Skip to main content

TUGrazX: Physical and Advanced Side-Channel Attacks

Software-based and physical side-channel attacks have similar techniques. But physical attacks can observe properties and side effects that are usually not visible on the software layer. Thus, they are often considered the most dangerous side-channel attacks. In this course, we learn both about physical side-channel attacks but also about more advanced software-based side channels using prefetching and branch prediction. You will work with these attacks and understand how to mitigate them.

Physical and Advanced Side-Channel Attacks
10 weeks
3–4 hours per week
Progress at your own speed
Optional upgrade available

There is one session available:

After a course session ends, it will be archivedOpens in a new tab.
Starts Nov 27

About this course

Skip About this course

On the hardware side, we will mount power analysis attacks on the cryptographic algorithms RSA and AES. We will see that simple power analysis attacks and differential power analysis attacks are powerful enough to obtain fine-grained information such as cryptographic keys, user input, or secrets of the operating system. This skill set and knowledge will give you the ability to spot these side channels in hardware and software projects. We will then cover countermeasures and mitigation strategies that allow you to develop side-channel-resilient hardware and software and protect your security-critical applications and sensitive information.

On the software side, we will learn about branch prediction an prefetching. We will learn how these mechanisms can be subverted into powerful side-channel attacks. You will need programming skills (C, C++, Python) and we will provide you with the knowledge required beyond these, including basics on hardware design, computer architecture, operating systems, and cryptography.

You will learn which attacks are relevant in the concrete environments you are working with, extending to your risk assessment skills. In a set of small exercises, you will demonstrate that you understood the techniques behind simple power analysis, and differential power analysis, as well as prefetch side channels and branch-prediction side channels.

At a glance

  • Institution: TUGrazX
  • Subject: Computer Science
  • Level: Intermediate
  • Prerequisites:

    Knowledge and skills from the prerequisite courses Side Channel Security S3: Cache Side-Channel Attacks and Mitigations.

    We expect basic programming skills on a similar level as in the prerequisite course. You may have obtained these as part of a university program such as computer science or a high school degree with a focus on computer science.

  • Associated programs:
  • Language: English
  • Video Transcript: English
  • Associated skills: C++ (Programming Language), Mitigation, Risk Analysis, C (Programming Language), Advanced Encryption Standard (AES), Cryptography, Python (Programming Language), Computer Architecture, Cryptographic Keys, Resilience, Forecasting, Algorithms, RSA (Cryptosystem), Hardware Design, Operating Systems

What you'll learn

Skip What you'll learn

- Understand where real-world systems expose physical side channels and how to exploit them
- How and why Simple Power Analysis and Differential Power Analysis work
- Understand the security risks posed by physical side-channel attackers as well as sophisticated software-based attackers
- Understand how these attacks can be mitigated.

- Episode 1: A Single Trace

Daniel breaks his student card that lets him enter the student lab. Fortunately, they just learned about physical side-channel attacks and so Daniel comes up with a plan how to get his entry back, with simple power analysis.

- Episode 2: What a Difference a Trace Makes

After deciding that simple power analysis is too simple, we now break into the lab again, but this time with a more realistic attack, namely differential power analysis.

- Episode 3: Mask, Hide and Seek

The flatmates realize that differential power analysis is difficult to mitigate, and learn about what can be done and how effective it is. In the end, they figure out that masking with a higher number of shares is the solution they were looking for.

- Episode 4: Where do we go from here? Jonas realizes that the branch predictor could be an interesting element to mount attacks on the test system. He figures out that the branch predictor exposes side-channel information.

- Episode 5: Prefetch Me If You Can

The flatmates realize that some instructions need to translate virtual addresses to physical ones. As this is a quite long and complicated task, they suspect that there might be some timing side channel in there.

Who can take this course?

Unfortunately, learners residing in one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

This course is part of Side Channel Security – Caches and Physical Attacks Professional Certificate Program

Learn more 
Expert instruction
2 skill-building courses
Progress at your own speed
5 months
3 - 4 hours per week

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.