Le vulnerabilità della CPU sono state di gran moda di recente, con Zenbleed e Downfall che sono due recenti. Ma quanto dovresti essere preoccupato?
Le vulnerabilità della CPU sono entrate e uscite dalle notizie negli ultimi anni e spesso arrivano con un messaggio piuttosto spaventoso quando si tratta di divulgarle. In caso di Zenbleed E Caduta, era che qualsiasi applicazione sul tuo computer potesse accedere alla memoria di qualsiasi altro programma in esecuzione nelle giuste circostanze. Sembra intenso, vero?
Tuttavia, non è così grave come sembra. Ovviamente è abbastanza significativo da giustificare la divulgazione e un aggiornamento del software per correggere gli errori, anche a scapito delle prestazioni, ma cosa sta esattamente causando questi problemi di sicurezza? Dovresti essere preoccupato?
Dovresti essere preoccupato per le vulnerabilità della CPU come Zenbleed, Downfall e Inception?
Ad essere onesti, nessuno di questi exploit colpisce la stragrande maggioranza delle persone. Anche se possono far trapelare dati da un programma all'altro, qualsiasi malware presente sul computer di un consumatore dispone già di un elevato livello di accesso di cui può abusare. Dove invece questi attacchi risultano particolarmente preoccupanti è nei contesti del cloud computing.
Per comprendere il problema, è necessario capire che molti server cloud diversi sono semplicemente computer con molta potenza, un'ampia larghezza di banda di rete e qualche altro hardware specializzato se necessario. Molte aziende noleggiano quello che viene chiamato VPS, o server privato virtuale, che sono macchine virtualizzate con potenza limitata verso cui potrebbero correre dozzine di altre macchine virtuali.
Il punto in cui questo può rappresentare un problema è che una persona su una macchina virtuale potrebbe eseguire uno di questi vulnerabilità, ottenendo informazioni su quali dati stanno fluendo attraverso il processore, inclusi i dati provenienti da altri macchine virtuali. Ciò non dovrebbe essere possibile e rappresenta una grave violazione della sicurezza. Ecco perché quando è stato rivelato Zenbleed c'erano già delle patch per i processori Epyc di AMD, mirate all'utilizzo dei server.
Le vulnerabilità della CPU più gravi attualmente
Lo standard di settore per la "classificazione" delle vulnerabilità e la loro gravità avviene tramite il Common Vulnerability Scoring System (CVSS). Fornisce una misura quantitativa della gravità, poiché i diversi aspetti della vulnerabilità influenzeranno il punteggio. Si misura tenendo conto di quanto segue:
- Vettore di attacco: Rete/Adiacente/Locale/Fisico
- Attaccare la complessità: Basso alto
- Privilegi richiesti: Nessuno/Basso/Alto
- Interazione dell'utente: Nessuno/Obbligatorio
- Scopo: Invariato/Modificato
- Riservatezza: Nessuno/Basso/Alto
- Integrità: Nessuno/Basso/Alto
- Disponibilità: Nessuno/Basso/Alto
Tutti questi classificano la gravità di un bug. Ad esempio, una vulnerabilità che può essere eseguita su una rete con bassa complessità, senza privilegi richiesti, senza interazione con l'utente, con un ambito modificato, l'elevata perdita di riservatezza dei dati, l'elevata violazione dell'integrità dei dati e l'elevato impatto sulla disponibilità otterranno un punteggio perfetto di 10 in CVSS 3.1, il punteggio più alto possibile.
In base a questo parametro, possiamo valutare il danno di cui Zenbleed e Downfall sono capaci. Spoiler: sono gli stessi, sebbene influenzino CPU diverse. Pertanto, mentre segnano un certo importo Nel contesto delle vulnerabilità, queste possono interessare diverse quantità di prodotti e ciò non avrà alcun impatto sui loro punto. I punteggi CVSS servono essenzialmente solo per il triage ma non raccontano la storia completa.
Zenbleed: 6,5 (medio)
- Vettore di attacco: Locale
- Attaccare la complessità: Basso
- Privilegi richiesti: Basso
- Interazione dell'utente: Nessuno
- Scopo: Cambiato
- Riservatezza: Alto
- Integrità: Nessuno
- Disponibilità: Nessuno
Spiegazione: Il vettore di attacco richiede l'accesso locale alla macchina (ovvero, viene eseguito sulla macchina) e non ha alcun impatto sull'integrità dei dati sulla macchina o sulla sua disponibilità. Tuttavia, cambia l’ambito (il che significa che ha un impatto sulle risorse oltre i suoi privilegi) e la complessità dell’attacco, e i privilegi richiesti per l’esecuzione sono bassi. Inoltre viola totalmente la riservatezza delle informazioni sulla macchina.
Caduta: 6,5 (medio)
- Vettore di attacco: Locale
- Attaccare la complessità: Basso
- Privilegi richiesti: Basso
- Interazione dell'utente: Nessuno
- Scopo: Cambiato
- Riservatezza: Alto
- Integrità: Nessuno
- Disponibilità: Nessuno
Spiegazione: Il vettore di attacco richiede l'accesso locale alla macchina (ovvero, viene eseguito sulla macchina) e non ha alcun impatto sull'integrità dei dati sulla macchina o sulla sua disponibilità. Tuttavia, cambia l’ambito (il che significa che ha un impatto sulle risorse oltre i suoi privilegi) e la complessità dell’attacco, e i privilegi richiesti per l’esecuzione sono bassi. Inoltre viola totalmente la riservatezza delle informazioni sulla macchina.
Inizio: 5,6 (medio)
- Vettore di attacco: Locale
- Attaccare la complessità: Alto
- Privilegi richiesti: Basso
- Interazione dell'utente: Nessuno
- Scopo: Cambiato
- Riservatezza: Alto
- Integrità: Nessuno
- Disponibilità: Nessuno
Spiegazione: Il vettore di attacco richiede l'accesso locale alla macchina (ovvero, viene eseguito sulla macchina) e non ha alcun impatto sull'integrità dei dati sulla macchina o sulla sua disponibilità. Tuttavia, cambia la portata (il che significa che ha un impatto sulle risorse oltre i suoi privilegi), la complessità dell’attacco è elevata e i privilegi richiesti per l’esecuzione sono bassi. Inoltre viola totalmente la riservatezza delle informazioni sulla macchina.
Spettro: 5,6 (medio) (rattoppato)
Lo spettro, pur essendo un fenomeno più diffuso, in realtà segna meno di Zenbleed e Downfall. Questo grazie al fatto che la complessità dell'attacco è stata soprannominata "Alta", cosa che ha abbassato il suo punteggio.
- Vettore di attacco: Locale
- Attaccare la complessità: Alto
- Privilegi richiesti: Basso
- Interazione dell'utente: Nessuno
- Scopo: Cambiato
- Riservatezza: Alto
- Integrità: Nessuno
- Disponibilità: Nessuno
Spiegazione: Il vettore di attacco richiede l'accesso locale alla macchina (ovvero, viene eseguito sulla macchina) e non ha alcun impatto sull'integrità dei dati sulla macchina o sulla sua disponibilità. Tuttavia, cambia la portata (il che significa che ha un impatto sulle risorse oltre i suoi privilegi), la complessità dell’attacco è elevata e i privilegi richiesti per l’esecuzione sono bassi. Inoltre viola totalmente la riservatezza delle informazioni sulla macchina.
Fusione: 5,6 (medio) (rattoppato)
Come Spettro, Meltdown ottiene un punteggio inferiore a Zenbleed e Downfall, a causa della maggiore complessità di attacco richiesta.
- Vettore di attacco: Locale
- Attaccare la complessità: Alto
- Privilegi richiesti: Basso
- Interazione dell'utente: Nessuno
- Scopo: Cambiato
- Riservatezza: Alto
- Integrità: Nessuno
- Disponibilità: Nessuno
Spiegazione: Il vettore di attacco richiede l'accesso locale alla macchina (ovvero, viene eseguito sulla macchina) e non ha alcun impatto sull'integrità dei dati sulla macchina o sulla sua disponibilità. Tuttavia, cambia la portata (il che significa che ha un impatto sulle risorse oltre i suoi privilegi), la complessità dell’attacco è elevata e i privilegi richiesti per l’esecuzione sono bassi. Inoltre viola totalmente la riservatezza delle informazioni sulla macchina.
La causa principale: la previsione dei rami
Fonte: AMD
La previsione dei rami e l'esecuzione speculativa si riferiscono in generale al momento in cui il computer esegue operazioni che non sono necessarie al momento ma che lo saranno nei cicli successivi. Viene spesso eseguito nei momenti in cui il sistema dispone di risorse libere poiché accelera l'elaborazione complessiva quando altrimenti le istruzioni o i dati non sarebbero ancora pronti per la CPU. Se il lavoro svolto non è necessario, in genere viene scartato e il processore può tornare indietro dove necessario per eseguire la successiva istruzione corretta. Quando lo fa, si parla di previsione errata del ramo.
Per una comprensione più approfondita dei predittori di diramazione, immagina uno scenario in cui un programma aggiunge costantemente gli stessi due numeri durante la sua esecuzione. Ad un certo punto, il processore potrebbe riconoscere questo modello e preparare i passaggi successivi nel caso in cui il metodo in cui vengono aggiunti questi due numeri venga richiamato nuovamente. Se il risultato cambia ad un certo punto, anche se il processore ha pianificato che gli stessi due numeri siano uguali, allora l'ipotesi verrà scartata e sostituita dal flusso di esecuzione effettivo. Tuttavia, per il momento quei numeri Sono lo stesso, il processore può saltare rapidamente queste istruzioni.
Ci sono molti problemi quando si tratta di esecuzione speculativa, tuttavia, e vulnerabilità come Spectre, Zenbleed, Downfall e altre ne sono il risultato. È una funzionalità potente a cui dobbiamo gran parte delle prestazioni delle CPU moderne, ma è uno degli obiettivi principali quando i ricercatori cercano le vulnerabilità nelle CPU.
Mitigazione: un inibitore delle prestazioni
Mitigare queste vulnerabilità è della massima importanza, ma il problema è che queste mitigazioni spesso mettono a dura prova le prestazioni. Nel caso del più recente Zenbleed di AMD, la mitigazione potrebbe comportare enormi costi prestazionali.
La ragione di ciò è che l'unico vero modo per aggirare il problema è disabilitare o modificare il comportamento del predittore di ramo nel processore interessato. Lo stesso calo di prestazioni può essere riscontrato nelle mitigazioni per Downfall di Intel, con i primi rapporti che suggeriscono un impatto sulle prestazioni fino al 39%. Giochi epici una volta notoriamente condiviso Grafici sull'utilizzo della CPU una volta rivelata la vulnerabilità Meltdown e l'impatto che tali mitigazioni hanno avuto sull'utilizzo della CPU da parte dell'azienda. C'è stato un notevole aumento nell'utilizzo della CPU, come ci si aspetterebbe. Il punto in cui le cose si fanno spaventose è con la correzione di Inception di AMD, è stato riscontrato che le prestazioni diminuiscono fino al 54%.
Poiché vulnerabilità come questa influiscono sulle funzionalità fondamentali del processore, è difficile risolverle davvero a parte disabilitare o mutilare gravemente le funzionalità principali. L’esecuzione speculativa è incredibilmente importante e queste mitigazioni saranno avvertite da molte persone. Le prestazioni di gioco sono meno prevedibili, quindi se l'utilizzo principale del tuo PC è il gioco, potresti esserlo va bene perché il tuo computer non può fare tante previsioni, ma questi problemi diventano molto più grandi sistemi.
I futuri processori sono interessati?
Per fortuna, nel caso di Intel Downfall e Zenbleed, questi exploit colpiscono i processori più vecchi. Processori più recenti di entrambe le società sono al sicuro e per ora non c'è nulla di cui preoccuparsi. Una riprogettazione significativa è solitamente ciò che risolve questi problemi. Ad esempio, Spectre ha influenzato le CPU Intel di ottava e nona generazione, ma la nona generazione incorporava una versione hardware delle correzioni software implementate, completo del successo in termini di prestazioni. La decima generazione di Intel era ancora sicura, ma non aveva più alcun impatto sulle prestazioni derivante da tali misure di mitigazione.
Di conseguenza, dato che sia Downfall che Zenbleed erano già stati corretti nelle versioni più recenti dei rispettivi processori, gli utenti non hanno molto di cui preoccuparsi. Naturalmente, possono sempre essere scoperte altre vulnerabilità, ma a questo punto sei al sicuro.