Skip to content

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 S skewed 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