Scoperta una vulnerabilità nei nuovi chip Apple M1, identificata da Apple come CVE-2021-30747 e denominata M1racles. Il bug hardware, isolato da Hector Martin di Asahi Linux, consente a due app in esecuzione sullo stesso dispositivo di scambiare dati attraverso un canale nascosto a livello di CPU, senza utilizzare memoria, socket, file o altre normali funzionalità del sistema operativo.
Lo stesso ricercatore ha comunque abbassato i toni allarmistici della notizia, precisando che la gravità della vulnerabilità è molto bassa e non rappresenta un grave rischio per la sicurezza perché ci sono altri canali secondari per la fuga di dati. E ha inoltre sottolineato che il problema può essere risolto solo con una riprogettazione dei circuiti.
Indice degli argomenti
M1racles: la scoperta del bug hardware
La vulnerabilità è stata identificata mentre Martin stava lavorando al suo progetto principale di porting di Linux sulla CPU M1.
In pratica, lo scambio “segreto” di messaggi tra due applicazioni può avvenire tra processi in esecuzione associati a utenti diversi e con diversi livelli di privilegio, creando un canale nascosto per lo scambio di dati surrettizi.
Il ricercatore ha realizzato una PoC che dimostra l’approccio utilizzato per ottenere un trasferimento dati robusto e ad alta velocità, rendendola pubblica su GitHub. Questo approccio, senza troppe ottimizzazioni, può raggiungere velocità di trasferimento superiori a 1 MB/s o poco meno in caso di ridondanza dei dati.
Di fatto, la vulnerabilità viola il modello di sicurezza del sistema operativo perché non si dovrebbe poter inviare segretamente dati da un processo a un altro e nemmeno scrivere su registri di sistema della CPU dallo spazio utente.
Secondo lo scopritore si è trattato però di un errore umano di uno degli ingegneri Apple che ha infranto le specifiche ARM rimuovendo una funzione obbligatoria.
La vulnerabilità è stata segnalata al team di sicurezza del prodotto Apple, per un loro intervento risolutivo nei processori proprietari.
Invito ad una moderata preoccupazione
Lo sviluppatore e reverse engineer, nel riportare la notizia sul sito dedicato, ha tuttavia calmato gli animi e gli utenti, specificando che in pratica “nessuno troverà un uso nefasto per questo difetto perché esistono già molteplici canali laterali da utilizzare per la comunicazione cross-process cooperativa su ogni sistema come, ad esempio, i materiali della cache. I canali segreti non possono divulgare dati da app o da sistemi non cooperativi, ovvero i canali nascosti sono completamente inutili a meno che il sistema non sia già compromesso”.
In altre parole, lo scenario peggiore è che un malware nascosto nel sistema di un utente potrebbe utilizzare la vulnerabilità per comunicare segretamente con altri processi. È anche vero, però, che nel momento in cui un Mac venisse compromesso, è probabile che un utente malintenzionato non avrebbe comunque bisogno di usare questa vulnerabilità.
Ciononostante, Pierluigi Paganini, membro ENISA gruppo CTL e CEO CYBHORUS, fa notare come “normalmente vulnerabilità che derivano dal disegno logico di chip siano estremamente pericolose perché difficili da individuare, complesse e talvolta impossibili da risolvere, ed infine perché possono consentire l’esecuzione di codici malevoli a livello chip e quindi completamente trasparenti al sistema operativo ed ai principali sistemi di difesa”.
Secondo l’analista “la falla scoperta dal ricercatore è importante perché impatta i chip di nuova generazione che equipaggiano i sistemi Apple, tuttavia sotto il profilo del rischio è tutt’altro che preoccupante. Infatti, la vulnerabilità non si presta, in linea di principio, alla completa compromissione dei sistemi basati architettura M1, ma essendo relativa al disegno logico della circuiteria del chip può essere risolta solo mediante un’attività di revisione del progetto dei chip stessi”.
Il profilo della vulnerabilità M1racles
vulDB, noto sito Web specializzato nella raccolta delle informazioni sulle vulnerabilità scoperte, ha dedicato una pagina a questa vulnerabilità denominata Apple M1 Register S3_5_C15_C10_1 M1racles Access Control, dando conto dei dati aggiornati progressivamente sul costo degli exploit correlati e gli score CTI e CVSS.
Il codice specifico della vulnerabilità è CVE-2021-30747 considerata di livello critico in Apple M1. La definizione CWE per la vulnerabilità è CWE-264. Non è riportata perché definita “sconosciuta”, la precisa funzionalità del componente Register s3_5_c15_c10_1. Tuttavia, Hector Martin in una lunga lista di FAQ ha riportato le versioni dei sistemi interessati:
- utenti macOS: sono interessate almeno le versioni 11.0 e successive;
- utenti Linux: le versioni 5.13 e successive sono interessate;
- utenti di OpenBSD;
- utenti AmigaOS;
- utenti del sistema operativo Newton.
Per gli utenti iOS, Hector Martin precisa ulteriormente come siano presenti implicazioni uniche sulla privacy. Ad esempio, le app per tastiera non possono accedere a Internet, per motivi di privacy. Un’app per tastiera dannosa potrebbe utilizzare questa vulnerabilità per inviare il testo digitato dall’utente a un’altra app dannosa, che potrebbe quindi inviarlo a Internet.
In linea teorica, poiché le app iOS distribuite tramite l’App Store non sono autorizzate a creare codice in fase di esecuzione (JIT), Apple può scansionarle automaticamente al momento dell’invio e rilevare in modo affidabile qualsiasi tentativo di sfruttare questa vulnerabilità utilizzando l’analisi statica.
L’attacco può essere lanciato da remoto e la manipolazione porterebbe ad escalation dei privilegi (tecnica T1068 del MITRE ATT&CK) con impatti potenziali sulla riservatezza, l’integrità e la disponibilità dei dati.
Non sembra essere stato identificato ad oggi alcun exploit pubblicamente disponibile. Il prezzo ipotizzato da vulDB per un exploit potrebbe essere al momento di circa 5.000 – 25.000 dollari (stima calcolata il 26/05/2021 giorno dell’uscita della notizia).
Mitigare il bug M1racles in attesa della risoluzione
Il bug M1racles può essere mitigato nelle VM (poiché il registro risponde ancora ai controlli di accesso relativi alle VM). Quindi la soluzione suggerita per proteggersi è far girare l’intero sistema operativo su una macchina virtuale. Se non fosse stato così, l’impatto sarebbe stato più grave.
Di fatto, la vulnerabilità è incorporata nei chip Apple Silicon e non può essere risolta senza una nuova revisione hardware del silicio.
VulBd, invece, consiglia una sostituzione con un prodotto alternativo.
La lista completa delle FAQ e tutti i dettagli tecnici sono disponibili dal sito dedicato.