Vulnerabilità in i processori Intel chì porta à a fuga di dati attraversu canali di terzu

Un gruppu di circadori da l'università cinesi è americani hà identificatu una nova vulnerabilità in i prucessori Intel chì porta à a fuga di l'infurmazioni di terze parti nantu à u risultatu di l'esekzione speculativa di l'operazioni, chì pò esse usata, per esempiu, per urganizà un canale di cumunicazione oculatu trà processi o identificà fughe durante attacchi Meltdown.

L'essenza di a vulnerabilità hè chì un cambiamentu in u registru di u processatore EFLAGS chì si trova com'è u risultatu di l'esekzione speculativa di l'istruzzioni affetta u tempu d'esekzione sussegwente di l'istruzzioni JCC (saltà quandu e cundizioni specificate sò soddisfatte). L'operazioni speculative ùn anu micca cumpletu è u risultatu hè scartatu, ma u cambiamentu EFLAGS scartatu pò esse determinatu analizendu u tempu di esecuzione di l'istruzzioni JCC. L'operazioni di paragone realizate in modu speculativu prima di a transizione, se successu, risultatu in un picculu ritardu chì pò esse misuratu è utilizatu com'è segnu per a selezzione di cuntenutu.

Vulnerabilità in i processori Intel chì porta à a fuga di dati attraversu canali di terzu

A cuntrariu di l'altri attacchi di u canali laterali simili, u novu metudu ùn analizà micca i cambiamenti in u tempu d'accessu à i dati cache è uncached è ùn hà micca bisognu di una tappa per resettate u registru EFLAGS à u so statu iniziale, chì rende difficiuli di detectà è bluccà l'attaccu. Comu dimustrazione, i circadori implementanu una variante di l'attaccu Meltdown, utilizendu un novu metudu per ottene infurmazioni nantu à u risultatu di una operazione speculativa. U funziunamentu di u metudu per urganizà a fuga di l'infurmazioni durante l'attaccu Meltdown hè statu dimustratu cù successu in sistemi cù un CPU Intel Core i7-6700 è i7-7700 in un ambiente cù Ubuntu 22.04 è u kernel Linux 5.15. In un sistema cù un CPU Intel i9-10980XE, l'attaccu hè statu solu parzialmente realizatu.

A vulnerabilità di Meltdown hè basatu annantu à u fattu chì durante l'esekzione speculativa di l'istruzzioni, u processatore pò accede à una zona di dati privati ​​​​è poi scaccià u risultatu perchè i privilegii stabiliti pruibiscenu tali accessu da u prucessu di l'utilizatore. In u prugramma, u bloccu eseguitu speculatively hè siparatu da u codice principale da un ramu cundizionale, chì in cundizioni reali sempre u focu, ma per u fattu chì a dichjarazione cundizionale usa un valore calculatu chì u processatore ùn cunnosci micca durante l'esekzione preventiva di u codice, tutti l'opzioni di ramu sò realizati speculatively.

In a versione classica di Meltdown, postu chì a stessa cache hè aduprata per l'operazioni eseguite speculativamente cum'è per l'istruzzioni normalmente eseguite, hè pussibule durante l'esekzione speculativa per stabilisce marcatori in a cache chì riflettenu u cuntenutu di i bits individuali in una zona di memoria chjusa, è dopu. Determinà in u codice normalmente eseguitu u so significatu attraversu l'analisi di u tempu d'accessu à i dati in cache è uncached. A nova variante usa un cambiamentu in u registru EFLAGS cum'è marcatore di fuga. In a dimostrazione di u canali secreti, un prucessu hà modulatu i dati trasmessi per creà e cundizioni per cambià u cuntenutu di u registru EFLAGS, è un altru prucessu analizò u cambiamentu in u tempu d'esekzione di l'istruzzioni JCC per ricreà e dati trasmessi da u primu prucessu.

Source: opennet.ru

Add a comment