Advanced Topic 47 of 51 Computer Architecture & Logic
Microarchitecture Side Channels
Leaks exploiting timing and cache behavior of CPUs.
How it works
Side channels leak information through physical or timing effects of computation rather than through the program's intended outputs. Microarchitectural ones exploit shared hardware state such as caches, branch predictors and execution ports: Prime+Probe and Flush+Reload measure cache access times, while Spectre and Meltdown use speculative execution to read protected memory. Attackers infer secrets like cryptographic keys from timing differences.
Step-by-step walkthrough
- The attacker fills the cache with its own data.
- The victim runs and its memory accesses evict some lines.
- The attacker times its reloads.
- Slow lines show what the victim touched, leaking secrets.
- Mitigations include constant-time code and partitioned caches.
Where it is used
Security researchers, cloud providers and operating-system and browser vendors study and mitigate them. Constant-time cryptographic code, cache partitioning, site isolation and microcode updates all respond to side channels.
Common pitfall
Mitigations such as disabling speculation and flushing predictors cost performance, and new variants keep appearing. Shared hardware in cloud environments makes isolation hard. Developers should use vetted constant-time libraries, avoid secret-dependent branches and memory indexes and keep systems patched.
Where it fits in the course
Microarchitecture Side Channels is topic 47 of 51 in Computer Architecture & Logic, rated Advanced. It follows Memory Consistency Models. The next topic is FPGA.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Computer Architecture & Logic quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Computer Architecture & Logic quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Microarchitecture Side Channels?
Where do people use Microarchitecture Side Channels?
What is the most common mistake with Microarchitecture Side Channels?
What should I learn before this topic?
How can I practice it?
Is Microarchitecture Side Channels hard to learn?
How long does it take to learn Microarchitecture Side Channels?
Which topics are related to Microarchitecture Side Channels?
What should I study after Microarchitecture Side Channels?
Related topics
- Memory Consistency Models (Computer Architecture & Logic)
- FPGA (Computer Architecture & Logic)
- RAID (Computer Architecture & Logic)
- Hardware Description Languages (Computer Architecture & Logic)
- Go Goroutines and Channels (Concurrency & Parallelism)
- Server-Side Rendering (Web Development)
- Side-Channel Attacks (Security & Cryptography)