UPGRD

Tutte le ultime notizie tech e non

sicurezza informatica

Scoperta una Grave Vulnerabilità nei CPU RISC-V: Cosa Devi Sapere

By ,

Vulnerabilità GhostWrite nei CPU RISC-V

Recentemente, è emersa una vulnerabilità critica nota come GhostWrite nel T-Head XuanTie C910, uno dei più performanti CPU RISC-V attualmente disponibili. Questo bug, a differenza di attacchi di tipo side-channel o transient-execution, è un errore diretto del processore stesso.

Come Funzionano i Sistemi Operativi Moderni

I moderni sistemi operativi collaborano con la CPU per mantenere ogni processo isolato dagli altri. Per raggiungere questo obiettivo, il sistema operativo suddivide la memoria fisica in spazi di memoria virtuale separati, uno per ogni processo. Questo meccanismo garantisce che ogni processo possa accedere solo alla propria memoria virtuale, evitando interferenze.

Architettura dell'Insieme di Istruzioni (ISA)

Il comportamento di una CPU è definito da un'architettura dell'insieme di istruzioni (ISA), che specifica le istruzioni assembly valide. Attualmente, il mercato delle CPU è dominato da due specifiche ISA: x86 e ARM, controllate da poche aziende. Questo limita la libertà di progettazione per altre aziende, poiché l'uso o la modifica di queste ISA richiede licenze costose e restrizioni. Al contrario, RISC-V è un'architettura open-source che chiunque può utilizzare e contribuire senza restrizioni, favorendo un ecosistema in continua espansione.

Il Bug GhostWrite

Il bug GhostWrite si manifesta attraverso istruzioni difettose nella sua estensione vettoriale, progettata per gestire valori di dati più grandi rispetto all'ISA di base. Queste istruzioni difettose interagiscono direttamente con la memoria fisica, eludendo l'isolamento dei processi normalmente garantito dal sistema operativo e dall'hardware. Ciò consente a un attaccante non privilegiato di scrivere in qualsiasi posizione di memoria, bypassando completamente le funzionalità di sicurezza.

Esempi di Sfruttamento di GhostWrite

Due exploit di prova dimostrano cosa può fare GhostWrite. Nel primo exploit, viene utilizzato per modificare la syscall del kernel, consentendo l'accesso root senza richiesta di password. Un video dimostra come GhostWrite possa essere utilizzato per patchare la syscall getuid del kernel. Sebbene GhostWrite possa solo scrivere in memoria, può essere sfruttato per creare una funzione di lettura modificando le tabelle di pagina in memoria. Questo consente all'attaccante di ottenere un indirizzo virtuale accessibile per qualsiasi indirizzo fisico.

Il secondo exploit mostra come questa funzione di lettura possa rivelare contenuti di memoria da un sistema. L'attaccante può riempire la memoria fisica con tabelle di pagina e, una volta modificata una di queste tabelle utilizzando GhostWrite, può leggere direttamente password segrete dalla memoria fisica.

Scoperta della Vulnerabilità

GhostWrite è stato scoperto analizzando istruzioni documentate e non documentate tramite un metodo chiamato differential fuzz-testing per CPU. Questo approccio consiste nel generare piccoli programmi, eseguirli su diverse CPU e confrontare i risultati. Quando i risultati differiscono, ciò suggerisce un problema in una delle CPU.

Chi è Colpito da Questa Vulnerabilità?

La maggior parte degli utenti non è direttamente colpita. Solo coloro che utilizzano hardware RISC-V vulnerabile, come i computer a scheda singola basati su C910 o soluzioni di cloud computing multi-utente, sono a rischio. Anche se non si è colpiti direttamente, è probabile che si interagisca in futuro con dispositivi vulnerabili.

Mitigazione della Vulnerabilità

