Skip to main content

Il chip Apple M1 contiene una vulnerabilità hardware

I ricercatori del MIT CSAIL (Computer Science & Artificial Intelligence Laboratory) hanno affermato di aver identificato un modo per aggirare l’autenticazione del puntatore del chip M1, un meccanismo di sicurezza che cerca di impedire a un utente malintenzionato di modificare i riferimenti di memoria senza essere rilevato.

L’autenticazione del puntatore è una funzionalità di sicurezza che aggiunge una firma crittografica, nota come codice di autenticazione del puntatore (PAC), ai puntatori che consentono al sistema operativo di rilevare e bloccare modifiche impreviste che altrimenti porterebbero a perdite di dati o alla compromissione del sistema.

Implementata nel 2017 in Armv8.3, l’autenticazione del puntatore protegge l’integrità del puntatore ed è stata adottata da Apple nei suoi progetti di chip basati su Arm nel 2018. È presente in M1, M1 Pro e M1 Max di Apple ed è stata adottata da altri produttori di chip basati su Arm come Qualcomm e Samsung.

PACMAN ATTACK

L’autenticazione del puntatore si basa su un hash crittografico chiamato Pointer Authentication Code (PAC) – derivato dal valore del puntatore, un valore di 64 bit e una chiave segreta di 128 bit – per proteggere i puntatori dalla modifica. Poiché lo spazio degli indirizzi utilizzato nell’architettura a 64 bit è inferiore a 64 bit, ovvero 48 bit in macOS 12.2.1 su un M1, lo spazio aggiuntivo può essere utilizzato per memorizzare il valore PAC, che può variare da 11 a 31 bit.

Quando l’autenticazione del puntatore è attiva, un utente malintenzionato deve conoscere il valore PAC del puntatore dopo la modifica, altrimenti il ​​programma andrà in crash. Un attacco brute force per trovare il PAC non funzionerà perché un’ipotesi errata causerà un arresto anomalo, reimpostando il valore hash e costringendo l’attaccante a ricominciare.

Ravichandran e i suoi colleghi hanno ideato un PAC Oracle, un meccanismo di feedback, che può essere utilizzato per distinguere tra ipotesi corrette e errate senza causare un arresto anomalo del programma. Ciò consente a loro di forzare i valori possibili in circa 2,94 minuti per un PAC a 16 bit e di costruire un control-flow hijacking attack su un’applicazione o un sistema operativo che implementa l’autenticazione del puntatore.

“L’esecuzione arbitraria del codice del kernel ti dà essenzialmente accesso illimitato al dispositivo e l’attaccante può fare tutto ciò che vuole (in pratica ha ottenuto l’accesso ‘root’). Prima di poterlo fare, è necessaria una vulnerabilità del software in modo da poter eseguire l’attacco PACMAN utilizzando un gadget PACMAN (un frammento di codice vittima che può essere utilizzato per eseguire l’attacco PACMAN). Abbiamo studiato il chip M1 in quanto è la prima CPU desktop fornita con l’autenticazione del puntatore. Abbiamo rivelato tutte le nostre scoperte ad Apple l’anno scorso, ma non sappiamo se hanno mitigato qualcosa o meno”, ha affermato il ricercatore.

“Sulla base della nostra analisi, nonché dei dettagli condivisi con noi dai ricercatori, abbiamo concluso che questo problema non rappresenta un rischio immediato per i nostri utenti ed è insufficiente per aggirare da solo le protezioni di sicurezza del sistema operativo”, ha affermato un portavoce di Apple.

Puoi trovare maggiori dettagli tecnici su questo nuovo attacco hardware sul sito dedicato e nel documento “PACMAN: Attacking ARM Pointer Authentication with Speculative Execution” che sarà presentato all’International Symposium on Computer Architecture il 18 giugno.


    Iscriviti alla newsletter

    Rimani sempre aggiornato sulle ultime news.

    Ai sensi del Regolamento UE n. 2016/679 in materia di Protezione dei Dati Personali. Leggi l'informativa sulla Privacy policy.

    Sei sotto attacco?