Linux kernel afectat de noua atacare cross-cache SLUBStick

Home CyberSecurity Linux kernel afectat de noua atacare cross-cache SLUBStick
Linux kernel afectat de noua atacare cross-cache SLUBStick

O nouă atacare cross-cache a Kernelului Linux, numită SLUBStick, are o rată de succes de 99% în transformarea unei vulnerabilități limitate a heap-ului într-o capacitate arbitrară de citire și scriere a memoriei, permițând cercetătorilor să își ridice privilegiile sau să scape din containere.

Descoperirea vine de la o echipă de cercetători de la Universitatea de Tehnologie Graz care au demonstrat atacul pe versiunile Kernelului Linux 5.9 și 6.2 (cea mai recentă) folosind nouă CVE-uri existente atât în sistemele pe 32 de biți, cât și pe cele pe 64 de biți, indicând o mare versatilitate.

În plus, atacul a funcționat cu toate apărările moderne ale kernelului precum Prevenirea Execuției în Modul Supervisor (SMEP), Prevenirea Accesului în Modul Supervisor (SMAP), și Randomizarea Layout-ului Spațiului de Adresă al Kernelului (KASLR) active.

SLUBStick va fi prezentat în detaliu la conferința viitoare Usenix Security Symposium mai târziu în acest lună. Cercetătorii vor prezenta ridicarea privilegiilor și scăparea din containere în Linux-ul cel mai recent cu apărări de ultimă oră activate.

Între timp, documentul tehnic publicat conține toate detaliile despre atac și scenariile potențiale de exploatare.

Un mod în care Kernelul Linux gestionează eficient și în siguranță memoria este prin alocarea și dealocarea bucăților de memorie, numite „slabs”, pentru diferite tipuri de structuri de date.

Deficiențele în acest proces de gestionare a memoriei ar putea permite atacatorilor să corupă sau să manipuleze structurile de date, numite atacuri cross-cache. Cu toate acestea, acestea sunt eficiente în aproximativ 40% din cazuri și duc în mod obișnuit la blocarea sistemului mai devreme sau mai târziu.

SLUBStick exploatează o vulnerabilitate a heap-ului, cum ar fi o dublă eliberare, o utilizare după eliberare sau o scriere în afara limitelor, pentru a manipula procesul de alocare a memoriei.

Mai departe, folosește un canal lateral de temporizare pentru a determina momentul exact al alocării/dealocării bucății de memorie, permițând atacatorului să prevadă și să controleze reutilizarea memoriei.

Folosind aceste informații de temporizare, crește succesul exploatării cross-change la 99%, făcând SLUBStick foarte practic.

Conversia deficienței heap-ului în primitivul arbitrar de citire și scriere a memoriei este făcută în trei pași:

Ca și în majoritatea atacurilor care implică un canal lateral, SLUBStick necesită acces local pe mașina țintă cu capacități de execuție a codului. În plus, atacul necesită prezența unei vulnerabilități a heap-ului în kernelul Linux, care va fi apoi folosită pentru a obține acces de citire și scriere la memorie.

Deși aceasta ar putea face ca atacul să pară impracticabil, introduce totuși unele beneficii pentru atacatori.

Chiar și pentru atacatorii cu capacități de execuție a codului, SLUBStick oferă posibilitatea de a obține escaladarea privilegiilor, a trece de apărările kernelului, a scăpa din containere sau a-l folosi ca parte a unei lanțuri de atacuri complexe.

Escaladarea privilegiilor poate fi folosită pentru a ridica privilegiile la root, permițând operațiuni nelimitate, în timp ce scăparea din container poate fi folosită pentru a ieși din medii izolate și a accesa sistemul gazdă.

În plus, în faza de post-exploatare, SLUBStick ar putea modifica structurile sau hook-urile kernelului pentru a menține persistența, făcând malware-ul mai dificil de detectat de către apărători.

Cei care doresc să se aprofundeze în SLUBStick și să experimenteze cu exploatațiile utilizate de cercetătorii de la Universitatea Graz pot găsi acestea în depozitul de pe GitHub al cercetătorului.

Leave a Reply

Your email address will not be published.