KVM'deki bir güvenlik açığı, AMD işlemcilerde konuk sistem dışında kod yürütülmesine izin veriyor

Google Project Zero ekibinden araştırmacılar, birkaç gün önce bir blog gönderisinde açıkladı. KVM hipervizöründe bir güvenlik açığı (CVE-2021-29657) belirledik (x86, ARM, PowerPC ve S / 390'da donanım hızlandırmalı sanallaştırmayı destekleyen açık kaynaklı Linux tabanlı bir hiper yönetici) konuk sisteminin izolasyonunu önlemenizi sağlar ve kodunuzu ana bilgisayar ortamı tarafında çalıştırın.

Gönderi, sorundan bahsediyor Linux çekirdeği 5.10-rc1'den v5.12-rc6'ya tezahür eder, es decir, yalnızca 5.10 ve 5.11 çekirdeklerini kapsar (Kararlı dağıtım dallarının çoğu sorundan etkilenmedi.) Sorun, AMD SVM (Güvenli Sanal Makine) uzantısı kullanılarak uygulanan ve konuk sistemlerin iç içe başlatılmasına izin veren nested_svm_vmrun mekanizmasında mevcuttur.

Bu blog yazısında, AMD'ye özgü KVM kodundaki bir güvenlik açığını anlatıyor ve bu hatanın nasıl tam bir sanal makine kaçışına dönüşebileceğini tartışıyorum. Bildiğim kadarıyla bu, QEMU gibi kullanıcı alanı bileşenlerindeki hatalara dayanmayan bir KVM konuktan ana bilgisayara aranın ilk genel yazısıdır.

Tartışılan hataya CVE-2021-29657 atanmıştı, v5.10-rc1'den v5.12-rc6'ya kadar olan çekirdek sürümlerini etkiliyor ve Mart 2021'in sonlarında yama uygulandı. Hata yalnızca v5.10'da kullanılabilir hale geldiğinden ve yaklaşık 5 ay sonra keşfedildiğinden, gerçek dünyadaki KVM dağıtımlarının çoğu etkilenmemelidir. Ben hala sorunun, KVM'ye karşı konuktan ana bilgisayara sabit bir kaçış oluşturmak için gereken çalışmadaki ilginç bir vaka çalışması olduğunu düşünüyorum ve umarım bu makale, hipervizör uzlaşmalarının yalnızca teorik problemler olmadığını kanıtlayabilir.

Araştırmacılar, bu işlevin doğru bir şekilde uygulanması için, hiper yönetici tüm SVM talimatlarını engellemelidir misafir sistemlerde çalıştır, davranışını taklit eder ve durumu donanımla senkronize eder, ki bu oldukça zor bir iştir.

Önerilen KVM uygulamasını analiz ettikten sonra, araştırmacılarMSR içeriğine izin veren mantıksal bir hatayla karşılaştı (Modele özel kayıt) ana bilgisayarın misafir sisteminden etkilenmek, ana bilgisayar düzeyinde kod yürütmek için kullanılabilir.

Özellikle, ikinci bir yuvalanmış düzeydeki konuktan (başka bir konuktan başlatılan L2) bir VMRUN işlemi çalıştırmak, nested_svm_vmrun'a ikinci bir çağrıya yol açar ve L2 konuk sisteminden vmcb'den gelen verilerle kaplanmış svm-> nested.hsave yapısını bozar. .

Sonuç olarak, kullanılmaya devam etse bile MSR bitini depolayan svm-> nested.msrpm yapısındaki belleği L2 konuk düzeyinde boşaltmanın ve ana bilgisayarın MSR'sine erişmenin mümkün olduğu bir durum ortaya çıkar. çevre..

Bu, örneğin, bir misafirin belleğinin, kullanıcı alanı işleminin tahsis edilen belleği boşaltılarak denetlenebileceği veya CPU zamanı ve bellek için kaynak sınırlarının kolayca uygulanabileceği anlamına gelir. 

Ayrıca KVM, cihaz öykünmesiyle ilgili çalışmaların çoğunu kullanıcı alanı bileşenine devredebilir.

Sorun, AMD işlemcili sistemlerde (kvm-amd.ko modülü) kullanılan kodda mevcut ve Intel işlemcilerde görünmüyor.

 Kesinti işleme ile ilgilenen performansa duyarlı birkaç cihazın dışında, sanal disk, ağ veya GPU erişimi sağlamak için tüm karmaşık düşük seviyeli kodlar kullanıcı alanında konuşlandırılabilir.  

Araştırmacılar, sorunu tanımlamanın yanı sıra Ayrıca bir istismarın çalışan bir prototipini hazırladılar. Bu, AMD Epyc 7351P işlemci ve Linux 5.10 çekirdeği olan bir sistemde bir ana bilgisayar ortamında konuk ortamından bir kök kabuğu çalıştırmaya izin verir.

Gözlenmektedir ki bu, KVM hipervizöründe güvenlik açığı barındıran ilk konuk kendisi, QEMU gibi kullanıcı alanı bileşenlerindeki hatalarla ilgili değildir. Düzeltme, Mart ayının sonunda çekirdekte kabul edildi.

Nihayet onun hakkında daha fazla bilgi edinmekle ilgileniyorsan not hakkında ayrıntıları kontrol edebilirsiniz Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.