Siber Uzay'ın Haber Platformu

H4cktimes Youtube Kanalı

Intel ZombieLoad ve MDS Side-Channel Saldırıları

0
Intel ZombieLoad ve MDS Side-Channel Saldırıları

İlk kez Ocak 2018‘de tanıştığımız Meltdown, Spectre ve Foreshadow gibi işlemci bazlı zafiyetlere bir yenisi daha eklendi. Graz Teknoloji Üniversitesi’nden bir grup araştırmacı, Intel işlemcilerde saldırganların CPU bellek alanlarında işlenen verileri almasına izin verebilecek yeni bir güvenlik açığı sınıfı keşfetti. CPU bazlı saldırıların artmasıyla beraber artık bu tip saldırılarda karakterlerine göre sınıflandırılmaya başlandı. Yeni işlemci zafiyetine ise Zombieload, RIDL, Fallout saldırıları adı verildi.

Tıpkı ilk üç zafiyette olduğu gibi, Zombieload, RIDL ve Fallout da Intel’in veri işleme hızlarını ve performansını iyileştirmek için CPU’larına eklediği bir optimizasyon tekniği olan spekülatif yürütme işleminden (speculative execution process) yararlanarak faydalanıyor.

Modern bilgisayar mimari organizasyonunda işlemciden depolama alanlarına gidildikçe kapasite artar ve maliyet düşer. Bununla paralel olarak ise daha yavaş bir çalışma performansı ortaya çıkar.

Bu piramide göre işlemci hafıza alanları, en hızlı hafıza birimi olmaktadır.

3.0 GHz bir işlemci ortalama saniyede 3 milyar kez hafıza alanlarına erişebilir.

Piramitte aşağıya doğru gidildikçe daha az pahalı olan L1, L2, L3… türü ön belleklerde işlenecek veriler tutulur. İşlemci tarafından işlenecek komut setleri hiyerarşiye göre hafıza alanlarına erişilerek işlemciye getirilir ve işlenilir.

Buradaki önemli olan ve işlemciler için yazılımsal olarak hız optimizasyonlarının yapılması ihtiyacı doğuran kısım, işlemcilerin nano saniyeler bazında işlem yapması. İnsanoğlunun algılarına 1 s gelebilen bir işlemci işlem zamanı bilgisayar nezdinde 0.3 ns gibi kısa bir sürede yapılmaktadır. İnsan için 1 s de gerçekleşen bu işlem, zaman olarak insanlar için çok küçük görülse de bilgisayarlar için büyük bir kayıp olarak atfedilebilir. Buna bağlı olarak günümüz modern işlemcilerinde veriler nano saniye boyutlarında işlendiği için maliyet kaybı yaşanmaması amacıyla pipelining (borulama – üst üste bindirme) vb. işlemci veri işleme optimizasyonları yapılmaktadır. Pipelining işlem biter bitmez ardışık başka bir işlemin belli parçasının zaman kayıpsız alıp işlenmesine dayanan bir optimizasyon tekniğidir.

Spekülatif yürütme işlemi ise işlemcinin ihtiyaç duyulmayacak bazı görevleri yerine getirdiği bir optimizasyon tekniğidir. İşin gerçekte gerekli olup olmadığı bilinmeden önce, gerekli olduğu bilindikten sonra işi yaparak gerçekleşmesi gereken bir gecikmeyi önlemek için yapılır. Sonuç olarak iş gerekli olmadıysa, işin yaptığı değişikliklerin çoğu geri döndürülür ve sonuçlar göz ardı edilir. Burada hedeflenen amaç işlem için ilave kaynaklara daha fazla eş zamanlılık sağlamaktır. Bu spekülatif yaklaşım pipeliningdeki değer tahminleri, bellek ve dosyaları önceden ayarlayıp tahsis etme, veri tabanı sistemlerinde eş zamanlılık kontrolü gibi alanlarda kullanılır.

Spekülatif yürütmeyi gerçek hayatla örtüştürecek olursak, X kentine 1 günlük iş için gittiğimizi düşünelim. X kentinde bahar olduğunu ve hava geçişlerinin sık olduğunu düşünelim. Anlık değişimlerle yağmurlu ya da güneşli olma durumları mümkün. Güneşli ve yağmurlu hava için birer kombini valizde götürmek, her hava değişiminde evimizi X kentine götürmekten daha hızlı ve pratik bir yol. Bilgisayar açısından bakacak olursak işlemci X kentindeki anlık hava değişimini beklemeden zamandan tasarruf etmek için giydirme işlemini nano saniyeler mertebesinde gerçekleştirecektir. Çünkü zaman kaybı işlemci açısından maliyet demektir. Zafiyetin ortaya çıkış noktası da tam olarak bu durumdan kaynaklanmaktadır. İşlemcinin spekülatif tahminleri ve tercihleri manipüle edilmektedir.

