Intel CPU halka veri yolu üzerinden veri sızıntısı

Illinois Üniversitesi'nden bir araştırma ekibi, Intel işlemcilerin Ring Interconnect'i aracılığıyla bilgi sızıntısını manipüle eden yeni bir yan kanal saldırı tekniği geliştirdi. Saldırı, başka bir uygulamadaki bellek kullanım bilgilerini vurgulamanıza ve tuş vuruşu zamanlama bilgilerini izlemenize olanak tanır. Araştırmacılar ilgili ölçümleri gerçekleştirmek için araçlar ve çeşitli prototip istismarları yayınladılar.

Aşağıdakilere izin verecek üç istismar önerildi:

  • Yan kanal saldırılarına karşı savunmasız olan RSA ve EdDSA uygulamalarını kullanırken (hesaplama gecikmeleri işlenen verilere bağlıysa) şifreleme anahtarlarının ayrı ayrı bitlerini kurtarın. Örneğin, EdDSA'nın başlatma vektörü (nonce) hakkındaki bilgileri içeren bireysel bitlerin sızması, özel anahtarın tamamını sırayla kurtarmak için saldırıların kullanılması için yeterlidir. Saldırının pratikte uygulanması zordur ve çok sayıda çekinceyle gerçekleştirilebilir. Örneğin, başarılı çalışma, SMT (HyperThreading) devre dışı bırakıldığında ve LLC önbelleği CPU çekirdekleri arasında bölümlere ayrıldığında gösterilir.
  • Tuş vuruşları arasındaki gecikmelerle ilgili parametreleri tanımlayın. Gecikmeler tuşların konumuna bağlıdır ve istatistiksel analiz yoluyla klavyeden girilen verilerin belirli bir olasılıkla yeniden oluşturulmasına olanak tanır (örneğin, çoğu kişi genellikle "a"dan sonra "s"yi, "g"den sonra "g"den çok daha hızlı yazar. "S").
  • Paylaşılan belleği, işlemci önbelleğini ve CPU çekirdeğine özgü kaynakları ve işlemci yapılarını kullanmayan, saniyede yaklaşık 4 megabit hızında işlemler arasında veri aktarımı için gizli bir iletişim kanalı düzenleyin. Önerilen gizli kanal oluşturma yönteminin, yan kanal saldırılarına karşı mevcut koruma yöntemleriyle engellenmesinin çok zor olduğu belirtilmektedir.

Açıklardan yararlanmalar yükseltilmiş ayrıcalıklar gerektirmez ve sıradan, ayrıcalığı olmayan kullanıcılar tarafından kullanılabilir. Saldırının potansiyel olarak sanal makineler arasındaki veri sızıntısını organize edecek şekilde uyarlanabileceği ancak bu konunun çalışmanın kapsamı dışında olduğu ve sanallaştırma sistemlerinin testlerinin yapılmadığı kaydedildi. Önerilen kod, Ubuntu 7'te bir Intel i9700-16.04 CPU üzerinde test edildi. Saldırı yöntemi genel olarak Intel Coffee Lake ve Skylake ailesinden masaüstü işlemciler üzerinde test edildi ve aynı zamanda Broadwell ailesinden Xeon sunucu işlemcileri için de potansiyel olarak uygulanabilir.

Ring Interconnect teknolojisi, Sandy Bridge mikro mimarisini temel alan işlemcilerde ortaya çıktı ve bilgi işlem ve grafik çekirdeklerini, bir sunucu köprüsünü ve önbelleği bağlamak için kullanılan birkaç döngülü veri yolundan oluşuyor. Saldırı yönteminin özü, halka veri yolu bant genişliği sınırlaması nedeniyle, bir işlemdeki bellek işlemlerinin, başka bir işlemin belleğine erişimi geciktirmesidir. Bir saldırgan, tersine mühendislik yoluyla uygulama ayrıntılarını tanımlayarak, başka bir süreçte bellek erişim gecikmelerine neden olan bir yük oluşturabilir ve bu gecikmeleri bilgi elde etmek için bir yan kanal olarak kullanabilir.

Dahili CPU veri yollarına yapılan saldırılar, veri yolunun mimarisi ve işletim yöntemleri hakkında bilgi eksikliğinin yanı sıra yüksek düzeyde gürültü nedeniyle engelleniyor, bu da yararlı verilerin izole edilmesini zorlaştırıyor. Veri yolu üzerinden veri iletiminde kullanılan protokollerin tersine mühendislik yoluyla veri yolunun çalışma prensiplerini anlamak mümkün oldu. Yararlı bilgileri gürültüden ayırmak için makine öğrenimi yöntemlerine dayalı bir veri sınıflandırma modeli kullanıldı. Önerilen model, birkaç işlemin aynı anda belleğe eriştiği ve verilerin belirli bir kısmının işlemci önbelleklerinden döndürüldüğü durumlarda, belirli bir işlemde hesaplamalar sırasında gecikmelerin izlenmesini organize etmeyi mümkün kılmıştır.

Ek olarak, Linux sistemlerine yapılan saldırılar sırasında Spectre güvenlik açığının (CVE-2017-5753) ilk çeşidi için bir istismar kullanımına ilişkin izlerin tespit edildiğini de not edebiliriz. Bu istismar, bellekte bir süper blok bulmak, /etc/shadow dosyasının inode'unu belirlemek ve dosyayı disk önbelleğinden almak için bellek sayfası adresini hesaplamak için yan kanal bilgi sızıntısını kullanır.

Kaynak: opennet.ru

Yorum ekle