Intel işlemcilerin MMIO mekanizmasındaki güvenlik açıkları

Intel, MMIO (Bellek Eşlemeli Giriş Çıkışı) mekanizmasının manipülasyonu yoluyla diğer CPU çekirdeklerinde işlenen bilgilerin belirlenmesine olanak tanıyan işlemcilerin mikromimari yapıları yoluyla yeni bir veri sızıntısı sınıfı hakkında bilgi açıkladı. Örneğin güvenlik açıkları, verilerin diğer işlemlerden, Intel SGX bölgelerinden veya sanal makinelerden çıkarılmasına olanak tanır. Güvenlik açıkları yalnızca Intel CPU'lara özeldir; diğer üreticilerin işlemcileri bu güvenlik açıklarından etkilenmez.

Güvenlik açıkları, Haswell, Skylake, IceLake, Broadwell, Lakefield, Kabylake, Cometlake ve Rocketlake mikro mimarilerini temel alan işlemcilerin yanı sıra Xeon EP/EX, Scalable ve bazı Atom sunucu işlemcileri de dahil olmak üzere çeşitli Intel CPU'larda görülüyor. Bir saldırı gerçekleştirmek için, örneğin saldırgan tarafından kontrol edilen konuk sistemler için MMIO'ya erişim olanağı sağlayan sanallaştırma sistemlerinde elde edilebilen MMIO'ya erişim gereklidir. Intel SGX (Yazılım Koruma Uzantıları) yalıtılmış koruma alanlarını kullanan sistemler için de bir düzeltme gerekebilir.

Güvenlik açığının engellenmesi, hem bir mikro kod güncellemesi hem de çekirdekten kullanıcı alanına geri dönerken veya kontrolü konuk sisteme aktarırken mikro mimari arabelleklerin içeriğini temizlemek için VERW talimatının kullanımına dayalı ek yazılım koruma yöntemlerinin kullanılmasını gerektirir. Benzer koruma aynı zamanda MDS (Mikro Mimari Veri Örnekleme), SRBDS (Özel Kayıt Arabelleği Veri Örnekleme) ve TAA (İşlemsel Eşzamansız Durdurma) sınıflarının önceden tanımlanmış saldırılarını engellemek için de kullanılır.

Mikro kod tarafında, korumayı uygulamak için gerekli değişiklikler Intel CPU'lara yönelik Mayıs mikro kod güncellemesinde (IPU 2022.1) önerildi. Linux çekirdeğinde, yeni bir saldırı sınıfına karşı koruma, 5.18.5, 5.15.48, 5.10.123, 5.4.199, 4.19.248, 4.14.284 ve 4.9.319 sürümlerinde yer almaktadır. Sistemin MMIO'daki güvenlik açıklarına maruziyetini kontrol etmek ve belirli koruma mekanizmalarının etkinliğini değerlendirmek için Linux çekirdeğine “/sys/devices/system/cpu/vulneraibility/mmio_stale_data” dosyası eklenmiştir. Korumanın dahil edilmesini kontrol etmek için, “tam” değerlerini alabilen “mmio_stale_data” çekirdek önyükleme parametresi uygulanmıştır (kullanıcı alanına ve VM'ye taşınırken arabelleklerin temizlenmesini sağlar), “full,nosmt” ( "tam" + ayrıca SMT/Hyper-Threads'i devre dışı bırakır) ve "kapalı" (koruma devre dışı) olarak. Xen hipervizörü ve Qubes işletim sistemi için ayrı düzeltmeler sunulmaktadır.

Tanımlanan güvenlik açıkları sınıfının özü, bazı işlemlerin, diğer CPU çekirdeklerinde yürütüldükten sonra kalan verilerin bir mikro mimari arabellekten diğerine kopyalanmasına veya taşınmasına yol açmasıdır. MMIO'daki güvenlik açıkları, bu artık verilerin yalıtılmış mikro mimari arabelleklerden uygulama tarafından görülebilen kayıtlara veya CPU arabelleklerine aktarılmasına olanak tanır. MMIO yoluyla artık verileri çıkarmak için üç yöntem tanımlanmıştır:

  • DRPW (Aygıt Kaydı Kısmi Yazma, CVE-2022-21166), bazı MMIO kayıtlarına yazma işlemlerinin yanlış işlenmesiyle ilgili bir sorundur. Yazılan verinin boyutu yazmacın boyutundan küçükse, doldurma arabelleklerinden kalan bilgiler de kayda kopyalanır. Sonuç olarak, MMIO kaydına eksik bir yazma işlemi başlatan bir işlem, mikro mimari arabelleklerde kalan verileri diğer CPU çekirdekleri üzerinde gerçekleştirilen işlemlerden elde edebilir.
  • SBDS (Paylaşılan Arabellek Veri Örnekleme, CVE-2022-21125), tüm çekirdekler için ortak olan ara arabelleklerden gelen hareketten kaynaklanan, çekirdeğe bağlı doldurma arabelleğinden kalan verilerin sızmasıdır.
  • SBDR (Paylaşılan Arabellek Veri Okuması, CVE-2022-21123) - sorun SBDS'ye benzer, ancak artık verilerin uygulamalar tarafından görülebilen CPU yapılarında bulunabilmesi açısından farklılık gösterir. SBDS ve SBDR sorunları yalnızca istemci sistemlerine yönelik işlemcilerde ve Intel Xeon E3 sunucu ailesinde görülür.

Intel işlemcilerin MMIO mekanizmasındaki güvenlik açıkları


Kaynak: opennet.ru

Yorum ekle