LVI, CPU'daki spekülatif yürütme mekanizmasına yönelik yeni bir saldırı sınıfıdır

Yayınlanan yeni bir saldırı sınıfı hakkında bilgi LVI (Yük Değeri Enjeksiyonu, CVE-2020-0551), Intel SGX bölgelerinden ve diğer işlemlerden anahtarları ve gizli verileri sızdırmak için kullanılabilen Intel CPU'larındaki spekülatif yürütme mekanizması hakkında.

Yeni bir saldırı sınıfı, saldırılarda kullanılan mikro mimari yapıların manipülasyonuna dayanmaktadır. MDS (Mikromimari Veri Örnekleme), Spectre ve Meltdown. Aynı zamanda Meltdown, Spectre, MDS ve benzeri saldırılara karşı mevcut koruma yöntemleriyle yeni saldırılar engellenmiyor. Etkili LVI koruması CPU'da donanım değişiklikleri gerektirir. Korumayı programlı olarak düzenlerken, bellekten her yükleme işleminden sonra derleyici tarafından LFENCE talimatını ekleyerek ve RET talimatını POP, LFENCE ve JMP ile değiştirerek çok fazla yük kaydedilir - araştırmacılara göre tam yazılım koruması, performansı 2-19 kat arttı.

Sorunu engellemenin zorluğunun bir kısmı, saldırının şu anda pratikten çok teorik olması gerçeğiyle dengeleniyor (saldırı teorik olarak mümkün, ancak uygulanması çok zor ve yalnızca sentetik testlerde tekrarlanabilir).
Intel tahsis edilmiş sorunun orta düzeyde bir tehlikesi var (5.6 üzerinden 10) ve yayınlandı Bir geçici çözüm kullanarak saldırıyı engellemeye çalıştığı SGX ortamı için donanım yazılımını ve SDK'yı güncelleme. Önerilen saldırı yöntemleri şu anda yalnızca Intel işlemciler için geçerlidir ancak Meltdown sınıfı saldırıların uygulanabileceği diğer işlemciler için LVI'nın uyarlanma olasılığı göz ardı edilemez.

Sorun, geçen Nisan ayında Leuven Üniversitesi'nden araştırmacı Jo Van Bulck tarafından tespit edildi ve ardından diğer üniversitelerden 9 araştırmacının katılımıyla, her biri daha spesifik saldırıların varlığına izin veren beş temel saldırı yöntemi geliştirildi. seçenekleri. Bağımsız olarak, bu yılın Şubat ayında Bitdefender'dan araştırmacılar da keşfettim LVI saldırı çeşitlerinden biri ve bunu Intel'e bildirdi. Saldırı çeşitleri, daha önce kullanılan depolama arabelleği (SB, Mağaza Arabelleği), doldurma arabelleği (LFB, Satır Doldurma Arabelleği), FPU içerik değiştirme arabelleği ve birinci düzey önbellek (L1D) gibi farklı mikro mimari yapıların kullanımıyla ayırt edilir. gibi saldırılarda ZombieLoad, RIDL, Fallout, TembelFP, belirtisi olmak и Meltdown.

LVI, CPU'daki spekülatif yürütme mekanizmasına yönelik yeni bir saldırı sınıfıdır

Ana onur MDS saldırılarına karşı LVI, MDS'nin spekülatif hata işleme veya yükleme ve depolama işlemlerinden sonra önbellekte kalan mikro mimari yapıların içeriğinin belirlenmesini manipüle etmesidir.
LVI saldırıları, saldırganın verilerinin mikro mimari yapılara yerleştirilmesine ve kurbanın kodunun daha sonraki spekülatif yürütülmesini etkilemesine olanak tanır. Saldırgan, bu manipülasyonları kullanarak, hedef CPU çekirdeğinde belirli bir kodu çalıştırırken diğer işlemlerdeki özel veri yapılarının içeriğini çıkarabilir.

LVI, CPU'daki spekülatif yürütme mekanizmasına yönelik yeni bir saldırı sınıfıdır

