- TRR azaltımının uygulandığı AMD Zen 2·Zen 3 DDR4 sistemlerinde de Rowhammer bit flip’leri meydana geldi; bu da AMD platformlarının da fiilen bir saldırı yüzeyi olabileceğini gösteriyor
- Araştırma ekibi, AMD’ye uyarlanmış DRAMA tekniğiyle gizli DRAM adres fonksiyonlarını tersine mühendislikten geçirdi ve sistem adresi yeniden eşlemesi nedeniyle fiziksel adres ofset işlemesinin gerekli olduğunu doğruladı
- ZenHammer fuzzer’ı, Samsung, Micron ve SK Hynix dahil 10 DDR4 aygıtının Zen 2’de 7’sinde, Zen 3’te 6’sında bit flip oluşturdu; Zen 3 aygıtları Intel Coffee Lake’ten daha savunmasız sonuç verdi
- Mevcut page table, RSA-2048 açık anahtar bozulması ve
sudoers.sosaldırıları sırasıyla 7/6/4 aygıtta kurulabildi; istismar edilebilir bit flip bulma ortalama süresi 164/267/209 saniyeydi - Zen 4’ün DDR5 değerlendirmesinde 10 aygıttan 1’inde yaklaşık 42.000 bit flip oluştu, ancak kalan 9’unda başarısız olundu; bu da DDR5 için ek desen araştırması gerektiğini gösteriyor
AMD Zen’de de görülen Rowhammer bit flip’leri
- ZenHammer, TRR azaltımı uygulanan DDR4 aygıtlarında AMD Zen 2 ve Zen 3 sistemlerinde Rowhammer bit flip’leri oluşturuyor
- Böylece AMD sistemlerinin de Intel sistemleri gibi Rowhammer zafiyetine sahip olabileceği doğrulandı
- AMD’nin x86 masaüstü CPU pazar payının yaklaşık %36 olduğu düşünüldüğünde, saldırı yüzeyi küçümsenecek kadar küçük değil
- DRAM aygıtları dağıtıldıktan sonra kolayca düzeltilemediğinden, önceki araştırmalar da Rowhammer saldırılarının birçok ortamda pratik olabildiğini göstermişti
AMD DRAM adres fonksiyonlarının tersine mühendisliği ve hammering optimizasyonu
- AMD sistemlerine uyacak şekilde DRAMA tekniği uygulanarak gizli DRAM adres fonksiyonları tersine mühendislikten geçirildi
- Daha kararlı sonuçlar elde etmek için zamanlama rutini değiştirildi
- Sistem adresi yeniden eşlemesi nedeniyle, DRAM adres fonksiyonlarını geri çıkarmadan önce fiziksel adres ofseti uygulanması gerekti ve bu sayede adres fonksiyonları tamamen geri kazanıldı
- Ancak yalnızca geri kazanılan adres fonksiyonlarını kullanmak bit flip sayısını sınırlı tuttu
- Zen 2’de 10 aygıtın yalnızca 5’inde bit flip doğrulandı
- Zen 3’te 10 aygıtın 0’ında bit flip doğrulandı
Refresh senkronizasyonu ve komut dizileri
- Önceki çalışmalar SMASH ve Blacksmith gibi, refresh senkronizasyonu bit flip oluşturma açısından önemli bir unsur oldu
- AMD’de, tekrar etmeyen satırları hedef alarak ardışık zamanlama ölçümleri yapmak, hassas ve güvenilir refresh senkronizasyonu için etkiliydi
- AMD Zen+/3 sistemlerinde uniform olmayan Rowhammer desenlerinin etkinleştirme oranı Intel Coffee Lake’e göre belirgin biçimde daha düşüktü
- En iyi hammering komut dizisi, normal yükleme
MOVveCLFLUSHOPTkullanarak aggressor’u önbellekten temizleyen ve aggressor erişiminden hemen sonra flush yapan “scatter” tarzıydı - Zen 2’den farklı olarak Zen 3’te flush sonrasında açık bir fence gerekli değildi
- Fence türü ve fence zamanlama politikası da sonuçları etkiledi; araştırma ekibi aygıt başına 6 saat test edilmek üzere 6 desen tanıma ve önbellek kaçınma politikası önerdi
- Zen 2’de çoğu aygıtta
SP_noneen iyi sonuç verdi - Zen 3’te çoğu durumda
SP_pairdaha uygundu
- Zen 2’de çoğu aygıtta
DDR4 değerlendirme sonuçları ve istismar edilebilirlik
- Değerlendirme, Samsung, Micron ve SK Hynix dahil 10 DDR4 DRAM aygıtı üzerinde yapıldı
- ZenHammer fuzzer’ı, her fence türü
mfence,sfenceve her fence zamanlama politikası kombinasyonu için 3 saat çalıştırıldı - Her çalıştırmadan sonra, bulunan tüm desenlerle 4MiB aralıkta minisweep yapılarak en iyi desen belirlendi ve en iyi politikanın en iyi deseni 256MB’lık bitişik bellek bölgesinde sweep edildi
- Sonuçta 10 DDR4 DRAM aygıtının Zen 2’de 7’sinde, Zen 3’te 6’sında bit flip oluştu
- Bit flip’lerin istismar edilebilirliği, önceki çalışmadaki üç saldırıyla değerlendirildi
- page table entry içindeki page frame number’ı hedef alarak saldırganın kontrol ettiği bir page table sayfasına pivot etme saldırısı
- SSH ana makine kimlik doğrulamasında kullanılan ilgili özel anahtarın kurtarılabilmesini sağlayan RSA-2048 açık anahtar saldırısı
- root yetkisi elde etmeyi mümkün kılan
sudoers.sokütüphanesinin parola doğrulama mantığını hedef alan saldırı
- Mevcut saldırılar sırasıyla 7/6/4 aygıtta kurulabildi ve istismar edilebilir bit flip bulma ortalama süresi 164/267/209 saniyeydi
DDR5 değerlendirmesi, açık kod ve duyuru takvimi
- AMD Zen 4 üzerinde DDR5 DRAM fonksiyonları da tersine mühendislikten geçirildi ve 10 DDR5 aygıtı değerlendirildi
- ZenHammer, 10 DDR5 aygıtından 1’inde yaklaşık 42.000 bit flip oluşturdu
- Bu, genel ticari sistemlerde DDR5 bit flip’lerinin kamuya açık olarak raporlandığı ilk örnek
- Kalan 9 DDR5 aygıtında bit flip oluşmadığı için, DDR5 aygıtlarında daha etkili desenler bulmaya yönelik ek araştırma gerekiyor
- Tüm ayrıntılar, Ağustos 2024’te USENIX Security 2024 kapsamında sunulacak makalede yer alıyor
- ZenHammer fuzzer kodu GitHub üzerinden sunuluyor ve AMD Zen 2/3/4 CPU’larda DRAM aygıtlarının bit flip üretip üretmediğini değerlendirmek için kullanılabiliyor
- Rowhammer’ın sektör genelinde bilinen bir sorun olduğu ve bu nedenle olağan bir açıklama prosedürünün gerekli olmadığı değerlendirilse de, AMD 26 Şubat 2024’te bilgilendirildi ve AMD’nin talebi üzerine 25 Mart 2024’e kadar kamuya açıklanmadı
- Bu sayfa yanlışlıkla 21 Mart 2024’te kısa süreliğine çevrimiçi yayımlandı
SSS’deki pratik sınırlamalar
- AMD sistemlerinin daha önce daha az ele alınmasının nedeni, ilk Rowhammer araştırmalarında Intel sistemlerinde bit flip sayısının çok daha fazla olması, sonraki çalışmaların da ağırlıklı olarak Intel’e odaklanması ve Intel CPU mikro mimarisi hakkında AMD’ye kıyasla daha fazla bilginin bulunmasıydı
- 10 DDR4 aygıtının Zen 2’de 3’ünde, Zen 3’te 4’ünde bit flip oluşmadı; ancak Intel Coffee Lake’te de bu aygıtlarda bit flip sayısı düşük olduğundan, fuzzer daha fazla ayarlanırsa bit flip’lerin ortaya çıkabileceği düşünülüyor
- Değerlendirilen aygıt sayısının 10’la sınırlı kalmasının nedeni, laboratuvardaki AMD Zen 2/3 ekipmanlarının sınırlı olması ve bazı deneylerin uzun sürmesiydi; rastgele alt kümede üç DRAM tedarikçisinin aygıtları da yer aldı
- JEDEC’in sorunu hâlâ çözememiş olmasıyla ilgili olarak, Rowhammer’ı çözmenin zor ama imkânsız olmadığı; önceki ProTRR ve REGA çalışmalarında bunun gösterildiği belirtiliyor
- DDR3 üzerine önceki araştırma, ECC’nin Rowhammer’ı engelleyemediğini göstermişti; mevcut DDR4 aygıtlarında bit flip sayısı daha fazla olduğundan ECC’nin tam koruma değil, yalnızca istismarı daha zor hâle getiren bir önlem olduğu değerlendiriliyor
- Refresh oranını iki katına çıkarma yaklaşımı ise performans yükü ve artan güç tüketimi getiriyor; ayrıca Mutlu et al. ve Frigo et al. gibi önceki çalışmalar bunun tam koruma sağlamayan zayıf bir çözüm olduğunu gösteriyor
1 yorum
Hacker News yorumları
Orijinal Rowhammer exploit'inin ortak yazarlarındanım. ECC, bu sorunu genel olarak bir güvenlik meselesinden bir güvenilirlik meselesine dönüştürmekte hâlâ çok etkili
Kişisel bir sunucu sahibiyseniz, sunucuda ECC varsa ve düzeltilemeyen ECC hatası nedeniyle makinenin durmasını fark edebileceğinizi varsayıyorsanız, güvenlik etkisi büyük değildir
Ancak çok kiracılı bir host üzerinde VM sağlayan bir bulut işletmecisiyseniz tehdit modeli değişebilir
Her iki durumda da ECC'siz makinelerden kaçınmak gerekir. TRR, Rowhammer yeni duyulduğunda bile zaten başarısız bir savunmaydı; DRAM üretim ekonomisi değişmediği sürece DRAM bit flip'leri ortadan kalkmayacak
Ryzen'in desteklediği tek şey unbuffered ECC; bu da aynı kapasitedeki ECC olmayan bellekten daha yavaş ya da daha pahalı, ya da ikisi birden
En yeni Threadripper serisi Registered ECC destekliyor, ancak benim gibi ev kullanıcısı için maliyet, thread sayısı ve PCIe lane'leri açısından fazla kaçıyor
Güvenlik riski çok büyük ve her şey fazlasıyla entegre; bu değişimi ertelemek zor. Sırf oyun için bilgisayar kullanan oyuncular bile önemli bilgileri o makinede tutacaktır; bugüne kadar bu değişikliğin yapılmamış olmasını anlamıyorum
Gerçekten bağışık olanın yalnızca SRAM olup olmadığını da merak ediyorum
Yalnızca Pro ve Threadripper garanti ediliyor; bazı masaüstü Ryzen'lerde ise yalnızca bazı anakartlarda mümkün
Rowhammer'ın tetiklediği bit flip'lerinin güvenli biçimde önüne geçmek için patrol read engine DRAM'i ne kadar agresif taramalı?
Geleneksel 64+8'den daha büyük ECC word'leri ve çok bitli hata düzeltme varsa, örüntü zafiyeti bulunan DRAM'lerle bile daha güvenilir sistemler oluşturulabilecek kadar tablo değişir mi?
“ECC Rowhammer'ı engelleyemez” tarzı ifadeler çok yanıltıcı. Alıntılanan makale de “ECC algılama doğru kullanıldığında bile toplam bit flip'lerinin %0,65 ila %7,42'si sessiz bozulmaya yol açar… AMD-1 yapılandırmasında düzeltilemeyen hata sistemi çökertir” diyor
Bir saldırganın istismar edilebilir tek bir bit flip elde etmesi için makineyi onlarca kez durdurması gerekir. Onlarca makine durması fark edilmeden kalabilecek bir şey değildir
JEDEC'in Rowhammer'a yanıtının berbat olduğuna dikkat çekmek iyi, ama kısa vadeli çözüm olarak ECC küçümsenmemeli
Zen2 TR platformu; o ifadeyi görünce bir an yüreğim ağzıma geldi. Epey yanıltıcı bir ifade
Sıradan biri için Rowhammer, Spectre, Meltdown gibi donanım güvenliği sorunlarının gerçek bir risk olup olmadığını merak ediyorum
Spectre ve Meltdown'ın VM escape gibi saldırılarda sorun olduğunu anlamıştım; bu AWS mühendisinin dert etmesi gereken bir şey gibi görünüyordu, bireysel kullanıcı için değil
Sonra da modern toplumla bağınız kopmuş olacağı için ormandaki kulübeye gidip kendi kendinize yeterek yaşarsınız
Şahsen NoScript'i seviyorum. Chrome'da ne seçmek gerekir pek bilmiyorum
Onun dışında… internette rastgele programları sık sık çalıştırmıyorsunuzdur, değil mi?
Bu tür hatalarda henüz yüzeyi kazımış durumdayız. Modern donanım o kadar karmaşık ki hepsini bulabileceğimize inanmak zor
Bu yüzden herkes etkilenebilir
DDR bit flip saldırılarını çok belli belirsiz anlıyordum; orijinal Hammertime makalesine bakınca aslında okuması kolaymış.
Henüz tamamını okumadım ama anlaşılır biçimde iyi açıklıyor. “Bit flip” sözünü sayısız kez duymuştum ama doğru düzgün hiç anlamamıştım; bunu görünce kafamda oturdu.
https://comsec.ethz.ch/wp-content/files/hammertime_raid18.pd...
Elektrik-elektronik giriş dersi almış gibi oldum. Bunun gerçek donanım üretim kusurlarıyla ilgili olduğunu hiç bilmiyordum.
Rowhammer adı da ancak o zaman anlam kazandı. Ben çok geride kalmış olabilirim ve bunlar herkesin bildiği şeyler olabilir.
“Modern DRAM dizilerinin aşırı yoğunluğu nedeniyle küçük üretim kusurları, bitişik hücreler arasında zayıf elektriksel kuplaj oluşturabilir. Bu hücrelerin son derece küçük kapasitansıyla birleştiğinde, bir DRAM satırı bankadan her okunduğunda bitişik satırdaki bellek hücreleri az miktarda yük kaybeder. İki yenileme döngüsü arasında bu yeterince sık gerçekleşirse, etkilenen hücre depolanan bit değerinin tersine döneceği kadar yük kaybedebilir; buna ‘disturbance error’ ya da daha yakın dönemde Rowhammer denir.”
Bunun nedeni DRAM üreticilerinin sınırları aşırı zorlaması. Kâr arayışı yani.
Yaralanma ve ölümle ilgili Pinto dava uzlaşma maliyetinin, araç tasarımını düzeltme maliyetinden düşük olduğuna karar veren Ford’dan farklı değil.
Secure Memory Encryption bunun için işe yarar mı merak ediyorum.
https://www.amd.com/en/developer/sev.html
Tek bir bit flip bile ölümcül bir hata olabilir.
Donanım güvenliğini pek bilmiyorum; bunun CPU optimizasyonlarından doğan çok sayıdaki kaçınılmaz açıktan biri olup olmadığını ve pratikte uygulanabilirliği düşük bir sınıfa mı girdiğini merak ediyorum.
Bir yan kanaldan bilgi sızdıran işlevlerin sınır vakalarından çok daha düşük bir seviyede gerçekleşiyor.
Veri, ızgara içindeki küçük yükler olarak saklanıyor; yakındaki ızgara noktalarını çokça tersine çevirirseniz, hedef yük tarafına bir miktar yük sızdırabilirsiniz.
Yük ne kadar küçük ve birbirine ne kadar yakınsa Rowhammer saldırısı o kadar kolaylaşır. Aynı zamanda yük ne kadar küçük ve yakınsa RAM o kadar hızlı, ucuz, yoğun ve verimli olur.
Hafifletmeler var ama zaten sınırlar sonuna kadar zorlanmış durumda.
Tam bellek şifreleme, poisoning ve adres XOR açıkken bunun hâlâ çalışıp çalışmadığını merak ediyorum.
Bu yüzden bellek şifreleme kullanmak daha güvenli.
“ZenHammer 10 cihazın 9’unda flip oluşturamadı… DDR5 cihazlarda daha etkili desenler bulmak için ek araştırma gerekiyor” deniyorsa, DDR5 için hâlâ biraz zaman var gibi görünüyor.
Bunun LPDDR5x’i de etkileyip etkilemediğini bilen var mı merak ediyorum.
Bu yüzden DDR5, LPDDR5(x), GDDR6(x), HBM3(e) hangisi olduğu asıl soru değil.
Önemli olan, on-die ECC gibi üreticinin takdirine kalan uygulama ayrıntıları.
Zen 2 ve 3’ten bahsediliyor; Zen 1 hakkında bilgi var mı merak ediyorum.
Yoksa aynı şekilde mi geçerli?