IEEE S&P, 2020
Randomized Caches
Key Questions posed by the paper
Key Contributions of the paper
Generic Randomized Cache Model
Memory Address: Physical or Virtual
Key to the mapper: Captures entropy!
Security domain separator: differentiating randomization for processes in different threat domains
Randomized Mapping \( R_K(a,s) \) following Kerchkoff's principle
Different partitions for the cache. Address a has different sets for each partition
Randomly selected partition based on R for storing and replacement
Rekeying Period
Classifying existing proposals on generic model
Attacker Model - Assumptions
Attacker Models considered
Exploiting Contention on Randomized Caches
Generalized Eviction Set
\( G = \cup_{i=1}^P G_i \)
Eviction Probability
For Random Replacement
For \( G_i = \frac{|G|}{P}, 1\leq i \leq P \)
\( p_{rand}(|G|) = 1- (1 - \frac{1}{n_w})^{\frac{|G|}{P}} \)
For LRU
Binominal with \( \frac{|G|}{P} \) trials with \( \frac{n_w}{P} - 1 \) successes, and success probability \( \frac{1}{P} \)
\( p_{LRU}(|G|) \ = 1 - \sum_{i=0}^{\frac{n_w}{P}-1} {\frac{|G|}{P} \choose i} (\frac{1}{P})^i (1-\frac{1}{P})^{\frac{|G|}{P} - i} \)
Generalized Eviction Set Size
Takeaway: Always rely on partial congruence!
Constructing Eviction Sets
Prime + Prune + Probe
Check paper for more optimizations!
Lifting Idealizing Assumptions
Lifting Idealizing Assumptions
Shortcut Attacks
Refer to our work on BRUTUS!
Number of Cache Accsses with PPP
Future Work Suggestions
MICRO 2020