Hardware Security

What is the idea of partitioning a shared cache as a countermeasure to cache side channels?

  1. APhysically splitting the cache in two and discarding it
  2. BDoubling the cache capacity
  3. CAssigning separate cache regions to processes or VMs so they cannot evict each other's data, making traces unobservable
Show answer and explanation

Answer: C. Assigning separate cache regions to processes or VMs so they cannot evict each other's data, making traces unobservable

Cache side channels work because attacker and victim contend for the same cache locations. Assigning certain ways or sets of the cache to each process or VM prevents them from evicting each other's data, so the other party's access traces cannot be observed. Some CPUs offer features to control cache allocation. Each party gets less capacity, though, so it is a trade-off with performance.

  • A. It is not physical splitting.
  • B. More capacity still leaves traces if shared.
  • C. Correct. In exchange, each gets less cache.
Practice this topic Back to topic

More Hardware Security questions

  1. Why do some systems handling confidential work disable the CPU's simultaneous multithreading (SMT)?
  2. What countermeasure protects against external devices connected to a PC using DMA to read or write main memory without permission?
  3. What is the idea of "defense in depth," emphasized in hardware and software security?
  4. When manufacturing many devices, why give each device its own key instead of the same key in all of them?
  5. When a CPU hardware vulnerability is discovered, which is one countermeasure applied to CPUs already shipped?