Non esistono aggiornamenti software o patch in grado di risolvere questa vulnerabilità hardware. L'unica mitigazione consiste nel disabilitare l'estensione vettoriale nella CPU, il che impatta significativamente le prestazioni. I fornitori di servizi cloud dovrebbero disabilitare questa estensione sui CPU vulnerabili e informare i clienti riguardo all'impatto sulle prestazioni.

Impatti sulle Prestazioni

Disabilitare l'estensione vettoriale riduce notevolmente le prestazioni della CPU, specialmente per compiti che beneficiano dell'elaborazione parallela. Le applicazioni che dipendono fortemente da queste funzionalità potrebbero subire rallentamenti significativi. Nei benchmark effettuati, si è registrato un sovraccarico fino al 33% quando l'estensione vettoriale è stata disabilitata.

Conclusioni

GhostWrite non è un problema intrinseco all'ISA RISC-V, ma è specifico del design della CPU T-Head XuanTie C910. Esistono molte altre CPU RISC-V che non presentano questa vulnerabilità. La scoperta di GhostWrite sottolinea l'importanza di una continua vigilanza nella sicurezza hardware, specialmente in un'era in cui la tecnologia open-source sta guadagnando terreno.

Domande Frequenti

  • GhostWrite è un attacco side-channel? No, è un bug architetturale.
  • Ci sono prove di sfruttamento di questa vulnerabilità? Finora non ci sono segnalazioni di sfruttamento in ambienti reali.
  • Cosa ha dichiarato T-Head? Hanno riconosciuto e riprodotto il bug, ma non sono a conoscenza di commenti pubblici o mitigazioni pianificate.

FAQ

Cos'è la vulnerabilità GhostWrite?

GhostWrite è una vulnerabilità critica nel T-Head XuanTie C910, una CPU RISC-V, che consente a un attaccante non privilegiato di scrivere in qualsiasi posizione di memoria, eludendo l'isolamento dei processi.

Come funziona l'isolamento dei processi nei moderni sistemi operativi?

I moderni sistemi operativi isolano i processi suddividendo la memoria fisica in spazi di memoria virtuale separati, garantendo che ogni processo possa accedere solo alla propria memoria.

Qual è la differenza tra RISC-V e altre architetture come x86 e ARM?

RISC-V è un'architettura open-source che può essere utilizzata liberamente, mentre x86 e ARM sono controllate da poche aziende e richiedono licenze costose per l'uso o la modifica.

In che modo GhostWrite può essere sfruttato?

GhostWrite può essere sfruttato per modificare la syscall del kernel, consentendo accesso root senza password, e per leggere contenuti di memoria, come password segrete, da un sistema vulnerabile.

Come è stata scoperta la vulnerabilità GhostWrite?

La vulnerabilità è stata scoperta tramite un metodo chiamato differential fuzz-testing, che confronta i risultati di piccoli programmi eseguiti su diverse CPU.

Chi è colpito dalla vulnerabilità GhostWrite?

Solo gli utenti che utilizzano hardware RISC-V vulnerabile, come i computer a scheda singola basati su C910 o soluzioni di cloud computing multi-utente, sono a rischio.

Quali sono le opzioni di mitigazione per GhostWrite?

L'unica mitigazione consiste nel disabilitare l'estensione vettoriale nella CPU, il che impatta significativamente le prestazioni, poiché non esistono aggiornamenti software o patch per risolvere la vulnerabilità.

Qual è l'impatto sulle prestazioni disabilitando l'estensione vettoriale?

Disabilitare l'estensione vettoriale può ridurre notevolmente le prestazioni della CPU, con un sovraccarico fino al 33% nei benchmark, specialmente per compiti che beneficiano dell'elaborazione parallela.

GhostWrite è un problema intrinseco all'architettura RISC-V?

No, GhostWrite è specifico del design della CPU T-Head XuanTie C910 e non rappresenta un problema per altre CPU RISC-V che non presentano questa vulnerabilità.

Ci sono segnalazioni di sfruttamento di GhostWrite in ambienti reali?

Finora non ci sono segnalazioni di sfruttamento della vulnerabilità GhostWrite in ambienti reali.