CEASER-S skewed randomized cache¶
Per-partition key'leri ve periyodik remapping'i olan, conflict-based eviction-set construction'ı infeasible kılmak için tasarlanmış ama pratikte kırılabilir bir encrypted-address LLC.
Mechanism¶
Note
CEASER (Qureshi, MICRO 2018), sabit physical-address-to-set mapping'ini bir encrypted address ile değiştirir: epoch başına key'lenen bir low-latency block cipher, bir line address'i kendi set index'ine map eder, dolayısıyla bir saldırgan hangi address'lerin çakıştığını statik olarak bilemez. Key, epoch sınırlarında rotate edilir (access-count-based bir remap) ve saldırganın zahmetle topladığı herhangi bir eviction set'i geçersiz kılar. CEASER-S ("Skewed-CEASER"), cache'i her biri bağımsız bir key'e sahip birden çok skewed partition'a böler — örn. 16-way bir cache'i iki 8-way yarıya — dolayısıyla bir line her partition'da farklı bir set'e map olur. Bir victim'i evict etmek için saldırgan artık line'ı tüm partition konumlarından aynı anda söken bir set kurmalıdır; bu, single-key randomized bir cache'e karşı olandan üstel olarak daha zordur.
Invariant: bir eviction set yalnızca bir epoch'un bir kesri boyunca kullanışlıdır ve partition'lar boyunca victim mapping'iyle yalnızca kısmen örtüşür, dolayısıyla güvenilir Prime+Probe eviction asla yakınsamaz — teoride.
Walkthrough¶
CEASER vs CEASER-S, iki tasarım noktası:
- CEASER — tüm cache üzerinde tek bir global encryption key; eviction-set oluşumu "yıllar" alacak şekilde ayarlanmış bir access-rate epoch'unda remap.
- CEASER-S — cache her biri bağımsız bir cipher key'e sahip
Sskewed partition'a bölünür (örn. 2× 8-way); bir line partition başına farklı bir set'te bulunur. Remapping ile birleştirilir.
Bypass — Purnal et al. (S&P 2021), CEASER-S ve ScatterCache'i tek bir modele genelleştirir ve generalized eviction set'leri kullanarak Prime+Prune+Probe (PPP) ile saldırır (target'ı evict etmesi muhtemel ama garantili değil):
Prime : access a candidate set of lines
Prune : self-evict, keep only lines that survive (truly map to the set)
Probe : measure which lines were evicted by the victim access
CEASER-S'ye karşı raporlanan PPP sonucu (S&P 2021)
PPP "consistently obtains high-quality generalized eviction sets within the rekeying period of the 1000N-instance of CEASER-S, with average complexity ≈320N, leaving on average 68% of every rekeying period available for exploitation."
Sonuç: kullanılabilir bir eviction set, CEASER-S'nin seçtiği remap periyodunun epey içinde bulunur, dolayısıyla yeterince agresif bir remap rate olmadan partition eklemek channel'ı kapatmaz.
Detection¶
CEASER-S bir hardware tasarım noktasıdır, gözlemlenebilir yazılım değil. Araştırma, Prime+Probe'un rekeying penceresi içinde yakınsayıp yakınsamadığını ölçerek onu probe eder (PPP'ye göre yakınsar).
Mitigation¶
Güvenli olmak için CEASER-S'nin o kadar yüksek bir remap rate'ine ihtiyacı olurdu ki kabul edilemez bir performans overhead'i dayatırdı — dolayısıyla "static encryption alone cannot guarantee security." ScatterCache ve daha düşük overhead'li CEASER randomized cache ile karşılaştır.
References¶
- Systematic Analysis of Randomization-based Protected Cache Architectures (Purnal et al., IEEE S&P 2021)
- CEASER: Mitigating Conflict-Based Cache Attacks via Encrypted-Address and Remapping (Qureshi, MICRO 2018) — orijinal single-key CEASER tasarımı.
- New Attacks and Defense for Encrypted-Address Cache (Qureshi, ISCA 2019) — CEASER-S ("Skewed-CEASER") bu takip paper'ında tanıtılır; single-key CEASER'e karşı hızlandırılmış eviction-set saldırılarına yanıt olarak.