Un team internazionale di ricercatori ha individuato un nuovo attacco denominato “TIKTAG”, che sfrutta la Memory Tagging Extension (MTE) di ARM per far trapelare dati con oltre il 95% di probabilità di successo.
L’attacco, la cui ricerca è sottoscritta da esperti di Samsung, della Seoul National University e del Georgia Institute of Technology, dimostra la sua efficacia contro Google Chrome e il kernel Linux.
La Memory Tagging Extension (MTE) è stata introdotta con l’architettura ARM v8.5-A per prevenire il danneggiamento della memoria, uno dei problemi più gravi e comuni in ambito di sicurezza informatica. MTE assegna tag a 4 bit a blocchi di memoria da 16 byte per garantire che il tag nel puntatore corrisponda alla regione di memoria a cui si accede.
Nonostante questa innovazione, i ricercatori hanno dimostrato che due gadget di esecuzione speculativa, TIKTAG-v1 e TIKTAG-v2, possono compromettere questa protezione.
Indice degli argomenti
I gadget TIKTAG: come funzionano?
- TIKTAG-v1: questo gadget si è dimostrato particolarmente efficace contro il kernel Linux, soprattutto in funzioni che implicano accessi speculativi alla memoria. Gli aggressori possono manipolare i puntatori del kernel e utilizzare chiamate di sistema per invocare il percorso di esecuzione speculativo, deducendo i tag di memoria dagli stati della cache.
- TIKTAG-v2: in questa sequenza, un valore viene archiviato in un indirizzo di memoria e immediatamente caricato dallo stesso indirizzo. Se i tag corrispondono, il caricamento riesce, influenzando lo stato della cache; in caso contrario, l’inoltro viene bloccato. Sondando lo stato della cache dopo l’esecuzione speculativa, è possibile dedurre il risultato del controllo dei tag.
I ricercatori hanno dimostrato l’efficacia di TIKTAG-v2 contro il motore JavaScript V8 di Google Chrome, evidenziando come queste vulnerabilità possano essere sfruttate per compromettere la sicurezza nel processo di rendering del browser.
Risposta e mitigazioni proposte
Dopo aver riportato i loro risultati tra novembre e dicembre 2023, i ricercatori hanno ricevuto risposte generalmente positive dalle entità colpite, sebbene non siano state implementate soluzioni immediate.
ARM, pur riconoscendo la gravità della situazione, ha dichiarato che la fuga di tag di allocazione non compromette i principi dell’architettura, poiché questi tag non sono considerati segreti.
Allo stesso modo, il team di sicurezza di Chrome ha deciso di non risolvere le vulnerabilità, sottolineando che il sandbox V8 non è destinato a garantire la riservatezza dei dati di memoria e dei tag MTE.
Le mitigazioni proposte dai ricercatori includono:
- Modifiche hardware: impedire che l’esecuzione speculativa modifichi gli stati della cache in base ai risultati del controllo dei tag.
- Barriere speculative: inserire istruzioni per impedire l’esecuzione speculativa di operazioni critiche sulla memoria.
- Istruzioni di riempimento: estendere la finestra di esecuzione tra le istruzioni di ramo e gli accessi alla memoria.
- Miglioramento del sandboxing: limitare rigorosamente i percorsi di accesso speculativo alla memoria all’interno di regioni di memoria sicure.
Nel frattempo, le vulnerabilità MTE nei dispositivi Pixel 8 sono state segnalate al team di sicurezza Android nell’aprile 2024 e riconosciuti come difetti hardware, con un progetto di bug bounty.
L’attacco TIKTAG mette in evidenza le sfide continue nella sicurezza informatica, dimostrando che anche le tecnologie di protezione più avanzate possono essere vulnerabili.
Gli sviluppatori hardware e software sono ora chiamati a collaborare per implementare soluzioni che possano mitigare efficacemente queste nuove minacce.