EECS 598-12: Topics in Hardware Security
Syllabus
The security of a system is only as good as its weakest
link. Even if a system's software is perfectly secure, the complex interactions
between the system's hardware and the physical world have not been properly
understood. Side-channel attacks exploit unintentional, abstraction-defying
leakage from physical devices (such as the device's power consumption,
electromagnetic radiation or execution timing variations) to recover
otherwise-unavailable secret information.
In this class, we shall review recent papers in the area of
side channel attacks and their mitigations. Specific topics include (but not
limited to):
1. Physical side channel attacks such as power and electromagnetic
analysis.
2. Microarchitectural attacks such as cache attacks and Rowhammer.
3. 3. Speculative execution attacks: Spectre, Meltdown and
Foreshadow.
4. Side channel mitigations and countermeasures.
Class
requirements:
1. 45min - 1 hour presentation
2. Final project (maybe substituted by presenting two papers if enrollment
is low)
3. Active participation in paper discussion
Class
prerequisites:
Prior experience in low level programing (C / C++ /
assembly) is required. Familiarly with basic signal processing (for physical
attacks) as well as basic operating system principles (for microarchitectural
attacks) will be helpful. The class might also include some basic cryptographic
background which is required for understanding attacks on cryptographic
systems.
List of
papers
Date
|
Paper1
|
Speaker
|
Paper2
|
Speaker
|
Sep 7, 2018
|
Introduction to side channels
|
Daniel Genkin
|
|
|
Sep 14, 2018
|
Timing Attacks on
Implementations of Diffie-Hellman, RSA, DSS, and Other Systems
|
|
Remote Timing Attacks
Are Practical
|
|
Sep 21, 2018
|
On Subnormal Floating
Point and Abnormal Timing
|
|
On the effectiveness of mitigations against floating-point timing channels
|
|
Sep 28, 2018
|
CACHE MISSING FOR FUN AND
PROFIT
|
|
Cache attacks and
countermeasures: the case of AES
|
|
Oct 5, 2018
|
Hey, you, get off of my
cloud: exploring information leakage in third-party compute clouds
|
|
FLUSH+RELOAD: A High
Resolution, Low Noise, L3 Cache Side-Channel Attack
|
|
Oct 12, 2018
|
Last-Level Cache
Side-Channel Attacks are Practical
|
|
The Spy in the Sandbox
- Practical Cache Attacks in Javascript and their Implications
|
|
Oct 19, 2018
|
Cache Template
Attacks: Automating Attacks on Inclusive Last-Level Caches
|
|
ARMageddon: Cache
Attacks on Mobile Devices
|
|
Oct 26, 2018
|
Drive-By
Key-Extraction Cache Attacks from Portable Code
|
|
Practical Keystroke
Timing Attacks in Sandboxed JavaScript
|
|
Nov 2, 2018
|
Meltdown + Spectre
|
|
Foreshadow+Foreshadow-NG
|
|
Nov 9, 2018
|
Electromagnetic
Eavesdropping Risks of Flat-Panel Displays
|
|
Keyboard Acoustic
Emanations
|
|
Nov 16, 2018
|
Introduction
to differential power analysis
|
|
Get Your Hands
Off My Laptop: Physical Side-Channel Key-Extraction Attacks on PCs
|
|
Nov 23, 2018
|
Stealing Keys from PCs Using
a Radio: Cheap Electromagnetic Attacks on Windowed Exponentiation
|
|
Exploiting
the DRAM Rowhammer bug to gain kernel privilege
|
|
Nov 30, 2018
|
Rowhammer.js: A Remote
Software-Induced Fault Attack in JavaScript
|
|
Drammer: Deterministic
Rowhammer Attacks on Mobile Platforms
|
|
Dec 7, 2018
|
Flip Feng Shui:
Hammering a Needle in the Software Stack
|
|
Grand Pwning Unit:
Accelerating Microarchitectural Attacks with the GPU
|
|