AMD, Apple, Qualcomm ve Imagination Technologies’in grafik işlem birimlerini etkileyen ‘LeftoverLocals’ adlı yeni bir güvenlik açığı, yerel bellek alanından veri alınmasına olanak tanıyor.
CVE-2023-4969 olarak takip edilen güvenlik sorunu, özellikle büyük dil modelleri (LLM) ve makine öğrenimi (ML) süreçleri bağlamında savunmasız GPU’lardan veri kurtarmaya olanak tanıyor.
LeftoverLocals, teknik bir genel bakış yayınlamadan önce bunu satıcılara özel olarak bildiren Trail of Bits araştırmacıları Tyler Sorensen ve Heidy Khlaaf tarafından keşfedildi.
ArtıkYerel ayrıntılar
Güvenlik açığı, bazı GPU çerçevelerinin belleği tamamen yalıtmamasından ve makinede çalışan bir çekirdeğin, başka bir çekirdek tarafından yazılan yerel bellekteki değerleri okuyabilmesinden kaynaklanıyor.
Güvenlik açığını keşfedip bildiren Trail of Bits araştırmacıları Tyler Sorensen ve Heidy Khlaaf, bir saldırganın, bir kullanıcının GPU yerel belleğinde bıraktığı verileri okumak için yalnızca bir GPU hesaplama uygulamasını (örn. OpenCL, Vulkan, Metal) çalıştırması gerektiğini açıklıyor.
“Saldırgan bunları kullanarak kurbanın GPU yerel belleğinde bıraktığı verileri, yalnızca başlatılmamış yerel belleği boşaltan bir GPU çekirdeği yazarak okuyabilir” – Trail of Bits
LeftoverLocals, saldırganların, başlatılmamış yerel bellekten okuyan ve verileri küresel bellek gibi kalıcı bir konuma aktarabilen bir GPU çekirdeği olan bir ‘dinleyici’ başlatmasına olanak tanır.
Yerel bellek temizlenmezse, saldırgan, değerleri yerel belleğe depolayan bir program olan ‘yazarın’ geride bıraktığı değerleri okumak için dinleyiciyi kullanabilir.
Aşağıdaki animasyon, yazar ve dinleyici programlarının nasıl etkileşimde bulunduğunu ve ikincisinin, etkilenen GPU’larda öncekilerden nasıl veri alabileceğini göstermektedir.
Kurtarılan veriler, model girdileri, çıktıları, ağırlıkları ve ara hesaplamaları da içeren kurbanın hesaplamaları hakkındaki hassas bilgileri ortaya çıkarabilir.
LLM’leri çalıştıran çok kiracılı bir GPU bağlamında LeftoverLocals, diğer kullanıcıların etkileşimli oturumlarını dinlemek ve kurbanın “yazar” sürecindeki verileri GPU’nun yerel belleğinden kurtarmak için kullanılabilir.
Trail of Bits araştırmacıları, LeftoverLocals’ı göstermek için bir kavram kanıtı (PoC) oluşturdu ve bir düşmanın, GPU çerçevesine bağlı olarak GPU çağrısı başına 5,5 MB veriyi kurtarabildiğini gösterdi.
Açık kaynaklı LLM llama.cpp’yi çalıştıran AMD Radeon RX 7900 XT’de, bir saldırgan sorgu başına 181 MB’a kadar veri alabilir; bu da LLM’nin yanıtlarını yüksek doğrulukla yeniden yapılandırmak için yeterlidir.
Etki ve iyileştirme
Trail of Bits araştırmacıları, Eylül 2023’te CVE-2023-4969’u keşfetti ve açıklama ve yama uygulama çabalarını koordine etmeye yardımcı olması için CERT/CC’yi bilgilendirdi.
Bazı satıcılar sorunu zaten düzelttiğinden, diğerleri hala bir savunma mekanizması geliştirme ve uygulama yolu üzerinde çalışırken, azaltma çabaları devam ediyor.
Apple söz konusu olduğunda, en son iPhone 15 etkilenmedi ve A17 ve M3 işlemciler için düzeltmeler mevcuttu ancak sorun M2 destekli bilgisayarlarda devam ediyor.
AMD, mühendisleri etkili risk azaltma stratejilerini araştırırken aşağıdaki GPU modellerinin savunmasız kaldığını bildirdi.
Qualcomm, donanım yazılımı v2.0.7 aracılığıyla bazı çiplerdeki LeftoverLocals’ı düzelten ancak diğerlerinin savunmasız kalmasını sağlayan bir yama yayınladı.
Imagination, Aralık 2023’te DDK v23.3’te bir düzeltme yayınladı. Ancak Google, Ocak 2024’te satıcının bazı GPU’larının hâlâ etkilendiği konusunda uyardı.
Intel, NVIDIA ve ARM GPU’lar veri sızıntısı sorununun cihazlarını etkilemediğini bildirdi.
Trail of Bits, GPU satıcılarının çekirdek çağrıları arasında otomatik bir yerel bellek temizleme mekanizması uygulayarak tek bir işlem tarafından yazılan hassas verilerin izolasyonunu sağladığını öne sürüyor.
Bu yaklaşım bir miktar performans ek yükü getirse de araştırmacılar, güvenlik etkilerinin ciddiyeti göz önüne alındığında bu tavizin haklı olduğunu öne sürüyorlar.
Diğer olası azaltımlar arasında güvenlik açısından kritik senaryolarda çok kiracılı GPU ortamlarından kaçınılması ve kullanıcı düzeyinde azaltımların uygulanması yer alır.