L’intoccabile chip M1 firmato Apple, ha trovato un nemico degno di nota, in grado di smuovere le sue mura di protezione molto potenti. Ecco di che cosa si tratta.
È stata ribattezzata M1racles la vulnerabilità identificata nei nuovi processori Apple M1, che riprende il nome del chip in questione, l’ultima prodigy di Apple.
Lo scopritore si chiama Hector Martin e la falla è stata da lui battezzata M1racles (M1ssing Register Access Controls Leak EL0 State) 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.
I dettagli del problema, che è stato per tempo rivelato a Apple, sono descritti sul sito a esso dedicato, ma la parte più interessante è il modo in cui Martin ha deciso di rivelare la propria scoperta.
Ha infatti assegnato un nome alla falla, ha creato un sito a essa dedicato e poi ha tranquillamente ammesso che le possibilità che sia usata per fare danni sono estremamente remote.
Certamente, in un computer già compromesso del malware può approfittare di M1racles ma, in condizioni normali, essa non facilita l’operato dei criminali informatici.
LEGGI ANCHE: iPad con chip M1, com’è fatto e come funziona l’iPad che somiglia ad un MacBook
Come funziona M1RACLES
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.
Apple è ovviamente già al lavoro per isolare questo bug e riformatore il chip M1 per eliminare l’errore che consente alla falla di rimanere aperta.
LEGGI ANCHE: Apple Music fa un passo avanti: in arrivo l’audio 3D e l’alta fedeltà
Perchè non ignorare la vulnerabilità
Perché quindi montare il caso?
Per evidenziare come, almeno dall’apparizione delle falle nei processori Intel in avanti, si faccia a gara nell’annunciare pericoli terribili insiti nei processori, dando loro nomi evocativi e dedicando loro siti dettagliati, salvo poi scoprire che le possibilità di sfruttare sul serio tali pericoli sono minime.
Le falle non vanno sottovalutate, chiaramente. Ma non bisogna nemmeno mettere in piedi campagne terrorizzanti, soprattutto nel caso in cui sfruttarle sia complicato o addirittura quasi impossibile.
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”.
M1racles, per esempio, consente a due applicazioni, indipendentemente dal sistema operativo che le fa girare, di scambiarsi dati senza che il sistema se ne accorga, “senza adoperare memoria, socket, file, o altre normali caratteristiche del sistema operativo”.
“Ciò può accadere anche tra processi che vengono eseguiti da utenti diversi e con diversi livelli di autorizzazione, creando un canale segreto per furtivi scambi di dati. La vulnerabilità fa parte dei chip Apple Silicon e non può essere corretta senza una revisione del silicio” spiega Martin.
LEGGI ANCHE: Apple Watch 7, i primi rendering: design a bordi piatti in stile iPhone 12?
Quali dispositivi sono in pericolo
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: Ciao Mark;
- utenti AmigaOS: Guarda, Apple ha comprato PASemi ma la CPU AmigaOne X1000 non conta come Apple Silicon, mi dispiace;
- utenti del sistema operativo Newton.