Skip to content

Leaky DNN: Stealing Deep-Learning Model Secret with GPU Context-Switching Side-Channel

Attacker ve victim bir GPU'yu paylaştığında, GPU scheduler'ının maruz kaldığı context-switching penalty, victim'in neural-network execution'ının bir timing fingerprint'ini sızdırır — modelin layer composition'ını ve hyperparameter'larını yeniden inşa etmeye yetecek kadar. Prototip MosConS olarak adlandırılır.

Mechanism

Note

Bir GPU, execution resource'larını eşzamanlı context'ler arasında zaman paylaşımıyla kullanır. Scheduler her bir context'ten diğerine geçtiğinde, bir context-switch penalty öder (state saving/restoring, pipeline/cache etkileri) ki bu, içeri alınan kernel'in gözlemlenen execution süresini uzatır. Leaky DNN'in suistimal ettiği invariant: bu penalty data-/workload-dependent ve co-resident bir context tarafından gözlemlenebilirdir. Bir victim DNN, layer dizisini — her biri kendi süresi ve resource profili olan ayrı bir GPU kernel'i — yürütürken, aynı GPU'da çalışan bir attacker kernel'i, context-switch kaynaklı timing varyasyonunun yapılandırılmış bir desenini deneyimler. Bu desen, victim'in layer-başına execution sınırlarının bir side-channel trace'idir; bundan network'ün architecture'ı (layer tipleri/sırası ve dimension ile batch size gibi hyperparameter'lar) — victim'in weight'lerini veya memory'sini hiç okumadan — çıkarılabilir.

Walkthrough

DSN 2020 paper'ından üst düzey.

  1. Co-residency. Attacker ve victim aynı paylaşılan GPU'da train/infer eder; attacker kendi GPU kernel'lerini başlatabilir ama victim memory'sini okuyamaz.

  2. Context-switch penalty'yi prob et. Attacker, hafif timing kernel'leri çalıştırır ve victim'in kernel'leriyle switch'leme sonucu oluşan execution-latency varyasyonunu ölçer; victim layer aktivitesiyle korele bir time series elde eder.

victim DNN: [conv][relu][pool][conv]...   (sequence of GPU kernels)
attacker:   probe-probe-probe-...         (measures context-switch penalty)
            -> trace of layer boundaries & durations
  1. Architecture'ı çıkar (MosConS). Toplanan timing dizisi, context-switch penalty'sindeki temporal desenleri öğrenen ve layer dizisi ile hyperparameter'ları tahmin eden LSTM tabanlı inference modellerine beslenir.

  2. Yapısal secret'ı recover et. Çıktı, layer composition'ın ve hyperparameter'ların bir reconstruction'ıdır — modelin yapısal IP'si — ki bu, daha fazla model-extraction veya adversarial attack'i başlatabilir.

Raporlanan kapsam (DSN 2020)
Attack:    Leaky DNN / prototype "MosConS"
Channel:   GPU context-switching penalty (timing)
Threat:    attacker co-resident on the same GPU as victim DNN
Recovers:  layer composition, hyperparameters / network architecture
Method:    LSTM-based sequence inference over timing traces

Detection

  • Attack, victim'de architectural bir footprint olmayan bir timing side channel'dır; leak'in kendisinden doğrudan host sinyali bekleme.
  • Ön koşulu avla: hassas training/inference workload'larıyla aynı fiziksel GPU'da birlikte zamanlanmış güvenilmeyen tenant'lar.
  • Davranışsal kırmızı bayrak: tek amacı yararlı compute yapmaktan ziyade scheduling latency'sini ölçmek gibi görünen küçük, tekrarlayan timing kernel'leri akışları başlatan bir tenant.

Mitigation

  • Hassas modeller için GPU co-residency'yi ortadan kaldır: tenant başına bir GPU ayır veya hardware partitioning (örn. MIG tarzı spatial partitioning) kullan ki güvensiz workload'lar scheduler/cache'i paylaşmasın.
  • Model yapısını architecture düzeyinde obfuscate et — örn. dummy layer'lar/operasyonlar ekleme, kernel'leri fuse veya reshape etme ya da execution sırasını randomize etme — layer-başına timing imzasını kırmak için (paper ve obfuscation araçları gibi takip eden çalışmalar bu yönü tartışır).
  • Context-switch timing desenlerini bulanıklaştırmak için scheduling randomization / batching.
  • DNN architecture'ı gizli bir varlık olarak ele al ve multi-tenant GPU cloud'larında onu co-tenant inference'a maruz bırakmaktan kaçın.

References