AMD, AMD Zen 3 CPU'larının Spectre-STL saldırısına karşı potansiyel güvenlik açığını doğruladı

AMD, Zen 3 serisi işlemcilerde uygulanan PSF (Tahmini Mağaza Yönlendirme) optimizasyon teknolojisinin güvenliğini analiz eden bir rapor yayınladı.Çalışma, Mayıs 4'de tanımlanan Spectre-STL (Spectre-v2018) saldırı yönteminin teorik olarak uygulanabilirliğini doğruladı. PSF teknolojisine sahip ancak pratikte saldırıya yol açabilecek kod şablonları henüz bulunamadı ve genel tehlike önemsiz olarak değerlendiriliyor.

Spectre-v4 (Spekülatif Mağaza Atlaması) saldırısının, dolaylı adresleme kullanarak alternatif yazma ve okuma işlemlerini işlerken spekülatif operasyon yürütmenin sonucunu attıktan sonra işlemci önbelleğine yerleşen verileri geri yüklemeye dayandığını hatırlayalım. Bir okuma işlemi bir yazma işlemini takip ettiğinde (örneğin, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), gerçekleştirilen benzer işlemler nedeniyle okuma adresinin ofseti zaten biliniyor olabilir (okuma işlemleri çok daha sık gerçekleştirilir ve okumalar önbellekten gerçekleştirilebilir) ve işlemci, yazmanın dolaylı sapmasının hesaplanmasını beklemeden spekülatif olarak yazmadan önce okumalar gerçekleştirebilir.

Bu özellik, depolama işlemi henüz tamamlanmadığında okuma komutunun bazı adreslerdeki eski bir değere erişmesine olanak tanır. Bir tahmin hatası varsa, başarısız spekülatif işlem atılacak, ancak yürütülmesinin izleri işlemci önbelleğinde kalacak ve erişimdeki değişikliklerin analizine dayalı olarak önbellek içeriğini belirleme yöntemlerinden biri tarafından alınabilir. önbelleğe alınan ve önbelleğe alınmayan veriler için gereken süre.

AMD Zen 3 işlemcilere eklenen PSF, okuma ve yazma işlemleri arasındaki ilişkiyi tahmin ederek okuma işlemlerini spekülatif olarak gerçekleştiren STLF'yi (Depolamadan Yüklemeye Yönlendirme) optimize eder. Klasik STLF kullanıldığında, işlemci, sonucun gerçekten belleğe yazılmasını beklemeden, ancak "load"da kullanılan adreslerin doğru olduğundan emin olarak önceki "store" komutundan doğrudan iletilen veriler üzerinde bir "load" işlemi gerçekleştirir. ve "store" komutları eşleşir. PSF optimizasyonu, adres kontrolünü spekülatif hale getirir ve tek bir adresi işleyen bir depolama/yükleme çifti daha önce yürütülmüşse, adres bilgisi hesaplanmadan önce bir "yükleme" işlemi gerçekleştirir. Tahmin başarısız olursa durum geri alınır ancak veriler önbellekte kalır.

PSF'ye yönelik bir saldırı yalnızca tek bir ayrıcalık düzeyi çerçevesinde mümkündür, yalnızca mevcut süreç bağlamını kapsar ve adres alanı izolasyon yöntemleri veya donanım korumalı alan mekanizmaları tarafından engellenir. Bu durumda, süreçlerdeki yazılım korumalı alan oluşturma yöntemleri sorundan potansiyel olarak etkilenebilir. Saldırı, tarayıcılar, kod yürütme sanal makineleri ve tek bir işlemde üçüncü taraf kodu çalıştıran JIT'ler gibi sistemler için bir tehdit oluşturur (saldırı, güvenilmeyen korumalı alandaki kodun diğer işlem verilerine erişmesine izin verebilir).

AMD, PSF'yi tamamen veya seçici olarak devre dışı bırakmak için çeşitli yöntemler sunmuştur, ancak çoğu uygulama için ihmal edilebilir risk göz önüne alındığında, bu optimizasyonun varsayılan olarak devre dışı bırakılmamasını önermiştir. Güvenilmez kod çalıştıranları izole eden işlemleri seçici bir şekilde korumak için, bireysel iş parçacıkları da dahil olmak üzere "SSBD" ve "PSFD" MSR bitlerini ayarlayarak PSF'nin devre dışı bırakılması önerilir. PSF'nin açılıp kapanmasını kontrol eden “psfd” ve “nopsfd” komut satırı seçeneklerinin uygulanmasıyla Linux çekirdeği için yamalar hazırlandı.

Kaynak: opennet.ru

Yorum ekle