Cercetătorii de la Universitatea Tehnică din Graz (Austria) informații despre noua metodă de atac prin canale secundare (), care permite extragerea informațiilor confidențiale din alte procese, sistemul de operare, mașini virtuale și enclave securizate (TEE, Trusted Execution Environment). Problema afectează doar procesoarele Intel. Componentele pentru blocarea problemei în actualizarea de ieri .
Problema se încadrează în clasa MDS (Microarchitectural Data Sampling) și este o variantă modernizată a în luna mai a atacului ZombieLoad. ZombieLoad 2.0, la fel ca și alte atacuri din clasa MDS, se bazează pe utilizarea metodelor de analiză prin canale secundare asupra datelor din structurile microarhitecturale (de exemplu, în buffer-ele de umplere (Line Fill Buffer) și de stocare (Store Buffer), în care sunt temporar păstrate datele utilizate în timpul desfășurării operațiunilor Load și Store).
Noua variantă a atacului Zombieload pe scurgerile care apar în timpul funcționării mecanismului de întrerupere asincronă a operațiunilor (TAA, TSX Asynchronous Abort), implementat în extensia TSX (Transactional Synchronization Extensions), care oferă mijloace pentru a lucra cu memoria tranzacțională, permițând îmbunătățirea performanței aplicațiilor multi-threaded prin excluderea dinamică a operațiunilor inutile de sincronizare (sunt susținute tranzacții atomice care pot fi fie acceptate, fie anulate). În cazul întreruperii, operațiunile efectuate în regiunea de memorie tranzacțională sunt răsturnate.
Întreruperea tranzacției se realizează asincron, iar în acest timp alte fire pot accesa cache-ul, care este folosit de asemenea în regiunea de memorie tranzacțională anihilată. În intervalul dintre începutul și finalizarea efectivă a întreruperii asincrone a tranzacției, nu este exclus ca procesorul, în timpul desfășurării speculative a operațiunii, să poată citi date din buffer-urile interne microarhitecturale și să le transmită într-o operațiune desfășurată speculativ. Apoi va fi identificat conflictul, iar operațiunea speculativă va fi anulată, dar datele vor rămâne în cache și pot fi extrase folosind metode de recuperare a cache-ului prin canale secundare.
Atacul se referă la deschiderea tranzacțiilor TSX și crearea condițiilor pentru întreruperea lor asincronă, moment în care apar condiții pentru scurgeri de conținut din buffer-ele interne, umplute speculativ cu date din operațiunile de citire a memoriei ce se desfășoară pe același nucleu al CPU. Scurgerea este limitată la nucleul fizic curent al CPU (pe care se execută codul atacatorului), însă având în vedere că buffer-ele microarhitecturale sunt utilizate în comun de diferite fire în modul Hyper-Threading, este posibilă apariția scurgerilor de operațiuni cu memoriile efectuate în alte fire ale CPU.
Atacului anumite modele de procesoare Intel Core de generația a opta, a noua și a zecea, precum și Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W și a doua generație de Intel Xeon Scalable. De asemenea, atacului îi sunt expuse și noile procesoare Intel bazate pe microarhitectura Cascade Lake, prezentată în aprilie, care inițial nu era supusă atacurilor RIDL și Fallout. Pe lângă Zombieload 2.0, cercetătorii au identificat și o modalitate de a ocoli metodele anterioare de protecție împotriva atacurilor MDS, care se bazează pe utilizarea instrucțiunii VERW pentru a curăța conținutul buffer-elor microarhitecturale în momentul revenirii din modul kernel în spațiul utilizatorului sau în timpul transferului controlului către sistemul gazdă.
În raportul Intel se afirmă că, în sistemele cu sarcini heterogene, posibilitatea de a efectua un atac este îngreunată, deoarece scurgerea din structurile microarhitecturale acoperă toată activitatea din sistem și atacatorul nu poate influența sursa datelor extrase, adică poate doar să acumuleze informațiile care apar în urma scurgerii și să încerce să identifice printre acestea informații utile, fără a avea posibilitatea de a intercepta în mod direcționat datele legate de adrese specifice de memorie. Cu toate acestea, cercetătorii au publicat , care funcționează pe Linux și Windows, și a fost demonstrată posibilitatea de aplicare a atacului pentru a determina hash-ul parolei utilizatorului root.
să se realizeze un atac din sistemul gazdă pentru a acumula date care figurează în operațiunile altor sisteme gazdă, mediu gazdă, hypervizor și enclave Intel SGX.

Corecțiile pentru blocarea vulnerabilității au fost incluse în baza de cod a nucleului Linux și au intrat în versiunile . Actualizările cu kernelul și microcodul au fost deja lansate pentru principalele distribuții (, , , , , ). Problema a fost identificată în aprilie, iar soluția a fost coordonată de Intel cu dezvoltatorii sistemelor de operare.
Cea mai simplă metodă de blocare a Zombieload 2.0 este dezactivarea suportului TSX în CPU. Soluția propusă pentru kernelul Linux include mai multe opțiuni de protecție. Prima opțiune oferă parametrul „tsx=on/off/auto”, care permite gestionarea activării extensiei TSX în CPU (valoarea auto dezactivează TSX doar pentru CPU-urile vulnerabile). A doua opțiune de protecție se activează prin parametrul „tsx_async_abort=off/full/full,nosmt” și se bazează pe curățarea bufferelor microarhitecturale în timpul schimbării de context (flagul nosmt dezactivează în plus SMT/Hyper-Threads). Pentru a verifica expunerea sistemului la vulnerabilitate, în sysfs este prevăzut parametrul „/sys/devices/system/cpu/vulnerabilities/tsx_async_abort”.
În plus, în microcod înca o () în procesoarele Intel, care este de asemenea blocat în noul kernel Linux. Vulnerabilitatea poate permite unui atacator neprivilegiat să inițieze un atac de tip denial of service, care duce la blocarea sistemului în starea „Machine Check Error”.
Atacul poate fi realizat din sistemul de oaspeți.
Sursa: opennet.ro
