TikTag — attacco al meccanismo di esecuzione speculativa nei processori ARM, che consente di bypassare la protezione MemTag.

Un gruppo di ricercatori dell'Università di Seul e della Samsung ha sviluppato una tecnica di attacco ai processori ARM, chiamata TikTag, che può essere utilizzata per eludere il meccanismo di protezione hardware MemTag (MTE, Memory Tagging Extension), presente nei chip basati sull'architettura ARMv8.5-A. L'attacco consente di determinare il contenuto dei tag TikTag per indirizzi di memoria arbitrari a causa delle perdite di dati derivanti dall'esecuzione speculativa delle istruzioni della CPU.

La tecnologia MemTag consente di associare tag a aree in memoria e di organizzare un controllo della correttezza dell'uso dei puntatori per prevenire lo sfruttamento di vulnerabilità causate da accessi a blocchi di memoria già liberati, overflow di buffer e accessi prima dell'inizializzazione. Utilizzando MemTag, per ogni 16 byte di memoria fisica viene generato un tag a 4 bit, che funge da chiave per accedere a tale memoria. Il tag può essere generato da un'applicazione per un'area di memoria allocata utilizzando istruzioni CPU specifiche, e poi memorizzato nei bit superiori non utilizzati del puntatore. Quando si accede alla memoria usando un puntatore taggato, la CPU verifica la corrispondenza del tag associato al puntatore con i tag associati ai blocchi di memoria e consente l'accesso solo se i tag coincidono.

Il metodo di attacco proposto consente di determinare i tag associati ai blocchi di memoria e di eludere la protezione MemTag. I ricercatori hanno dimostrato la possibilità di effettuare un attacco TikTag sfruttando vulnerabilità nel kernel Linux e nel browser Chrome, utilizzando sequenze di istruzioni esistenti in questi prodotti (gadget) che portano all'esecuzione speculativa del codice. Gadget simili, quando eseguiti in modalità speculativa, utilizzando puntatori, portano alla lettura dei metadati del MemTag a seconda delle condizioni esterne, che possono essere influenzate dall'attaccante. Dopo aver determinato una previsione errata, il risultato dell'esecuzione speculativa viene scartato, ma i dati ottenuti rimangono nella cache e possono poi essere estratti tramite analisi di canali laterali. La probabilità di superare con successo la protezione MemTag nei test condotti è stata valutata al 95% con attacchi effettuati in circa 4 secondi.

TikTag - attacco al meccanismo di esecuzione speculativa nella CPU ARM, che consente di bypassare la protezione MemTag.

Sono stati identificati due tipi di gadget che portano a perdite di informazioni sui tag MemTag. Nel primo caso, l'esecuzione speculativa si verifica a causa di una previsione errata del salto, e le condizioni per eseguire il gadget possono essere create tramite manipolazioni delle chiamate di sistema. Nel secondo caso
l'esecuzione speculativa si verifica a causa di un errore nella previsione della correlazione tra operazioni di lettura e scrittura quando si utilizza l'ottimizzazione STLF (Store-To-Load-Forwarding), il che consente di selezionare il tag valutando lo stato della cache (se il tag corrisponde, il valore verrà reindirizzato direttamente dal comando 'store' precedente all'operazione 'load' e cambierà lo stato della cache). Il primo tipo di gadget è adatto per attaccare il kernel Linux, mentre il secondo per il motore JavaScript V8, utilizzato nei browser basati su Chromium. Un prototipo degli strumenti per condurre l'attacco è stato pubblicato su GitHub.

TikTag - attacco al meccanismo di esecuzione speculativa nella CPU ARM, che consente di bypassare la protezione MemTag.TikTag - attacco al meccanismo di esecuzione speculativa nella CPU ARM, che consente di bypassare la protezione MemTag.

L'azienda ARM ha confermato la possibilità di attacchi su sistemi con processori Cortex-X2, Cortex-X3, Cortex-A510, Cortex-A520, Cortex-A710, Cortex-A715 e Cortex-A720, ma non ha intenzione di apportare modifiche alla CPU per bloccare il problema, poiché l'architettura MemTag implica che i tag non sono dati segreti per le applicazioni. Nella base di codice di Chromium, il problema rimane anch'esso non risolto, poiché nel browser Chrome la protezione basata su MemTag non è ancora applicata per impostazione predefinita. Il team responsabile della sicurezza della piattaforma Android ha riconosciuto la possibilità di attacchi sui dispositivi Pixel 8, in cui è utilizzata la protezione MemTag, ha aggiunto correzioni per bloccare le perdite e ha espresso la disponibilità a offrire un premio per la vulnerabilità trovata.

Come metodi alternativi per bloccare l'attacco, i ricercatori suggeriscono di utilizzare le istruzioni sb o isb per impedire l'esecuzione speculativa durante le operazioni critiche con la memoria o di inserire, tra le istruzioni di branching e le istruzioni di accesso alla memoria, riempimenti da altre istruzioni.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster