Zenbleed: Bu AMD güvenlik hatası hakkında bilmeniz gereken her şey

CPU'lara yönelik uzun bir güvenlik hatası serisinin en sonuncusu olan Zenbleed, yamalanması gereken başka bir şeydir. İşte bilmeniz gerekenler.

Spectre ve Meltdown CPU istismarlarının 2018'de kamuoyuna duyurulmasının ardından bilgisayar dünyası oldukça tetikteydi İşlemcilerdeki güvenlik hatalarını ve boşlukları bulma konusunda ve son beş yılda araştırmacılar tonlarca şey buldu. 24 Temmuz'da, ilk kez Mayıs ayında bildirildikten sonra başka bir istismar daha kamuya açıklandı. Bu sefer Zen 2 mimarisi üzerine kurulu AMD işlemcilere özel ve "" olarak adlandırılıyor.Zen kanaması". Zenbleed ve bunun dünya için ne anlama geldiği hakkında bilmeniz gereken her şeyi burada bulabilirsiniz.

Zenbleed nasıl çalışır?

Zenbleed, CPU'ların spekülatif yeteneğinden faydalanması açısından Spectre gibi diğer donanım tabanlı güvenlik hatalarına çok benzer. Performansı artırmak için CPU'lar yapmaları gereken bir sonraki şeyi spekülasyona tabi tutuyor veya tahmin ediyorlar ve Spectre ilk kez ortaya çıktığından beri dünya, spekülasyonun yapılması halinde son derece güvensiz olabileceğini öğrendi uygunsuz bir şekilde.

Kaynak: Tavis Ormandy

Bir CPU'daki kayıtlar, genellikle bir talimat, bir depolama adresi veya başka herhangi bir tür küçük veri gibi az miktarda veri tutabilir. Bir x86_64 mimarisindeki XMM kayıtları (yani etkilenen Zen 2 işlemcilerinden herhangi biri), belleği adreslemek için değil, yalnızca veriler üzerinde hesaplamalar yapmak için kullanılabilir. Bu, YMM kayıtları durumunda 256 bit'e ve ZMM kayıtlarında 512 bit'e kadar genişletilir. Bu durumda XMM, verinin alt 128 bitini ifade eder. Toplam ZMM kayıtlarının 512 biti.

Bu kayıtlar, standart C işlevleri de dahil olmak üzere pek çok farklı şey için inanılmaz derecede faydalıdır. Güvenlik açığı, spekülatif yürütmeyi ve yanlış tahminleri kötüye kullanarak bellekten rastgele bir veri parçasını dağıtıyor; ancak bu veriler, herhangi bir şey. Bir dizenin uzunluğunu ölçen strlen gibi standart C kitaplığı işlevleri, verileri taşımak için bu kayıtları kullanabilir Kullandığınız bir şifre şans eseri bunlardan birine düşmüş olabilir. Kayıtlar.

Dallanma tahmini ve spekülatif yürütme, genel olarak bilgisayarınızın henüz ihtiyaç duyulmayan ancak sonraki döngülerde ihtiyaç duyulması muhtemel işlemleri ne zaman gerçekleştirdiğini ifade eder. Bu genellikle sisteminizin boş kaynaklara sahip olduğu zamanlarda yapılır, çünkü talimatlar veya veriler aksi takdirde CPU için henüz hazır olmadığında genel işlemeyi hızlandırır. Yapılan işe gerek yoksa, genellikle atılır ve işlemci bir sonraki doğru talimatı yürütmek için ihtiyaç duyduğu yere geri atlayabilir. Bunu yaptığında buna dal yanlış tahmini denir.

Bir sorunun ortaya çıktığı yer, YMM ve ZMM kayıtlarının 128 ve daha yüksek pozisyonlarındaki bitleri sıfırlayan vzeroupper talimatındadır. Bu, performansı ortadan kaldırdığı için özellikle AVX ile eski SSE kodu arasında geçiş yaparken yapılır. Yanlış bağımlılıkların neden olduğu cezalar aynı zamanda tamsayı yükseltmeye benzer bir etkiden de kaçınır. C.

İşlemci spekülatif olarak bir vzeroupper talimatını yürütürse, uygun bir geri alma yoktur. Ancak etkilenen Ryzen işlemciler, hatalı da olsa bu durumdan kurtulmak zorunda kalabilir. Bu duruma girdikten sonra, halihazırda çalışmakta olan program, bu kayıtları gerçek zamanlı olarak gözetleyebilir ve herhangi bir zamanda sistem boyunca akan verileri görüntüleyebilir.

Zenbleed'den hangi CPU'lar etkileniyor ve yamalar ne zaman mevcut olacak?

