Yüksek performanslı ekran kartları, genellikle binlerce dolar değerinde oldukları için bulut ortamlarında onlarca kullanıcı tarafından paylaşılıyor. Ancak iki yeni saldırı, kötü niyetli bir kullanıcının Nvidia'nın ürettiği bu güçlü ekran kartlarına yönelik yenilikçi Rowhammer saldırılarıyla ana makinenin tam kök kontrolünü ele geçirebileceğini ortaya koyuyor.
Bu saldırılar, bellek donanımının bit hatalarına (0'ların 1'lere veya tam tersi şekilde değişmesi) karşı artan hassasiyetinden faydalanıyor. Bellek donanımına yapılan tekrarlı ve hızlı erişimin, yani "vurma"nın, bit hatalarına neden olan elektriksel bozulmalara yol açtığı ilk olarak 2014'te gösterilmişti. Bir yıl sonra, farklı bir araştırma ekibi, hassas verileri depolayan belirli DRAM satırlarını hedef alarak, ayrıcalıksız bir kullanıcının sisteme kök erişimi elde etmesini veya güvenlik önlemlerini atlatmasını sağlayabileceğini ortaya koymuştu. Bu ilk saldırılar DDR3 bellek nesillerini hedefliyordu.
CPU'dan GPU'ya: Rowhammer'ın On Yıllık Yolculuğu
Son on yılda, onlarca yeni Rowhammer saldırısı gelişerek şunları başardı:
- Hata düzeltme koduna sahip DDR3 ve hatta ECC korumalı DDR4 nesilleri gibi daha geniş bir DRAM türünü hedeflemek.
- Hafızanın son derece küçük bölgelerini hedefleyen yeni vurma teknikleri kullanmak.
- Bu tekniklerle saldırıları yerel ağlar üzerinden çalışır hale getirmek, Android cihazları köklemek ve şifreleme anahtarlarını çalmak.
- Geçtiğimiz yıl, yüksek performanslı Nvidia GPU'larla kullanılan GDDR DRAM'lere karşı da saldırıların başarılı olabileceği ilk kez kanıtlandı.
Bu son gelişme, GDDR belleklerin Rowhammer saldırılarına yatkın olduğunu gösterse de, elde edilen sonuçlar mütevazıydı. Araştırmacılar yalnızca az sayıda bit hatası elde edebilmiş ve hasar, hedef alınan GPU'da çalışan bir yapay zeka ağının çıktısını bozmakla sınırlı kalmıştı.
Ancak şimdi, iki bağımsız araştırma ekibi, Nvidia'nın Ampere nesli ekran kartlarına yönelik saldırılarla GPU Rowhammer saldırılarını yepyeni ve potansiyel olarak çok daha önemli bir alana taşıdı: GPU bit hataları sayesinde saldırganlara CPU belleği üzerinde tam kontrol sağlayan ve bu da ana makinenin tamamen ele geçirilmesine yol açan GDDR bit hataları. Saldırının çalışabilmesi için IOMMU bellek yönetimi özelliğinin devre dışı bırakılması gerekiyor; bu da BIOS ayarlarında varsayılan olarak böyledir.
Araştırmacılardan biri, "Çalışmamız, CPU'larda iyi bilinen Rowhammer'ın GPU'larda da ciddi bir tehdit olduğunu gösteriyor" dedi. "Çalışmamızla, saldırganın GPU'daki bit hatalarını nasıl tetikleyerek tüm CPU belleğine rastgele okuma/yazma erişimi elde edebileceğini ve bunun da makinenin tamamen ele geçirilmesine yol açabileceğini gösteriyoruz."
Sahneye Çıkanlar: GDDRHammer ve GeForge
Bir makalede gösterilen saldırının adı GDDRHammer. Bu saldırı, Nvidia'nın Ampere mimarisine sahip RTX 6000 modeliyle çalışıyor. Saldırı, daha yeni bir GDDR türü kullanan daha güncel Ada nesli RTX 6000 modellerinde işe yaramıyor çünkü araştırmacılar bu yeni teknolojiyi tersine mühendislikle çözememişler.
GDDRHammer, yeni vurma desenleri ve "bellek masajı" adı verilen bir teknik kullanarak, önceki GPUHammer saldırısına göre 64 kat daha fazla bit hatası tetiklemeyi başardı. Daha da önemlisi, GDDRHammer, GPU sayfa tablolarının izolasyonunu bozmak için bellek ayırıcısını manipüle edebiliyor. Bu da saldırganın hem GPU belleğini okuma hem de yazma yeteneğini kazanmasını sağlıyor.
İkinci makale olan "GeForge: Hammering GDDR Memory to Forge GPU Page Tables for Fun and Profit", GDDRHammer'ın yaptıklarına benzer şekilde, ancak son seviye sayfa tablosunu istismar etmek yerine son seviye sayfa dizinini manipüle ederek çalışıyor. Bu saldırı, RTX 3060 üzerinde 1.171, RTX 6000 üzerinde ise 202 bit hatası tetikleyebilmiş.
GeForge da yeni vurma desenleri ve bellek masajı tekniklerini kullanarak GDDR6 bellekteki GPU sayfa tablosu eşlemelerini bozuyor ve böylece GPU bellek alanına okuma ve yazma erişimi sağlıyor. Buradan sonra, ana CPU belleği üzerinde de aynı ayrıcalıkları elde ediyor. RTX 3060 üzerindeki GeForge saldırısı, ana makinede sınırsız ayrıcalıklarla komut çalıştırılmasına izin veren bir kök kabuk penceresi açarak sona eriyor. Araştırmacılar, hem GDDRHammer hem de GeForge'un RTX 6000 üzerinde de aynı şeyi yapabileceğini belirtiyor.
GeForge makalesinin yazarları, "GPU adres çevirisini manipüle ederek, GPU bağlamları arasında gizlilik ve bütünlüğü ihlal eden saldırılar başlattık. Daha da önemlisi, bozuk GPU sayfa tablolarında sistem penceresi eşlemeleri oluşturarak ana fiziksel belleğe erişim sağlıyoruz ve bu da Linux'ta kullanıcıdan köke yetki yükseltilmesine olanak tanıyor. Bildiğimiz kadarıyla bu, ana makine yetki yükseltilmesini başaran ilk GPU tabanlı Rowhammer açığıdır." ifadelerini kullanıyor.
Bellek Masajı: GPU Saldırganlığı İçin Bir Terapi
Nvidia'nın GPU sürücüsü, sayfa tablolarını Rowhammer saldırılarına karşı korunmuş düşük seviyeli bir bellek bölgesinde saklar. Bu tasarıma bir çözüm olarak, hem GDDRHammer hem de GeForge, bu tabloları korunmayan bölgelere yönlendiriyor. GDDRHammer için bellek masajı, korunmuş bölgeye erişim sağlayan bitleri değiştirmek için Rowhammer kullanılarak gerçekleştiriliyor.
Araştırmacılardan biri, "Bu sayfa tabloları hangi belleğin erişilebilir olduğunu belirlediği için, saldırgan sayfa tablosu girişini değiştirerek kendine GPU belleğinin tamamına rastgele erişim hakkı verebilir" diye açıklıyor. "Dahası, bir saldırganın GPU'daki sayfa tablosunu CPU'daki belleğe işaret edecek şekilde değiştirebileceğini ve böylece saldırganın CPU belleğinin tamamına okuma/yazma erişimi elde etmesini sağlayabileceğini bulduk. Bu da elbette makineyi tamamen ele geçiriyor."
Peki Şimdi Nereye Gidiyoruz?
Araştırmacılar, hem RTX 3060 hem de RTX 6000 kartlarının savunmasız olduğunu belirtiyor. BIOS varsayılanlarını değiştirerek IOMMU özelliğini etkinleştirmenin bu açığı kapatabileceği söyleniyor. IOMMU, cihaz tarafından görülebilen sanal adresleri ana makine belleğindeki fiziksel adreslere eşler ve belleğin belirli bölümlerini erişilemez kılmak için kullanılabilir.
Araştırmacılar, "Saldırımız bağlamında, bir IOMMU, GPU'nun ana makinedeki hassas bellek konumlarına erişmesini engelleyebilir" diye açıklıyor. "Ancak IOMMU, uyumluluğu en üst düzeye çıkarmak ve adres çevirisinin getirdiği performans maliyeti nedeniyle BIOS'ta varsayılan olarak devre dışıdır."
Ayrı bir azaltma yöntemi olarak, GPU'da Hata Düzeltme Kodları (ECC) özelliğini etkinleştirmek de mümkün. Nvidia, bunu bir komut satırı aracılığıyla yapmaya izin veriyor. IOMMU gibi, ECC'yi etkinleştirmek de performans düşüşüne yol açıyor. Ayrıca, bazı Rowhammer saldırılarının ECC önlemlerini aşabildiği de biliniyor.
GPU kullanıcıları, Rowhammer saldırılarına karşı bilinen tek savunmasız kartların, 2020'de piyasaya sürülen Ampere nesli RTX 3060 ve RTX 6000 olduğunu anlamalıdır. Nvidia ve diğer üreticilerin daha yeni nesil ekran kartlarının de aynı tür saldırılara yatkın olması şaşırtıcı olmaz, ancak akademik araştırmaların ürün lansman hızının gerisinde kalması nedeniyle şu anda bunu bilmenin bir yolu yok.
Üst düzey bulut platformları genellikle ev kullanıcı makinelerine göre çok daha yüksek güvenlik seviyeleri sunar. Ayrıca unutulmamalıdır ki, Rowhammer saldırılarının gerçek dünyada aktif olarak kullanıldığı bilinen herhangi bir örnek bulunmuyor.
Bu araştırmanın gerçek değeri, hem GPU üreticilerini hem de kullanıcıları, bu platformlarda Rowhammer saldırılarının güvenliği ciddi şekilde sarsma potansiyeli olduğu konusunda uyarmasıdır.