KVM ahultasunak AMD prozesadoreetan sistema gonbidatuaren kanpo kodea exekutatzea ahalbidetzen du

Google Project Zero taldeko ikertzaileek duela egun batzuk aurkeztu zuten blogeko mezu batean ahultasun bat (CVE-2021-29657) identifikatu dute KVM hipervisorean (x86, ARM, PowerPC eta S / 390 bertsioetan hardware azkartutako birtualizazioa onartzen duen Linux kode irekiko hipervisorea) gonbidatuen sistema isolatzea ekiditeko aukera ematen du eta exekutatu zure kodea ostalariaren ingurunetik.

Argitalpenak arazoa aipatzen du Linux kernel 5.10-rc1-tik v5.12-rc6-ra agertzen da, hau da, 5.10 eta 5.11 nukleoak estaltzen ditu (Banaketen adar egonkor gehienek ez zuten arazorik eragin). Arazoa nested_svm_vmrun mekanismoan dago, AMD SVM (Makina birtuala segurua) luzapena erabiliz ezarrita eta sistema gonbidatuak habiaratuta abiarazteko aukera ematen duena.

Blogeko mezu honetan, AMD espezifikoa den KVM kodean zaurgarritasuna deskribatzen dut eta akats hau makina birtualeko ihesbide osoa nola bihur daitekeen eztabaidatzen dut. Nik dakidala, KVM gonbidatu-ostalari hausturaren lehen idazketa publikoa da, QEMU bezalako erabiltzaile espazioko osagaietan akatsetan oinarritzen ez dena.

Eztabaidatutako akatsari CVE-2021-29657 esleitu zitzaion, kernel bertsioei eragiten die v5.10-rc1-tik v5.12-rc6-ra eta 2021eko martxoaren amaieran konpondu zen. Akatsa v5.10ean soilik esplotagarria bihurtu zenez eta 5 hilabete inguru geroago aurkitu zenez, benetako mundu osoko KVM inplementazioek ez lukete eragin behar. Oraindik ere uste dut arazoa kasu-azterketa interesgarria dela KVM-ren aurka gonbidatu-ostalari ihes egonkorra eraikitzeko behar den lanean eta espero dut artikulu honek hipervisorearen konpromisoak arazo teorikoak ez direla esan dezakeela.

Ikertzaileek aipatu dute funtzionaltasun hori ondo ezartzeko, hipervisoreak SVM argibide guztiak atzeman behar ditu gonbidatu sistemetan exekutatu, imitatu bere portaera eta sinkronizatu egoera hardwarearekin, hori nahiko lan zaila da.

Ikertzaileek proposatutako KVM inplementazioa aztertu ondorenMSR edukia ahalbidetzen duen errore logikoa aurkitu da Ostalariaren (modeloaren erregistro espezifikoa) gonbidatuen sistemaren eragina izan, ostalari mailan kodea exekutatzeko erabil daitekeena.

Bereziki, habiaratutako bigarren gonbidatu batetik (L2 beste gonbidatu batetik abiatuta) VMRUN eragiketa exekutatzeak bigarren deia egiten du nested_svm_vmrun-era eta svm-> nested.hsave egitura hondatzen du, hau da, L2 gonbidatu sistemako vmcb-ren datuekin gainjarritakoa. .

Ondorioz, L2 gonbidatuen mailan svr-> nested.msrpm egituran memoria askatzea posible da, MSR bit-a gordetzen baitu, erabiltzen jarraitzen duen arren, eta ostalariaren MSR-ra sartzeko. ingurunea.

Horrek esan nahi du, adibidez, gonbidatuen memoria ikuskatu daitekeela bere erabiltzaile espazio prozesuko esleitutako memoria botaz edo PUZaren denbora eta memoriaren baliabideen mugak erraz ezar daitezkeela. 

Gainera, KVM-k gailuaren emulazioarekin lotutako lan gehiena erabiltzailearen espazio osagaira deskarga dezake.

Arazoa AMD prozesadoreak dituzten sistemetan erabilitako kodean dago (kvm-amd.ko modulua) eta ez da Intel prozesadoreetan agertzen.

 Etenaldiak kudeatzeaz arduratzen diren errendimendu sentikorreko gailu pareetatik kanpo, disko birtuala, sarea edo GPU sarbidea emateko maila baxuko kode konplexu guztiak erabiltzailearen espazioan zabaldu daitezke.  

Ikertzaileek arazoa deskribatzeaz gain Ustiapen baten lan prototipo bat ere prestatu dute horri esker, root shell bat gonbidatu ingurune batetik ostalari ingurune batean AMD Epyc 7351P prozesadorea eta Linux 5.10 kernela duen sistema batean exekutatu daiteke.

Hori ikusten da hau da KVM hipervisorean ahultasuna ostatatzen duen lehen gonbidatua berez, ez dago QEMU bezalako erabiltzaile espazioko osagaietako akatsekin lotuta. Konponketa kernelean onartu zen martxoaren amaieran.

Bukatzeko horri buruz gehiago jakiteko interesa baduzu oharrari buruz, xehetasunak kontsultatu ditzakezu Hurrengo estekan.


Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

Idatzi lehenengo iruzkina

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.