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.
There is one session available:
Physical and Advanced Side-Channel Attacks
About this courseSkip 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
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:
- Professional Certificate in Side Channel Security – Caches and Physical Attacks
- 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 learnSkip 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.