È stata scoperta un’importante vulnerabilità che interessa i Mac dotati di chip M1. La vulnerabilità è stata nominata M1racles ed è stata riportata da Hector Martin, che nel sito ufficiale spiega che si tratta di un difetto nel design del chip di Apple che consente a due applicazioni in esecuzione su un sistema operativo di scambiare segretamente dati tra loro, senza utilizzare memoria, file, o qualsiasi altra normale funzionalità del sistema operativo. Funziona tra processi in esecuzione come utenti diversi e con diversi livelli di privilegi e crea un “covert channel”, ovvero un canale di comunicazione non previsto e non facilmente rilevabile, per scambiare dati in maniera occulta.
La problematica maggiore è che questa vulnerabilità è incorporata nel chip Apple Silicon e non può essere risolta senza una revisione hardware. Ma vediamo nel dettaglio come funziona.
Nel sito dedicato alla vulnerabilità, Hector Martin spiega che il registro di sistema ARM, decodificato come s3_5_c15_c10_1, è accessibile da EL0 e contiene due bit implementati che possono essere letti o scritti (bit 0 e 1). Si tratta di un registro per-cluster a cui possono accedere simultaneamente tutti i core di un cluster. Questo lo rende un canale nascosto a due bit che qualsiasi processo arbitrario può utilizzare per scambiare dati con un altro processo cooperante. Martin ha messo a disposizione anche un’app demo per accedere al registro.
Una coppia dannosa di processi che cooperano tra loro può costruire un canale robusto fuori da questo stato a due bit, utilizzando un particolare protocollo. Questo consente ai processi di scambiare una quantità infinita di dati, vincolati solo dal sovraccarico della CPU. Il trasferimento dei dati avviene in modo piuttosto veloce: senza molta ottimizzazione, le velocità di trasferimento sono superiori a 1MB/s.
Come spiega Martin nella sezione delle domande frequenti, questa vulnerabilità coinvolge gli utenti in possesso di un dispositivo con chip M1, con qualsiasi sistema operativo installato. Questo può intaccare anche altre CPU di Apple, ma l’utente ha affermato di non aver ancora effettuato dei test con un iPhone. La soluzione per proteggersi, attualmente, è far girare l’intero sistema operativo su una macchina virtuale.
Martin ha avvisato Apple riguardo la vulnerabilità, tramite e-mail, per permettere loro di risolvere la problematica nei futuri processori proprietari. Va anche detto che l’utente afferma che nessun malware può prendere il controllo del proprio computer o dei propri dati sensibili attraverso questa vulnerabilità. Alla domanda “dovremmo preoccuparci di questa vulnerabilità?” Martin ha risposto: “probabilmente no”. Quindi se siete in possesso di un Mac M1, potete continuare a dormire sonni tranquilli.