TONTOU: AMD ve Intel'e yönelik yeni bir Spectre v2 saldırısı.

Anahtar noktaları:
  • TONTOU, tahmin tamponunun temizlenmesi ile kullanımı arasındaki zaman boşluğundan yararlanır.
  • Saldırganlar, çekirdek akışını yönlendirmek ve tahmin mekanizmasını kirletmek için "Kesme Enjeksiyonu"nu kullanırlar.
  •  Bu durum AMD'nin Zen 1'den 4'e kadar olan mimarilerini ve Intel işlemcilerinin birçok neslini etkiliyor.
  • Söz konusu sorun giderme yamaları, en son Linux çekirdek güncellemelerine (5 Ağustos) zaten dahil edildi.

TONTOU saldırısı

Güvenliğinizi tehlikeye atan şeyin tam olarak işlemci hızınız olması mümkün mü? İşlemcilerin hızlarını nasıl elde ettiklerini anlamak için , "geleceği tahmin ederek" çalıştıklarını göz önünde bulundurmalıyız... Hayır, sihirli değiller veya küçük bir kristal küreleri yok...

İşlemcilerin çalışma şekli şöyledir: Bir programın hangi yolu izleyeceğini beklemek yerine , çip olası rotayı tahmin eder ve onu öngörür. Tahmin yanlışsa, iş atılır, ancak izler bellekte kalır. İşte burada Spectre devreye giriyor ; son yıllarda keşfedilen en önemli güvenlik açıklarından biri. Keşfedilmesinden bu yana, saldırganlar bu izleri nasıl okuyacaklarını öğrenerek giderek daha karmaşık varyantlar oluşturdular; TONTOU bu yeni güvenlik açıklarından biridir.

MIT araştırmacıları, Spectre v2 güvenlik açıklarından yararlanmak için TONTOU (Time-of-Neutralization to Time-of-Use) adı verilen gelişmiş yeni bir teknik keşfetti ; bu teknik , kullanıcı alanından çekirdek belleğinin okunmasına olanak tanıyor.

Üreticiler ve geliştiriciler yıllardır tahmine dayalı saldırılara karşı çeşitli koruma mekanizmaları tasarlamış olsalar da, saldırganlar yeni yollar keşfetmeyi başardılar ve bu yeni CSAIL çalışması, bu korumaların nasıl aşılabileceğini gösteriyor.

Araştırmacılar, tampon belleğin temizlendiği an ile tahminlerin kullanıldığı an arasında kaçınılmaz bir zaman boşluğu olduğunu ve bu küçük boşlukta sistem kesintileri yoluyla kod (bazen sadece birkaç talimat) enjekte edildiğini, böylece donanımın yeniden kirlenmesinin ve kritik verilerin çıkarılmasının mümkün olduğunu keşfettiler.

Saldırıya İlişkin: Kesintiler ve Safe-RET'te Meydana Gelen Güvenlik İhlali

AMD, SRSO (Spekülatif Dönüş Yığın Taşması) güvenlik açıklarına karşı Saferet adı verilen bir savunma mekanizmasına sahiptir . Bu mekanizma, her kullanımdan hemen önce tahmin mekanizmasını temizler. Bu durum, birkaç on nanosaniye içinde istismar edilebilecek bir güvenlik açığı penceresi bırakır . Bu kadar küçük bir pencereye saldırmak için araştırmacılar, Kesme Enjeksiyonu adını verdikleri bir teknik geliştirdiler.

İşlemciler, kesintileri işlemek için görevlerini sürekli olarak durdururlar ve yaygın programlar bu zamanlayıcıları yapılandırabilir . Bunu göz önünde bulunduran araştırmacılar, bir zamanlayıcıyı hassas bir şekilde ayarladılar ve CPU'yu yavaşlatmak için bir teknik kullanarak işlemcinin tam olarak yanlış anda kesintiye uğramasına neden oldular . Bu kesinti sırasında, bir saldırgan çok sayıda çağrının yürütülmesini zorlayarak adres yığınını taşırabilir. Hatalı yürütme sona erdiğinde, işlemci işlemi atar, ancak erişilen veriler paylaşılan önbelleklerde kalır ve erişim zamanları analiz edilerek buradan çıkarılabilir.

Gerçek Sistemlerde Parola Çıkarma ve Test Etme

TONTOU'nun ciddiyetini göstermek için ekip, güncel bir Linux çekirdeği çalıştıran bir AMD sisteminde çalışan bir güvenlik açığı geliştirdi. İlk engel, işletim sisteminin bellekteki konumunu rastgele değiştiren savunmayı aşmaktı; bunu on denemede, her test yaklaşık dokuz dakika sürerek başardılar.

Daha sonra, ayrıcalıksız bir kullanıcı olarak yerel bir saldırı gerçekleştirerek root parola karmasını belirlemeyi başardılar ve saniyede 5.47 bayt hızla %91.97 doğrulukla veri çıkardılar. Testlerin %50'sinde (ortalama 18 dakika sürdü), parola dosyasının içeriğini başarıyla tespit edip çıkardılar. Bu yavaş bir hız olsa da, bir sunucuyu kritik düzeyde tehlikeye atmak için fazlasıyla yeterlidir.

Intel, AMD ve azaltma yaması üzerindeki etki

Ekip , Intel ve AMD işlemcilerinin dört neslini test ederek her iki mimaride de tahmin başarısızlıkları elde etti. Teknik, AMD'nin Zen 1 ila 4 ailelerinde uygulanabilir olduğunu kanıtlarken , Intel çiplerinde saldırı iki farklı korumayı atlattı ; ancak farklı Intel nesilleri arasında tutarsız davranış gözlemlendi , bu da nominal savunmaların donanımda farklı şekilde uygulandığını düşündürmektedir.

Araştırmacılar, çözüm olarak kesinti bittikten sonra tahmin mekanizmasını ikinci kez temizlemeyi öneriyor. Bu önlem AMD için uygulanabilir görünse de, saldırı kesintinin tutarlı bir durumda kalmasına dayandığı ve saldırıyı daha güvenilir hale getirebileceği için Intel için ters etki yaratabilir.

Araştırmacılar Şubat başında AMD ve Intel'i, Mart ayında ise Linux çekirdeği geliştiricilerini bilgilendirdi. Sonuç olarak, güvenlik açığını gidermek için kullanılan kod engelleme mekanizması 5 Ağustos'ta Linux çekirdeğine entegre edildi.

Son olarak, daha fazla bilgi edinmek isterseniz, ayrıntıları aşağıdaki bağlantıda bulabilirsiniz.


Google'da tercih edilen kaynak olarak ekleyin.