Skip to content

GATEBLEED

On-core bir accelerator'ın (Intel AMX) agresif power-gating'ini suistimal et: gated bir unit'i uyandırmak binlerce cycle'a mal olur, dolayısıyla wake-up latency'si accelerator'ın kullanılıp kullanılmadığını — ve ne kadar yakın zamanda kullanıldığını — leak eder, AI membership-inference ve bir covert channel sağlar.

Mechanism

Neden çalışır

Power/thermal limitleri içinde kalmak için CPU, Intel AMX (Advanced Matrix Extensions, 4. nesil Xeon Scalable'da tanıtıldı) gibi idle on-core accelerator'ları power-gate eder. Bir accelerator power off olduğunda, onu kullanan ilk instruction büyük bir wake-up latency öder; bir kez warm olunca, sonraki kullanımlar hızlıdır. Latency bu yüzden reuse distance'in bir fonksiyonudur — unit'in en son ne kadar yakın zamanda kullanıldığı.

leak/transmit/decode invariant'ı:

  • Leak: attacker tek bir AMX instruction issue eder ve onu time'lar. Uzun bir latency (~20.000 cycle'a kadar rapor edildi) unit'in gated olduğu (yakın zamanda kullanılmadığı) anlamına gelir; kısa bir latency ise başka bir context'in onu yakın zamanda kullandığı ve warm tuttuğu anlamına gelir.
  • Transmit/decode: bu reuse-distance timing'i, co-located bir victim'ın accelerator kullanımına bir side channel'dır ve gate'i on/off toggle'layan işbirliği yapan process'ler arasında bir covert channel'dır.

Birçok ML model'i (Transformer'lar, CNN'ler, MoE router'lar) ağır accelerator matematiğinin çalıştırılıp çalıştırılmayacağına dair data-dependent kararlar verdiği için (confidence threshold'ları, routing logit'leri, early-exit), accelerator'ın on/off pattern'i private input'larla correlate olur — sadece timing'den, model output'larına hiç access olmadan membership inference sağlar.

Walkthrough

Probe, gate state'ini okumak için bir AMX op'unu time'lar (kavramsal):

// Conceptual GATEBLEED probe: time a single AMX instruction.
static inline uint64_t amx_probe(void) {
    uint64_t t0 = rdtscp();
    // one AMX tile op (e.g. TDPBSSD) — slow if the unit was power-gated:
    asm volatile("tdpbssd %%tmm1, %%tmm2, %%tmm3" ::: );
    return rdtscp() - t0;
}
// LONG  latency => AMX was gated (victim did NOT recently use it)
// SHORT latency => AMX warm (victim/co-process recently used it)

Bir victim inference'ı etrafında tekrarlı probing, victim'ın data-dependent accelerator-usage trace'ini recover eder; bilinen input'larla correlate etmek membership / routing inference verir (paper, AMX-optimized bir transformer'da ~%81 membership-inference doğruluğu rapor eder).

Beklenen latency ayrımı (kavramsal)
gated (cold) AMX op : up to ~20,000 cycles
warm AMX op         : a few hundred cycles
long/short trace -> victim's data-dependent accelerator usage

Mitigation

  • Security-sensitive workload'lar için agresif accelerator power-gating'i disable et/ondan kaçın ya da data'dan bağımsız olarak unit'i warm tut (sabit accelerator kullanımı).
  • ML control flow'unu input-independent yap (shared hardware'de data-dependent early-exit/routing yok); accelerator'ları tenant'lar arasında izole et.

References