Un grup de cercetători de la Universitatea Tehnică din Graz (Austria) și Centrul Helmholtz pentru Securitatea Informației (CISPA), () un nou vector pentru utilizarea atacurilor pe canal lateral (L1TF), care vă permite să extrageți date din memoria enclavelor Intel SGX, SMM (System Management Mode), zone de memorie ale nucleului OS și mașini virtuale din sistemele de virtualizare. Spre deosebire de atacul inițial propus în 2018 Noua variantă nu este specifică procesoarelor Intel și afectează procesoarele de la alți producători precum ARM, IBM și AMD. În plus, noua variantă nu necesită performanțe ridicate și atacul poate fi efectuat chiar și prin rularea JavaScript și WebAssembly într-un browser web.
Atacul Foreshadow profită de faptul că atunci când memoria este accesată la o adresă virtuală care are ca rezultat o excepție (defecțiune a paginii terminale), procesorul calculează în mod speculativ adresa fizică și încarcă datele dacă sunt disponibile în cache-ul L1. Accesul speculativ este efectuat înainte de finalizarea căutării în tabelul paginii de memorie și indiferent de starea intrării în tabelul paginii de memorie (PTE), adică. înainte de a verifica prezenţa datelor în memoria fizică şi lizibilitatea acestora. După finalizarea verificării disponibilității memoriei, în absența indicatorului Prezent în PTE, operația este renunțată, dar datele rămân în cache și pot fi preluate folosind metode de determinare a conținutului cache-ului prin canale laterale (prin analizarea modificărilor timpului de acces). la datele din cache și necache).
Cercetătorii au arătat că metodele existente de protecție împotriva Foreshadow sunt ineficiente și sunt implementate cu o interpretare incorectă a problemei. Vulnerabilitate
Foreshadow poate fi exploatat indiferent de mecanismele de protecție considerate anterior suficiente ale kernelului. În cele din urmă, cercetătorii au demonstrat fezabilitatea efectuării unui atac Foreshadow asupra sistemelor cu kerneluri relativ vechi care au toate modurile de protecție Foreshadow disponibile activate, precum și asupra kernelurilor mai noi care au doar protecția Spectre-v2 dezactivată (folosind opțiunea kernel) Linux nospectre_v2).
S-a descoperit că nu are legătură cu instrucțiunile de preluare prealabilă a software-ului sau efectul hardware
preluare în timpul accesului la memorie, dar apare atunci când dereferențele speculative ale spațiului utilizatorului se înregistrează în nucleu. Această interpretare greșită a cauzei vulnerabilității a condus inițial la presupunerea că scurgerea de date în Foreshadow ar putea avea loc numai prin cache-ul L1, în timp ce prezența anumitor fragmente de cod (gadget de preluare preliminară) în kernel ar putea contribui la scurgerea de date în afara cache-ului L1, de exemplu, în cache L3.
Caracteristica identificată deschide, de asemenea, posibilitatea de a crea noi atacuri care vizează procesele de traducere a adreselor virtuale în cele fizice în medii izolate și de determinare a adreselor și datelor stocate în registrele CPU. Ca demonstrație, cercetătorii au arătat posibilitatea utilizării efectului identificat pentru a extrage date de la un proces la altul cu o performanță de aproximativ 10 biți pe secundă pe un sistem cu un procesor Intel Core i7-6500U. Este afișată și posibilitatea de a scurge conținutul registrului din enclava Intel SGX (a durat 32 minute pentru a determina o valoare de 64 de biți scrisă într-un registru de 15 de biți). Unele tipuri de atacuri s-au dovedit a fi posibil de implementat în JavaScript și WebAssembly, de exemplu, a fost posibilă determinarea adresei fizice a unei variabile JavaScript și completarea registrelor de 64 de biți cu o valoare controlată de atacator.
Pentru a bloca atacul Foreshadow prin cache-ul L3, metoda de protecție Spectre-BTB (Branch Target Buffer) implementată în setul de patch-uri retpoline este eficientă. Astfel, cercetătorii consideră că este necesar să se lase retpoline activat chiar și pe sistemele cu procesoare noi care au deja protecție împotriva vulnerabilităților cunoscute în mecanismul de execuție speculativă a CPU. În același timp, reprezentanții Intel au declarat că nu intenționează să adauge procesoarelor măsuri suplimentare de protecție împotriva Foreshadow și consideră că este suficient să includă protecție împotriva atacurilor Spectre V2 și L1TF (Foreshadow).
Sursa: opennet.ru
