Le vulnerabilità di sicurezza delle CPU AMD e Intel portano a patch per Linux

Vulnerabilities in AMD and Intel CPUs lead to Linux patches.

Non è realmente un problema di Linux, ma come accade spesso, gli sviluppatori del kernel Linux devono fare pulizia dopo AMD e Intel. È successo di nuovo con le ultime vulnerabilità dei processori: AMD Inception e Intel Downfall. Per risolvere questi problemi, il creatore di Linux, Linus Torvalds, ha rilasciato un nuovo set di patch.

Curiosamente, entrambi sono attacchi speculativi a canale laterale, che possono portare alla divulgazione di dati privilegiati a processi non privilegiati. Torvalds li ha descritti come “un altro problema in cui lo spazio utente avvelena una struttura microarchitetturale che può poi essere utilizzata per rivelare informazioni privilegiate attraverso un canale laterale”.

Inoltre: Come scegliere la distribuzione desktop Linux giusta per te

Vi suona familiare? Lo sarà per gli esperti di sicurezza di Linux. Sì, è un altro esempio del tipo di vulnerabilità di sicurezza che hanno reso famosi Meltdown e Spectre di Intel nei circoli di Linux. Fortunatamente, a differenza di quei due casi precedenti, gli sviluppatori questa volta sapevano già da tempo che c’erano problemi con il silicio, quindi le patch sono state rilasciate prima che venissero scoperte le ultime falle.

In questa recente integrazione, Torvalds e la sua squadra hanno incorporato misure lato kernel che contrastano la vulnerabilità di stack di indirizzi di ritorno speculativo (RAS) di AMD per le sue architetture Zen 3 e Zen 4. Questa vulnerabilità consente allo spazio utente di contaminare una struttura microarchitetturale, che successivamente può essere sfruttata per sottrarre informazioni privilegiate tramite un canale laterale.

AMD dirà che non è così grave: il colosso dei chip ritiene che questa vulnerabilità sia solo potenzialmente sfruttabile localmente, ad esempio tramite malware scaricato. Tuttavia, AMD “raccomanda ai clienti di adottare le migliori pratiche di sicurezza, inclusa l’esecuzione di software e strumenti di rilevamento malware aggiornati”.

Tuttavia, i ricercatori di sicurezza dell’ETH di Zurigo che hanno scoperto la falla non sono così ottimisti. Ritengono che Inception potrebbe essere utilizzata da un attaccante nel cloud computing, dove i clienti condividono comunemente le stesse risorse hardware di elaborazione.

I ricercatori affermano che Inception è una nuova classe di attacchi di esecuzione transitoria che utilizza l’addestramento nell’esecuzione transitoria (TTE). Invece di tentare di rivelare dati in una finestra transitoria, gli attacchi TTE abusano della finestra transitoria per inserire nuove previsioni nel predittore di ramo. Abbinato al Phantom, che è un modo per innescare finestre transitorie da istruzioni arbitrarie, Inception può essere un modo spiacevole per rubare dati privati.

Inoltre: Se stai cercando di migliorare la sicurezza del tuo computer desktop, Linux potrebbe essere la scelta migliore

In modo divertente, Peter Zijlstra, veterano sviluppatore del kernel Linux, affiliato ad Intel, ha perfezionato le patch di AMD. È un po’ ironico assistere a un ingegnere Intel che guida il perfezionamento del codice di mitigazione AMD nel kernel. Benvenuti nello spirito della comunità open source!

Gli sviluppatori del kernel Linux hanno anche affrontato la vulnerabilità dell’Intel Gather Data Sampling (GDS), nota come Downfall. Questa particolare vulnerabilità colpisce i processori Intel Core dalla sesta generazione Skylake alla undicesima generazione Tiger Lake. In breve, è probabile che il tuo PC, i tuoi server e i tuoi processori cloud siano tutti vulnerabili.

Secondo Daniel Moghimi, il ricercatore senior di Google che ha scoperto Downfall, “La vulnerabilità è causata da funzionalità di ottimizzazione della memoria nei processori Intel che rivelano involontariamente registri hardware interni al software. Ciò consente a software non attendibile di accedere a dati memorizzati da altri programmi, ai quali normalmente non si dovrebbe avere accesso”.

Quindi, quanto è grave? Moghimi ha dimostrato che un exploit può essere utilizzato per rubare chiavi di sicurezza e password di un altro utente. Peggio ancora, tali attacchi sono “altamente praticabili”, osserva Moghimi. “Mi sono bastate due settimane per sviluppare un attacco completo che ruba chiavi di crittografia da OpenSSL. Richiede solo che l’attaccante e la vittima condividano lo stesso core del processore fisico, cosa che avviene frequentemente sui computer moderni che implementano il multitasking preemptive e il multithreading simultaneo”.

Inoltre: AMD vs Intel: quale processore desktop è giusto per te?

Le estensioni di sicurezza del software Intel (SGX), una funzionalità di sicurezza hardware Intel disponibile su CPU Intel per proteggere i dati degli utenti da software dannosi, sono anche impotenti di fronte a questa vulnerabilità.

Per alcuni utenti, la soluzione potrebbe sembrare più problematica del problema stesso. Secondo Intel, alcuni carichi di lavoro potrebbero subire fino al 50% di rallentamento. Un rallentamento considerevole! Tuttavia, Moghimi avverte: “Questa è una cattiva idea. Anche se il tuo carico di lavoro non utilizza istruzioni vettoriali, le CPU moderne si basano sui registri vettoriali per ottimizzare operazioni comuni, come la copia di memoria e il cambio di contenuto dei registri.”

Tuttavia, per Linux, il rallentamento potrebbe non essere così grave. Michael Larabel, ingegnere software Linux e direttore editoriale del sito Linux hardcore Phoronix, ha testato le correzioni di Downfall. Larabel ha scoperto che invece di influire su I/O o interazioni tra spazio utente e kernel – come le correzioni per Meltdown, Spectre e le relative vulnerabilità – la correzione di Downfall impatta solo il software legato allo spazio utente. Ha anche scoperto che sebbene il calo delle prestazioni tendesse ad essere meno grave di quanto previsto da Intel, ci sono comunque alcune significative decelerazioni.

Le correzioni di sicurezza di Linux sono state incorporate nel Git di Linux per il prossimo kernel Linux 6.5. Le ultime versioni stabili che includono queste correzioni sono Linux 6.4.9, 6.1.44, 5.15.125, 5.10.189, 4.19.290 e 4.14.321. Queste versioni comprendono la serie stabile corrente di Linux 6.4 e le serie di kernel supportate a lungo termine (LTS).

Inoltre: I migliori computer all-in-one: Mac, Lenovo e altro a confronto

Le correzioni agevolano la segnalazione dello stato delle vulnerabilità dell’esecuzione speculativa della CPU e introducono nuovi controlli per modificare il loro comportamento in combinazione con l’ultimo microcodice della CPU. Naturalmente, per far funzionare queste correzioni, devi anche installare gli aggiornamenti del microcodice AMD e Intel.

Quindi, cosa dovresti fare? Preparati a installare il nuovo microcodice non appena sarà disponibile. Quindi, procedi con l’applicazione delle correzioni ai tuoi sistemi Linux man mano che diventano disponibili. Questo non sarà un grosso problema per gli utenti desktop Linux, ma lo sarà per coloro che eseguono Linux sui propri server e cloud.