için sömürü sorunu kurban sürecinin kodunda buluşmalı Saldırganın kontrol ettiği bir değerin yüklendiği özel kod dizileri (araçlar) ve bu değerin yüklenmesi, istisnaların (hata, iptal veya destek) atılmasına, sonucun atılmasına ve talimatın yeniden yürütülmesine neden olur. Bir istisna işlendiğinde, gadget'ta işlenen verilerin sızdırıldığı spekülatif bir pencere açılır. Özellikle, işlemci bir kod parçasını (gadget) spekülatif modda yürütmeye başlar, ardından tahminin doğrulanmadığını belirler ve işlemleri orijinal durumuna geri döndürür, ancak spekülatif yürütme sırasında işlenen veriler L1D önbelleğinde saklanır. ve mikro mimari arabellekler ve üçüncü taraf kanallar yoluyla artık verileri belirlemek için bilinen yöntemler kullanılarak bunlardan geri alınmaya hazırdır.

"Yardım" istisnası, "hata" istisnasının aksine, yazılım işleyicilerini çağırmadan işlemci tarafından dahili olarak işlenir. Destek, örneğin bellek sayfası tablosundaki A (Erişildi) veya D (Kirli) bitinin güncellenmesi gerektiğinde ortaya çıkabilir. Diğer süreçlere saldırı gerçekleştirmenin temel zorluğu, kurban sürecini manipüle ederek yardım oluşumunun nasıl başlatılacağıdır. Şu anda bunu yapmanın güvenilir bir yolu yok, ancak gelecekte bulunmaları mümkün. Bir saldırı gerçekleştirme olasılığı şu ana kadar yalnızca Intel SGX bölgeleri için doğrulandı; diğer senaryolar teoriktir veya sentetik koşullarda tekrarlanabilir (koda belirli aygıtların eklenmesini gerektirir)

LVI, CPU'daki spekülatif yürütme mekanizmasına yönelik yeni bir saldırı sınıfıdır

LVI, CPU'daki spekülatif yürütme mekanizmasına yönelik yeni bir saldırı sınıfıdır

Olası saldırı vektörleri:

  • Çekirdek yapılarından kullanıcı düzeyindeki işlemlere veri sızıntısı. Linux çekirdeğinin Spectre 1 saldırılarına karşı koruması ve SMAP (Yönetici Modu Erişim Engelleme) koruma mekanizması, LVI saldırısı olasılığını önemli ölçüde azaltır. Gelecekte daha basit LVI saldırı yöntemlerinin belirlenmesi durumunda çekirdeğe ek koruma eklenmesi gerekli olabilir.
  • Farklı işlemler arasında veri sızıntısı. Saldırı, uygulamada belirli kod parçalarının bulunmasını ve hedef süreçte istisna atmaya yönelik bir yöntemin tanımlanmasını gerektirir.
  • Ana bilgisayar ortamından konuk sisteme veri sızıntısı. Saldırı çok karmaşık olarak sınıflandırılıyor ve uygulanması zor çeşitli adımlar ve sistemdeki aktivite tahminlerini gerektiriyor.
  • Farklı konuk sistemlerindeki işlemler arasında veri sızıntısı. Saldırı vektörü, farklı süreçler arasındaki veri sızıntısını organize etmeye yakındır ancak konuk sistemler arasındaki izolasyonu atlatmak için ek olarak karmaşık manipülasyonlar gerektirir.

Araştırmacılar tarafından yayınlandı bazı prototipler saldırı gerçekleştirme ilkelerinin gösterilmesiyle birlikte, ancak henüz gerçek saldırılar gerçekleştirmeye uygun değiller. İlk örnek, geri dönüş odaklı programlamaya benzer şekilde kurban sürecinde spekülatif kod yürütmeyi yeniden yönlendirmenize olanak tanır (ROP,Geri Dönüş Odaklı Programlama). Bu örnekte kurban, gerekli araçları içeren özel olarak hazırlanmış bir süreçtir (bir saldırının gerçek üçüncü taraf süreçlerine uygulanması zordur). İkinci örnek, Intel SGX bölgesi içindeki AES şifrelemesi sırasında hesaplamalara müdahale etmemize ve şifreleme için kullanılan anahtarın değerini geri yüklemek için talimatların spekülatif olarak yürütülmesi sırasında bir veri sızıntısı düzenlememize olanak tanır.


Kaynak: opennet.ru

Yorum ekle