Week 9: Side Channels Flashcards
What are some possible Side-Channel Attacks?
Runtime/Timing.
Power Analysis - SPA.
Temperature.
Sound (then SPA).
EM emanation.
Photonic emissions.
How can Simple Power Analysis Attacks be prevented?
Add noise - can be filtered/averaged out.
Decrease signal/balance power consumption - costly.
Fix algorithm - small leakages may remain undetected.
How to prevent SPA-like attacks on AES?
Fix with a constant time xtime operation.
Beware compiler optimizations and CPUs with non-constant time multiplication.
Bigger CPUs use T-Tables - bigger table lookups.
What is the intuition behind Side Channel Attacks?
Power consumption of ek(x) depends on k.
How do differential timing attacks work on AES?
T(k, x) = T_xtime(k, x) + T_rest
T(k, x) = sumof(T_xtime,i(k, x)) + const.
Describe a SPA-like attack on AES?
- Send input byte + read MSBit(B0)
- Compute hypothetical MSbit for each candidate k:
- Key space halved - Repeat for new input
- Repeat for every key byte
Describe a differential timing attack on AES?
- For each candidate k:
- For each x:
- Compute MSbit
- If 0, add to T0 -> else, T1
- Computer averages and (T1_avg - T0_avg)
- For each x:
- Find max avg.
Explain FLUSH+RELOAD?
(Assumes attacker has local, non-privileged code execution)
1. Target L3(LLC) cache (works across cores).
2. Flush cache.
3. Run victim.
4. Measure access times to victim memory.
How does an attacker probe address for FLUSH+RELOAD?
mmap() function