Spekülatif yürütmenin istekli (eager), predictive (öngörü) ve tembel (lazy) işletme olmak üzere 3 çeşit varyantı bulunmaktadır.

Akademisyenler Meltdown zafiyetinin keşfinden sonraki zaman süreci içerisinde spekülatif yürütme sürecinin bileşenlerine odaklanmış durumdaydılar. İşlemci tampon bellek bölgeleri ve veri işleme adımlarından nasıl veri sızdırabilecekleri üzerine yoğunlaşmış, Spectre ve Foreshadow gibi yeni zafiyetler keşfetmişlerdi.

Spekülatif yürütme işlemi üzerinden keşfedilen yeni zafiyetler ise Microarchitectural Data Sampling (MDS) ve Zombieload saldırıları olarak adlandırıldı. Depolama tampon bellek alanlarını hedef alan (CVE-2018-12126 aka Fallout), yükleme tamponlarını hedef alan (CVE-2018-12127), satır dolgu tamponlarını hedef alan (CVE-2018-12130, aka RIDL) ve önbelleğe alınamayan bellek alanlarının istismarı (CVE-2019-11091 aka Zombieload) olmak üzere 4 farklı MDS saldırı tipi keşfettiler. Zombieload diğerlerinden daha fazla hassas ve kritik veriye erişebileceği için diğer MDS saldırılarına göre en tehlikeli durumda.

Programlar normalde yalnızca kendi verilerini işlerken, spekülatif yürütmeyi istismar eden saldırganlar başka işlemlere ait tarayıcı geçmişi, web sitesi içeriği, kullanıcı anahtarları ve şifreler/parolalar gibi kullanıcı düzeyinde bilgiler veya disk şifreleme anahtarları gibi sistem düzeyindeki bilgilere erişebiliyor. Zombieload saldırısını gerçekleştirecek saldırgan uygulamalar arasında var olan etkin gizlilik korumalarını atlatabileceği (bypass) edebileceği anlamına gelmektedir.

  • RIDL leaking root password hash
    https://www.youtube.com/watch?v=JXPebaGY8RA
  • RIDL leaking Linux kernel data
    https://www.youtube.com/watch?v=UV9GDcOWeeI
  • RIDL from JavaScript
    https://www.youtube.com/watch?v=KAgoDQmod1Y
  • Zombieload Attack
    https://zombieloadattack.com/public/videos/demo_720.mp4

Araştırmacılar bu zafiyetlerden 2011’den beri piyasaya sürülen tüm Intel işlemcilerin etkilendiğini belirttiler. Ayrıca masaüstü bilgisayar, mobil işlemciler (laptop işlemcisi) ve sunucu işlemcilerinin etkilendiği iletildi.

Öte yandan iyi haber olarak Meltdown ve Spectre zafiyetlerinden sonra üretilen Intel işlemcilerde (8. & 9. Nesil Core işlemciler ve 2. nesil Xeon işlemciler) spekülatif yürütme saldırılarına karşı koruma mekanizmaları geliştirildi ve optimizasyonlar yapıldı. Ancak Intel bu işlemciler içinde saldırı etkilerini azaltmak için bir öneri yazısı paylaştı. https://www.intel.com/content/www/us/en/architecture-and-technology/mds.html

Intel ise etkilenen işlemci versiyonları için yeni bir mikro servis kod güncellemesi yayınlaması bekleniyor. Ancak bu mikro kod güncellemelerinin optimizasyonlar üzerinde ciddi değişiklikler yaptığı için işlemcilerde performans kayıplarına sebep olacağı aşikâr. 8 ve 9 nesil işlemciler için yayınlanan etki azaltma öneri yazısında, BIOS’tan devre dışı bırakılması önerilen özelliklerin performansa etkileri olduğu gözüküyor.

Yakın gelecekte de işlemci türü zafiyetlerle fazlaca karşılaşacağız gibi gözüküyor. Araştırmayla ilgili yayınlanan makalelere ve Intel’in yayınladığı mikro kod güncelleme listelerine linklerden erişebilirsiniz.

  • https://cpu.fail/
  • https://zombieloadattack.com/
  • https://labs.bitdefender.com/2019/05/yet-another-meltdown-a-microarchitectural-fill-buffer-data-sampling-vulnerability/
  • https://mdsattacks.com/
  • https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00233.html
  • https://www.intel.com/content/dam/www/public/us/en/documents/corporate-information/SA00233-microcode-update-guidance_05132019.pdf
  • https://www.intel.com/content/www/us/en/architecture-and-technology/engineering-new-protections-into-hardware.html
  • https://access.redhat.com/security/vulnerabilities/mds
  • https://support.google.com/faqs/answer/9330250
  • https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/adv190013
  • https://support.apple.com/en-us/HT210107

Gönderen: Oğuzhan Akkaya

Yorum Bırak

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.