Akademik araştırmacılar tarafından keşfedilen yeni güvenlik açığı GoFetch, saldırganların kriptografik işlemler sırasında Mac‘lerden gizli anahtarları çalmasına olanak tanıyor. Tipik yazılım açıklarının aksine, bu açık çiplerin mikro mimari tasarımının bir parçası ve doğrudan yamanması mümkün değil. Bunun yerine, üçüncü taraf kriptografik yazılımlar aracılığıyla hafifletilmesi gerekiyor ve bu da özellikle önceki M1 ve M2 nesillerinde performansı önemli ölçüde etkileyebilir.
Güvenlik açığı, çiplerin veri belleğine bağlı ön yükleyicisinden (DMP) kaynaklanıyor. Bu, yakında erişilmesi muhtemel verilerin bellek adreslerini tahmin eden ve ana bellek ile işlemci arasındaki gecikmeyi azaltan bir donanım optimizasyonu. Ön yükleyicilerin saldırılara karşı yan kanallar oluşturduğu bilinmekle birlikte, Apple’ın DMP’sinin bellek içeriğini işaretçi değerleriyle karıştırması sorunu daha da kötüleştiriyor. Bu da bir yan kanal aracılığıyla veri sızıntısına yol açarak kriptografik işlemlerin güvenliğini sağlamak için kullanılan sabit zamanlı programlama yaklaşımını zayıflatıyor.
Bu keşif, donanım düzeyindeki güvenlik açıklarının ele alınmasının önemini vurguluyor ve bu tür riskleri etkili bir şekilde azaltmak için kriptografik uygulamalarda sürekli tetikte olma ihtiyacının altını çiziyor.
Açığa GoFetch (Git Getir) Adı Verildi
Araştırmacıların GoFetch adını verdikleri saldırı, önceki saldırıların aksine, üçüncü taraf uygulamalara özgü kullanıcı ayrıcalıkları dahilinde çalışarak kök erişimi gerektirmiyor. GoFetch, hedeflenen kriptografi uygulamasıyla aynı performans kümesinde, hatta bu küme içindeki farklı çekirdeklerde çalışarak, RSA ve Diffie-Hellman anahtarları gibi hassas bilgileri nispeten kısa zaman dilimleri içinde çıkarabiliyor.
Bu saldırı hem klasik şifreleme algoritmalarına hem de daha yeni, kuantuma dayanıklı şifrelemelere karşı etkili. Örneğin, 2048-bit RSA anahtarını çıkarmak bir saatten az, 2048-bit Diffie-Hellman anahtarını çıkarmak ise iki saatten biraz fazla sürüyor. Go, OpenSSL, CRYSTALS-Kyber ve CRYSTALS-Dilithium gibi sabit zamanlı programlama kullanan uygulamalara rağmen, Apple silikonundaki DMP olarak bilinen savunma mekanizmaları GoFetch tarafından alt ediliyor.
Bu güvenlik açığı Apple DMP’lerde türünün ilk örneği değil, önceki araştırmalar hem M1 hem de A14 Bionic yongalarında benzer tehditler tespit etmişti. Ancak GoFetch, önceki sınırlamaları aşan ve daha büyük bir güvenlik riski oluşturan daha agresif bir istismar potansiyeli sergiliyor. Araştırmacılar bu bulgunun önemini vurgularken, bellekten yüklenen herhangi bir değerin istismar için potansiyel bir hedef haline geldiğini ve gelişmiş güvenlik önlemlerine duyulan ihtiyacın altını çiziyor.
Çözüm Performans Kaybına Sebep Olacak
GoFetch tarafından istismar edilen güvenlik açığı, silikonun kendisinde olduğu için yamalanamıyor. Apple donanımı için kriptografik yazılım geliştirenler bunun yerine hafifletici önlemler uygulamak durumunda. Etkili bir hafifletme, saldırganları engellemek için hassas değerleri rastgele hale getiren şifreli metin körlemesidir, ancak genellikle önemli performans kayıplarıyla birlikte gelir. Diğer bir yaklaşım ise kriptografik süreçleri DMP’den yoksun olan verimlilik çekirdekleri üzerinde çalıştırmaktır, ancak bu da işlem sürelerini artırabilir.
Apple’ın en yeni çipi M3, DMP’yi devre dışı bırakmak için bir yol sunuyor, ancak bunun performans üzerindeki etkileri henüz net değil. Araştırmacılar, uzun vadede DMP’yi daha etkin bir şekilde yönetmek için Intel’in DOIT uzantılarında görülen emsallerle daha geniş bir donanım-yazılım anlaşması öneriyor.
Apple araştırma hakkında yorum yapmayı reddetti. GoFetch konusunda endişe duyan son kullanıcılar, güvenlik açığı bulunan şifreleme protokollerini kullanan macOS yazılımları için hafifletme güncellemeleri beklesi gerekiyor.
Daha fazla ayrıntıya GoFetch.fail sitesinden ulaşabilirsiniz.