Inginerul Google a propus protecția software a procesoarelor împotriva atacurilor LVI

Cu ceva timp în urmă s-a cunoscut o nouă vulnerabilitate în arhitectura speculativă a procesoarelor Intel, care a fost numită Injectarea valorii de încărcare (LVI). Intel are propria sa opinie despre pericolele LVI și recomandări pentru a-l atenua. Propria ta versiune de protecție împotriva unor astfel de atacuri El a oferit inginer la Google. Dar va trebui să plătiți pentru securitate prin reducerea performanței procesorului cu o medie de 7%.

Inginerul Google a propus protecția software a procesoarelor împotriva atacurilor LVI

Am observat mai devreme că pericolul LVI nu constă în mecanismul specific descoperit de cercetători, ci în însuși principiul atacului LVI pe canalul lateral, care a fost demonstrat pentru prima dată. Astfel, s-a deschis o nouă direcție pentru amenințări pe care nimeni nu le bănuise anterior (cel puțin, acest lucru nu s-a discutat în spațiul public). Prin urmare, valoarea dezvoltării specialistului Google Zola Bridges constă în faptul că patch-ul său atenuează pericolul unor noi atacuri chiar necunoscute bazate pe principiul LVI.

Anterior în GNU Project Assembler (GNU Assembler) au fost efectuate modificări care reduc riscul vulnerabilității LVI. Aceste modificări au constat în adăugarea instrucțiuni de barieră LFENCE, care a stabilit o secvență strictă între accesările la memorie înainte și după barieră. Testarea patch-ului pe unul dintre procesoarele Intel din generația Kaby Lake a arătat o scădere a performanței de până la 22%.

Dezvoltatorul Google și-a propus patch-ul cu adăugarea de instrucțiuni LFENCE la setul de compilatori LLVM și a numit protecția SESES (Speculative Execution Side Effect Suppression). Opțiunea de protecție pe care a propus-o atenuează atât amenințările LVI, cât și altele similare, de exemplu, Spectre V1/V4. Implementarea SESES permite compilatorului să adauge instrucțiuni LFENCE în locații adecvate în timpul generării codului mașină. De exemplu, introduceți-le înaintea fiecărei instrucțiuni pentru citirea din memorie sau scrierea în memorie.

Instrucțiunile LFENCE împiedică preempționarea tuturor instrucțiunilor ulterioare până la finalizarea citirilor anterioare din memorie. Evident, acest lucru afectează performanța procesoarelor. Cercetătorul a descoperit că, în medie, protecția SESES a redus viteza de finalizare a sarcinilor folosind biblioteca protejată cu 7,1%. Intervalul de reducere a productivității în acest caz a variat de la 4 la 23%. Prognoza inițială a cercetătorilor a fost mai pesimistă, cerând o scădere de până la 19 ori a performanței.



Sursa: 3dnews.ru

Adauga un comentariu