BarraCUDA: Edge GPUs do Leak DNN Weights¶
Correlation electromagnetic analysis, NVIDIA Jetson edge GPU'larında çalışan gerçek convolutional neural network'lerin floating-point weight'lerini ve bias'larını kurtarır.
Mechanism¶
Note
Model weight'leri değerli IP'dir ve bir edge cihazda smartcard tarzı bir
secure element yerine GPU üzerinde işlenirler — dolayısıyla çip hesaplama
yaparken çipin electromagnetic (EM) emanation'larında belirirler.
BarraCUDA'nın istismar ettiği değişmez nokta şu: bir convolution layer'ı,
her w_i'nin sabit gizli bir weight ve her m_i'nin saldırganca bilinen
bir input değeri olduğu acc += w_i * m_i formundaki bir multiply-accumulate
partial sum dizisi olarak hesaplanır. Secret data path'e bir (ya da birkaç)
weight'lik dilimler hâlinde girdiği için klasik Correlation Electromagnetic
Analysis (CEMA) uygulanabilir: saldırgan w_i için bir değer hipotezi
kurar, bir Hamming-weight ya da Hamming-distance modeli altında w_i *
m_i'nin (ya da çalışan accumulator'ın) leakage'ını tahmin eder ve o tahmini,
çok sayıda rastgele input m_i üzerinden ölçülen EM trace'lerine karşı
korele eder. Korelasyonu maksimize eden hipotez gerçek weight'tir. Bir GPU
son derece paralel, gürültülü bir ortamda çok sayıda thread çalıştırsa da,
yeterince trace ortalamak weight başına sinyali kurtarır — bir AES key'ini
byte byte kıran aynı divide-and-conquer ilkesi, bir DNN'e weight weight
uygulanmış hâli.
Walkthrough¶
Hedef, bir Jetson edge board üzerinde NVIDIA'nın closed-source TensorRT inference framework'ü (fp16x2 half-precision kernel'ler) altında çalışan bir CNN'dir. Saldırgan input'ları kontrol eder ve fiziksel EM-probe erişimine sahiptir.
-
EM probe yerleştir — Jetson Nano'nun (Tegra X1, Maxwell, tek SM) GPU paketinin üzerine — ve seçilmiş input'lar üzerinde inference tetikle.
-
Rastgele input'larla çok sayıda trace topla. Her trace, taze rastgele bir input görüntüsü
mile yapılan bir inference'tır; secret weight'ler trace'ler boyunca sabittir. -
Weight başına CEMA çalıştır. Bir hedef weight
w_iiçin aday değerleri sırala, HW/HD modelleri altında partial-sum ara değerinin leakage'ını tahmin et ve trace setine karşı korele et. Tepe yapan aday weight'tir. -
Network'te yürü. Layer'ın weight'lerini ve bias'ını kurtar, artık bilinen activation'ları ileri yay ve layer layer tekrarla.
acc = 0
for i in tap: # one convolution output element
acc += w_i * m_i # w_i secret (target), m_i attacker-known
# CEMA: argmax_w corr( EM_trace , leak_model(w * m_i) )
Raporlanan sonuçlar
Devices: NVIDIA Jetson Nano (Tegra X1, Maxwell, 1 SM); Jetson Orin Nano
Framework: NVIDIA TensorRT (closed-source, fp16x2 half-precision)
Method: Correlation EM Analysis (CEMA), Hamming-weight / Hamming-distance
Leak: per-convolution weights AND biases of real-world CNNs
Scale: on the order of millions of traces (weights need fewer than
biases); large campaigns collected ~15M traces over ~10 days
Warning
Bu, fiziksel, profiled tarzı bir saldırıdır: GPU'ya EM-probe yakınlığı ve seçilmiş input'larla çok sayıda inference sürme yeteneği gerektirir. Remote / yalnızca software bir exploit değildir. TensorRT kernel'lerinin half-precision floating-point düzeni leakage modelini şekillendirir.
Mitigation¶
Model weight'lerini hardware düzeyinde secret olarak ele al: fiziksel shielding ve probe-mesafe kontrolleri; inference data path'inde masking/blinding ya da noise enjeksiyonu; weight başına korelasyonu kırmak için hesaplama sırasını/scheduling'i rastgeleleştirme; saldırganca seçilmiş input'larla yüksek hacimli tekrarlı inference'ı rate-limit'le ya da tespit et. Kavramsal olarak, crypto'nun power/EM analysis'ine karşı kullanılan aynı masking/hiding karşı önlemleri DNN inference'a da uygulanır.