Intel CPU’ları yeni geçici yürütme yan kanal saldırısına karşı savunmasız


İşlemci

Intel CPU’ların birden çok neslini etkileyen ve EFLAGS kaydı aracılığıyla verilerin sızdırılmasına olanak tanıyan yeni bir yan kanal saldırısı keşfedildi.

Yeni saldırı Tsinghua Üniversitesi, Maryland Üniversitesi ve Çin Eğitim Bakanlığı tarafından yürütülen bir bilgisayar laboratuvarı (BUPT) tarafından keşfedildi ve diğer yan kanal saldırılarının çoğundan farklı.

Diğer birçok yan kanal saldırısında olduğu gibi önbellek sistemine güvenmek yerine, bu yeni saldırı, zamanlama analizi yoluyla kullanıcı bellek alanından gizli verilerin çıkarılmasını mümkün kılan geçici yürütmede bir kusurdan yararlanır.

Saldırı, 2018’de keşfedilen ve birçok x86 tabanlı mikroişlemciyi etkileyen kritik bir güvenlik açığı olan Meltdown’a bir yan kanal olarak çalışıyor.

Meltdown, saldırganların parolalar, şifreleme anahtarları ve diğer özel veriler gibi çekirdek belleğinde saklanan sırlara erişmek için bellek yalıtım mekanizmalarını atlamasına olanak tanıyan “spekülatif yürütme” adı verilen bir performans optimizasyon özelliğinden yararlanır.

Meltdown, yazılım yamaları, mikro kod güncellemeleri ve donanım yeniden tasarımlarıyla büyük ölçüde hafifletildi; ancak hiçbir çözüm sorunu %100 çözememiştir ve en son saldırı yöntemi, donanım, yazılım ve yama yapılandırmalarına bağlı olarak tamamen yama uygulanmış sistemlerde bile işe yarayabilir.

Geçici yürütme zamanlama saldırısı

Arxiv.org’da yayınlanan teknik bir makalede sunulan yeni yan kanal saldırısı, geçici yürütmede EFLAGS kaydının değişikliğinde, JCC (koşul koduna atlama) talimatlarının zamanlamasını etkileyen bir kusuru açıklıyor.

EFLAGS kaydı, işlemcinin durumuyla ilgili çeşitli bayrakları tutan bir CPU kaydı iken, JCC talimatı, EFLAGS kaydının içeriğine dayalı olarak koşullu dallanmaya izin veren bir CPU talimatıdır.

Saldırı iki aşamada gerçekleştirilir, birincisi geçici yürütmeyi tetiklemek ve gizli verileri EFLAGS kaydı aracılığıyla kodlamak, ikincisi ise verilerin kodunu çözmek için KCC komutunun yürütme süresini ölçmektir.

Saldırıya genel bakış
Saldırıya genel bakış (arxiv.org)

Deneysel veriler, saldırının Intel i7-6700 ve Intel i7-7700 için %100 veri alma (sızıntı) sağladığını ve daha yeni Intel i9-10980XE CPU’ya karşı bir miktar başarı elde ettiğini gösterdi. Deney, Linux çekirdeği sürüm 5.15.0 ile Ubuntu 22.04 jammy üzerinde gerçekleştirildi.

Geçici yürütme saldırısının zamanlaması için sözde kod
Geçici yürütme saldırısının zamanlaması için sözde kod (arxiv.org)

Ancak araştırmacılar, bu zamanlama saldırısının önbellek durumu yan kanal yöntemleri kadar güvenilir olmadığını ve son çiplerde daha iyi sonuçlar almak için saldırının binlerce kez tekrarlanması gerektiğini belirtiyor.

Deneysel verilerin değerlendirilmesiyle ilgili bölüm, “Deneyimizde, EFLAGS kaydının Jcc komutunun yürütme süresi üzerindeki etkisinin önbellek durumu kadar kalıcı olmadığını bulduk” diyor.

“Geçici çalıştırmadan sonraki yaklaşık 6-9 döngü boyunca, Jcc yürütme süresi bir yan kanal oluşturmak üzere olmayacak. Ampirik olarak, saldırının daha yüksek doğruluk için binlerce kez tekrarlanması gerekiyor.”

Araştırmacılar, saldırının temel nedenlerinin anlaşılmaz olduğunu kabul ediyor ve Intel CPU’nun yürütme biriminde, yürütmenin geri alınması gerekiyorsa geri dönmesi için zamana ihtiyaç duyan bir arabellek olduğunu ve ardından gelen talimat bağlıysa durmaya neden olan bir işlem olduğunu varsayıyorlar. arabelleğin hedefinde.

Bununla birlikte, yine de, JCC talimatının uygulanmasını herhangi bir koşulda rakip yürütme ölçümünü imkansız kılmak için değiştirmek veya JCC talimatı üzerindeki etkisini azaltmak için geçici yürütmeden sonra EFLAGS’ı yeniden yazmak gibi bazı önemsiz hafifletici önlemler önermektedir.



Source link