RISC-V è una ISA (Instruction Set Architecture) open source libera da royalty, progettata per essere modulare e flessibile. Questa apertura ha permesso a numerose aziende e sviluppatori di contribuire alla diffusione di hardware basato su RISC-V, promuovendo un ecosistema vivace e innovativo. Lo storico progettista di chip Jim Keller è coinvolto in prima persona nel design di nuovi dispositivi RISC-V e ha più volte celebrato i vantaggi di questa architettura, destinata a rompere il duopolio x86-64/ARM64.
Linus Torvalds ha da parte sua sostenuto che RISC-V soffrirà degli stessi problemi di x86 e ARM. Il “re pinguino” ha sottolineato che sebbene l’architettura sia relativamente nuova e svincolata dai “fardelli” del passato, lo scenario che si propone per gli anni a venire sarebbe qualcosa di già visto.
Vulnerabilità architetturale GhostWrite nelle CPU RISC-V: cos’è e qual è il suo impatto
Come ogni tecnologia emergente, anche RISC-V presenta delle sfide. La diversità e la rapidità di sviluppo delle implementazioni RISC-V hanno portato alla scoperta di vulnerabilità come GhostWrite, che mettono in luce la necessità di implementare rigidi controlli di sicurezza e svolgere verifiche più approfondite.
Un gruppo di ricercatori di CISPA Helmholtz Center for Information Security, istituto di ricerca tedesco, ha individuato una lacuna di sicurezza ad elevata criticità battezzata appunto GhostWrite.
La vulnerabilità in questione consente a un attaccante sprovvisto di privilegi di accedere liberamente alla memoria del sistema e controllare dispositivi periferici, compromettendo così l’integrità e la sicurezza di una vasta gamma di applicazioni.
GhostWrite, va detto, è una falla specifica dei processori T-Head XuanTie C910 e C920, due delle implementazioni più potenti e diffuse di RISC-V. La vulnerabilità fa leva su alcuni difetti nelle istruzioni che pilotano le estensioni vettoriali, progettate per migliorare le capacità di elaborazione parallela. La presenza del bug di sicurezza, permette di operare direttamente sulla memoria fisica, bypassando i meccanismi di isolamento dei processi normalmente applicati dai sistemi operativi.
Il meccanismo dell’attacco
Come spiegato in precedenza, un aggressore può sfruttare la vulnerabilità individuata per scrivere in qualsiasi posizione della memoria fisica del sistema. In questo modo è possibile bypassare completamente le funzionalità di sicurezza della CPU, dando all’attaccante accesso illimitato e non autorizzato. L’attaccante può inoltre modificare il comportamento delle periferiche hardware tramite MMIO (Memory-Mapped Input/Output), con la possibilità di inviare comandi dannosi.
L’attacco GhostWrite è altamente affidabile e può essere eseguito in pochi microsecondi, rendendo inefficaci le misure di sicurezza basate su containerizzazione o sandboxing. La gravità della vulnerabilità è tale che l’unica mitigazione efficace consiste nel disabilitare completamente la vector extension, con conseguenze significative sulle prestazioni della CPU.
Il problema di sicurezza venuto a galla, inoltre, non si inquadra nell’ambito degli attacchi side-channel ai processori: il problema è definito come ancor più grave perché trattasi di una vulnerabilità architetturale. Impossibile quindi da correggere tramite software.
L’impatto inoltre è importante perché GhostWrite coinvolge dispositivi che vanno dai sistemi personali ai server cloud basati su RISC-V: nella loro analisi, gli autori della scoperta condividono una lista di dispositivi vulnerabili.
Conclusioni
GhostWrite rappresenta un campanello d’allarme per l’industria dei semiconduttori, sottolineando l’importanza della sicurezza nella progettazione e implementazione delle CPU. Sebbene RISC-V offra immense potenzialità grazie alla sua natura aperta e flessibile, è cruciale adottare rigorosi controlli di sicurezza per prevenire vulnerabilità simili a quella appena venuta a galla.
La comunità svolge e rivestirà un ruolo essenziale per garantire che le future implementazioni di RISC-V siano sicure e affidabili.
Credit immagine in apertura: iStock.com – antoniokhr