Course description
Physical and Advanced Side-Channel Attacks
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.
Upcoming start dates
Suitability - Who should attend?
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.
Outcome / Qualification etc.
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.
Training Course Content
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.
Course delivery details
This course is offered through Graz University of Technology, a partner institute of Trinity College.
3-4 hours per week
Expenses
- Verified Track -$149
- Audit Track - Free