Daha önce de belirtildiği gibi, yalnızca Zen 2 mimarisini temel alan AMD CPU'ların Zenbleed güvenlik hatasına karşı savunmasız olduğu biliniyor ancak Zen 2 mimarisi CPU'ları üç seri halinde çalıştırıyor ve bu da hangi CPU'ların savunmasız olduğunu ve hangilerinin hassas olduğunu bulmayı karmaşık hale getiriyor değil. İşte her şeyi açıklığa kavuşturacak bir tablo:

Etkilenen CPU'lar

Ryzen 3000 Serisi

APU'lar hariç tümü (örn. Ryzen 3 3200G)

Epyc Roma

Tüm

Ryzen 4000 Serisi

Tüm

Ryzen 5000 Serisi

Yalnızca 5300U, 5500U ve 5700U

Ryzen 7000 Serisi

Yalnızca 7020 APU'lar (örn. Ryzen 3 7320U)

Bu oldukça büyük miktarda AMD işlemcidir ve bunlar yalnızca şu ana kadar onaylananlardır. Zen 2 ayrıca Steam Deck'e, Xbox Series S ve X'e ve PS5'e güç veren APU'larda da kullanılıyor. Bu CPU'ların da etkilenip etkilenmediğini henüz duymadık, ancak bu istismarın işleyiş şekline bakılırsa, onların da etkilenmemesine şaşırırdım. Daha yeni olan 7020 serisi çipler de etkilendiğinden AMD'nin Xbox ve PS5'e yama yapması pek mümkün görünmüyor.

Yazma sırasında, Linux çekirdeğine mikro kod gönderildi Bu güvenlik açığını düzeltecek ve işletim sisteminizde veya BIOS'unuzda bu sorunu çözen bir güncelleme zaten mevcut olabilir.

Bu, savunmasız CPU'ları kullanan bilgisayarlar için ne anlama geliyor?

Bu cevaplaması zor bir soru çünkü tüm bilgisayarlar eşit değil. Yalnızca oyun masaüstü ve dizüstü bilgisayarlarını kullanan normal insanlar için muhtemelen bu kadar endişelenmenize gerek yok. Bu oldukça karmaşık bir istismardır ve şu anda kamuoyunun bilgisi dahilinde olmasına rağmen, bir saldırganın Zenbleed'i herhangi bir şeye sızmak için kullandığına dair bilinen bir örnek henüz yoktur.

Ancak veri merkezleri ve hassas bilgileri kendi bilgisayarlarında işleyen önemli kişiler için riskler çok daha yüksektir. AMD'nin, Epyc Rome'un güvenlik açığı kamuya açıklanmadan önce yamalandığını açıkça belirtmesinin bir nedeni var: pek çok hassas nokta. bilgiler Epyc CPU'lar tarafından işleniyor ve büyük ölçekli sunuculara güç veren herhangi bir CPU'nun başarıyla çalıştırılması bir felaket olurdu. saldırdı. Linux çekirdeği 6.4.6 zaten yayınlandı ve bu güvenlik açığını, resmi mikrokod yaması AMD'den. Microsoft'un benzer bir şeyi Windows'a dahil etmesi muhtemel görünüyor.

Endişe verici bir şekilde, AMD'nin resmi BIOS yamaları birkaç ay boyunca yayınlanmayabilir, bu durumda bir " vartavuk parçası"Linux veya FreeBSD makinesindeyseniz ayarlayabilirsiniz. Linux makinelerde msr-tools'u kullanabilir ve aşağıdaki komutu çalıştırabilirsiniz.

wrmsr -a 0xc0011029 $(($(rdmsr -c 0xc0011029) | (1<<9)))

FreeBSD'de aşağıdakileri de kullanabilirsiniz.

cpucontrol(8)

SMT'yi devre dışı bırakmak güvenlik açığını azaltmak için yeterli değildir.

Zenbleed'i özellikle kötü yapan şeylerden biri de Zen 2'nin AMD'nin en popüler CPU mimarilerinden biri olmasıdır. AMD'nin 2019 ve 2020'deki geri dönüşünü başlattı ve birçok kişi, şirket ve kuruluş 2023'te hala Zen 2 işlemcili bilgisayarları, özellikle de Epyc Rome'u kullanıyor CPU'lar. Bu, Spectre (hemen hemen tüm 2019 öncesi CPU'ları etkiler) ve Meltdown (hemen hemen tüm 2019 öncesi Intel CPU'ları etkiler) kadar kötü değil, ancak yine de oldukça iyi. yaygın.

Bunun gibi güvenlik açıklarına yönelik güvenlik yamaları da sıklıkla performansın düşmesine neden olur, ancak AMD anlattı Tom'un Donanımı bu cezanın CPU'ya ve iş yüküne bağlı olacağını söyledi. Spekülasyon ve tahminler CPU performansı açısından oldukça önemli olduğundan herhangi bir potansiyel düzeltmenin performansta önemli bir düşüş yaratıp yaratmayacağı belli değil.