La precedente vulnerabilità BootROM "checkm8" (2019) riguardava i chip da A5 ad A11; usbliter8 estende la stessa tipologia di attacco alla generazione successiva . Il chip A11 non è vulnerabile perché il suo driver USB reimposta manualmente il puntatore DMA dopo ogni pacchetto
. Anche i chip A14 e successivi sono al sicuro, grazie alla corretta configurazione della protezione DART USB in SecureROM
.
Disallineamento del puntatore del buffer circolare: Il controller memorizza fino a tre pacchetti USB Setup consecutivi in un buffer DMA. Dopo ogni scrittura, incrementa un puntatore hardware in base alla dimensione dei dati. Dopo il terzo pacchetto, lo reimposta decrementandolo di 24 byte .
Trucco del pacchetto di dimensioni ridotte: Il controller accetta pacchetti più piccoli degli 8 byte standard, ma li memorizza sempre in blocchi allineati a 4 byte. Quando viene ricevuto un pacchetto piccolo, l'incremento del puntatore (dimensione effettiva dei dati scritti) non corrisponde al decremento fisso di 24 byte, creando un underflow del buffer di 12 byte — il puntatore arretra effettivamente nella memoria .
Sovrascrittura della memoria: Questo permette a un attaccante di sovrascrivere regioni SRAM che dovrebbero essere inaccessibili durante l'avvio, inclusi dati dello stack e metadati dell'heap .
Esecuzione di codice: Su A12, l'attaccante sovrascrive un registro di collegamento (LR) salvato sullo stack del task USB per ottenere il controllo diretto del contatore di programma (PC). Su A13, i codici di autenticazione dei puntatori (PAC) complicano l'operazione, richiedendo una tecnica multi-step che aggira anche i checksum dell'heap e i contatori di panic .
Il BootROM (SecureROM) è il primissimo codice eseguito dal chip all'accensione. Viene inciso nella memoria di sola lettura (ROM) durante la produzione del chip ed è immutabile dopo che il dispositivo lascia la fabbrica . Poiché la causa sottostante è un bug hardware nel controller USB — non un bug software — Apple non può correggerlo con un aggiornamento del firmware o del sistema operativo
. L'unica mitigazione efficace è passare a hardware più recente (A14 o successivo)
.
L'exploit richiede accesso fisico USB al dispositivo, che deve essere messo in modalità DFU (Device Firmware Update) . Dopo lo sfruttamento, il dispositivo mostra il marcatore "PWND" nella seriale USB, segno che è stato compromesso
. L'attacco permette di avviare software non firmato e ridurre temporaneamente le impostazioni di sicurezza, ma non compromette direttamente il Secure Enclave
.
Comments
0 comments