Araştırmacılar, en son modeller de dahil olmak üzere tüm AMD Zen CPU’larda ayrıcalıklı olmayan işlemleri kullanarak ayrıcalıklı sırları ve verileri sızdırabilen ‘Başlangıç’ adlı yeni ve güçlü bir geçici yürütme saldırısı keşfettiler.
Geçici yürütme saldırıları, tüm modern işlemcilerde bulunan ve tamamlandığında daha yavaş bir işlemden önce neyin yürütüleceğini tahmin ederek CPU’ların performansını önemli ölçüde artıran, spekülatif yürütme adı verilen bir özellikten yararlanır.
Tahmin doğruysa, CPU bir işlemin bitmesini beklemeyerek performansı artırmıştır ve yanlış tahmin ederse değişikliği geri alır ve yeni sonucu kullanarak işleme devam eder.
Spekülatif yürütmenin sorunu, saldırganların normalde korunması gereken değerli verileri almak için gözlemleyebileceği veya analiz edebileceği izler bırakabilmesidir.
ETH Zürih’teki araştırmacılar, daha da güçlü bir “Başlangıç” saldırısı oluşturmak için “Phantom spekülasyon” (CVE-2022-23825) adlı eski bir tekniği “Training in Transient Execution” (TTE) adlı yeni bir geçici yürütme saldırısıyla birleştirdiler.
Hayali spekülasyon, saldırganların yanlış tahmin kaynağında herhangi bir dala ihtiyaç duymadan yanlış tahminleri tetiklemelerine olanak tanır, yani keyfi XOR komutlarında spekülatif bir yürütme dönemi (“geçici pencere”) oluşturun.
TTE, sömürülebilir spekülatif uygulamalar yaratmak için şube tahmin edicisine yeni tahminler enjekte ederek gelecekteki yanlış tahminlerin manipüle edilmesidir.
CVE-2023-20569 olarak izlenen Başlangıç saldırısı, yukarıda açıklanan kavramları birleştiren ve bir saldırganın CPU’yu bir XOR komutunun (basit ikili işlem) yinelemeli bir çağrı talimatı olduğuna inandırmasına olanak tanıyan yeni bir saldırıdır.
Bu, saldırgan tarafından kontrol edilen bir hedef adresle geri dönüş yığını arabelleğini taşmasına neden olarak, saldırganların herhangi bir AMD Zen CPU’da çalışan ayrıcalıksız işlemlerden rasgele veri sızdırmasına olanak tanır.
Spectre gibi bilinen spekülatif yürütme saldırılarına veya Otomatik IBRS gibi geçici kontrol akışı kaçırmalarına yönelik tüm hafifletme önlemleri uygulanmış olsa bile sızıntı mümkündür.
Ayrıca, Inception aracılığıyla elde edilen veri sızıntısı hızı 39 bayt/sn’dir; bu, 16 karakterlik bir parolayı çalmak için yaklaşık yarım saniye ve bir RSA anahtarı için 6,5 saniye sürer.
ETH Zurich’in ekibi, saldırıların ayrıntılarına daha derinlemesine dalmak isteyenler için Inception ve Phantom için ayrı teknik belgeler yayınladı.
Inception saldırılarını önleme
Araştırmacılar, Zen 1’den Zen 4’e kadar tüm AMD Zen tabanlı Ryzen ve EPYC CPU’ların Phantom ve Inception’a karşı savunmasız olduğunu söylüyor.
Spesifik TTE değişkenleri potansiyel olarak Intel CPU’ları etkiler, ancak eIBRS azaltmaları sayesinde Phantom’un Intel’de kullanılması zordur.
ETH Zürih ekibi tarafından oluşturulan konsept kanıtının Linux üzerinde yürütülmesi amaçlanmış olsa da, bu bir yazılım değil, bir donanım kusuru olduğundan, saldırılar savunmasız AMD CPU’ları kullanan herhangi bir işletim sisteminde çalışmalıdır.
Sorunu hafifletmek için bir strateji, güvenilmeyen bağlamlar arasında geçiş yaparken şube öngörücü durumunu tamamen temizlemek olacaktır; ancak bu, daha eski Zen 1(+) ve Zen 2 CPU’larda %93,1 ile %216,9 arasında bir performans ek yükü getirir.
Zen 3 ve Zen 4 CPU’lar için, bu azaltma stratejisi için başlangıçta yeterli donanım desteği yoktu, ancak AMD o zamandan beri bu özelliği etkinleştirmek için mikro kod güncellemeleri yayınladı.
Zen tabanlı AMD işlemci sahiplerinin, bilgisayar satıcısı ve/veya işletim sistemi güvenlik güncellemelerinin bir parçası olarak da gelebilen en son mikro kod güncellemelerini yüklemeleri önerilir.
Windows Temmuz 2022 güncellemesinde Phantom kusuru için bir düzeltme olan CVE-2022-23825 yayınlandı.
BleepingComputer, etkilenen çip mimarileri için mikrokod yayınlama programları hakkında daha fazla bilgi edinmek üzere AMD ile iletişime geçti, ancak henüz yayın saatine kadar bir yanıt alamadık.
8/8 güncellemesi – Bir AMD sözcüsü, BleepingComputer’a Inception ile ilgili şu yorumu gönderdi:
AMD, yeni bir spekülatif yan kanal saldırısını açıklayan ‘BAŞLANGIÇ’ başlıklı bir harici rapor aldı. AMD, “Başlangıç”ın yalnızca potansiyel olarak yerel olarak, örneğin indirilen kötü amaçlı yazılım aracılığıyla kötüye kullanılabileceğini düşünüyor ve müşterilerine, güncel yazılım ve kötü amaçlı yazılım tespit araçları çalıştırma dahil olmak üzere en iyi güvenlik uygulamalarını kullanmalarını tavsiye ediyor. AMD, şu anda araştırma ortamı dışında herhangi bir “Başlangıç” istismarından haberdar değildir.
AMD, müşterilerinin “Zen 3” ve “Zen 4” CPU mimarilerine dayalı ürünler için geçerli olduğu şekilde bir µkod yaması veya BIOS güncellemesi uygulamasını önerir. “Zen” veya “Zen 2” CPU mimarilerine dayalı ürünler için mikro kod yaması veya BIOS güncellemesi gerekli değildir, çünkü bu mimariler zaten dal tahmin edicisinden dal türü tahminlerini temizlemek için tasarlanmıştır.
AMD, AMD güvenlik bülteninde listelenen Orijinal Ekipman Üreticilerine (OEM’ler), Orijinal Tasarım Üreticilerine (ODM’ler) ve anakart üreticilerine güncellenmiş AGESA™ sürümlerini yayınlamayı planlamaktadır. Ürününüze özel bir BIOS güncellemesi için lütfen OEM, ODM veya anakart üreticinize başvurun.