Önbellek (Cache) İhtiyacının Doğuşu
- Eski Mimari: 1965'teki IBM 1130 veya 1981'deki ilk IBM PC'lerde önbellek yoktu; çünkü o dönemde işlemciler ana hafızadan (RAM) daha yavaştı veya benzer hızdaydı.
- Hız Uçurumu: Zamanla işlemciler, devrelerin küçülmesiyle muazzam hızlara ulaştı, ancak RAM bu hıza aynı oranda yetişemedi. Günümüzde işlemciler RAM'den yaklaşık 100 kat daha hızlı çalışmaktadır.
- Önbellek Prensibi: Bu hız farkını kapatmak için "Önbellek Prensibi" geliştirilmiştir. Bu prensip, işlemcinin bir veriye ulaştığında, kısa süre sonra aynı veriye veya komşularına tekrar ulaşma ihtimalinin yüksek olduğu varsayımına dayanır. Bu nedenle işlemci ile RAM arasına pahalı, küçük ama çok hızlı çalışan L1, L2 ve L3 önbellek katmanları yerleştirilmiştir. Modern işlemci çiplerinin yüzeyinin neredeyse yarısı bu önbelleklerden oluşmaktadır.
Yan Kanallar (Side Channels) ve Flush+Reload Meltdown zafiyetine giden yolda "Yan Kanal" saldırıları önemli bir rol oynar. Bu saldırılar, bilgisayarın resmi iletişim kanalları yerine güç tüketimi, ısı veya işlem zamanlaması gibi veriler üzerinden bilgi sızdırılmasına dayanır.
- Flush+Reload Tekniği: 2013 yılında ortaya konan bu teknikte, saldırgan işlemcinin
clflushkomutunu kullanarak önbellekteki bir satırı temizler ve ardından verinin geri yüklenme süresini ölçer. Eğer veri hızlı gelirse, başka bir programın o veriyi kullandığı anlaşılır; bu sayede hedef programın ne yaptığı takip edilebilir.
Meltdown Zafiyeti Nasıl Çalışır? Meltdown, işlemcilerin hız kazanmak için kullandığı mimari özellikleri (tahmini yürütme ve önbellek yapısı) kötüye kullanır:
- Tahmini Yürütme (Speculative Execution): İşlemci, programın nereye gideceğini tahmin ederek komutları önceden "boru hattına" (pipeline) alır ve değerlendirir.
- Yasaklı Erişim: Meltdown, işlemciyi kullanıcının erişiminin yasak olduğu (kernel gibi) bir bellek bölgesini okumaya zorlayan bir komut gönderir.
- İzin Kontrolü Gecikmesi: İşlemci, erişimin yasak olduğunu fark edip işlemi iptal edene (exception fırlatana) kadar komutu tahmini olarak işler.
- Önbellekte Kalan İz: İşlem iptal edilse bile, bu süreçte veriler önbelleğe yüklenmiş olur.
- Veriyi Çalma: Saldırgan, Flush+Reload tekniğini kullanarak önbellekteki bu izi okur ve yasaklı veriyi (örneğin şifreleme anahtarlarını) saniyede yarım megabayt hızla elde edebilir.
Sonuç olarak , işlemci üreticilerinin 25 yıldır bilinen uyarıları hız uğruna göz ardı ettiğini ve bu durumun Meltdown gibi donanımsal zafiyetlere yol açtığını belirtmektedir.
