Transaction Asynchronous Abort (TAA), la nuova falla delle CPU Intel

DiMarco Nisticò

PUBBLICATO IL 13 Nov 2019 ALLE 15:14 - AGGIORNATO IL 4 Aprile 2020 ALLE 17:58 #intel, #sicurezza

Dopo il pericolo di Meltdown e Spectre, ormai quasi totalmente mitigato, ecco arrivare un ulteriore minaccia per i processori Intel, chiamata Transaction Asynchronous Abort (TAA).

Le vulnerabilità di Meltdown e Spectre hanno messo in luce come anche i microprocessori possono essere soggetti ad attacchi che possono colpire i dati sensibili degli utenti. Le due falle sopracitate hanno rappresentato nel 2018, e parte del 2019, un problema reale di sicurezza. Si tratta di falle che sfruttano la cosiddetta esecuzione speculativa per accedere a settori della memoria che normalmente dovrebbero essere protetti. Proprio per questo tutti i più grandi produttori di schede madri si sono adoperati per rilasciare aggiornamenti, firmware e patch nel più breve tempo possibile, al fine di mitigare definitivamente il problema.

Attacchi che sfruttano l’esecuzione speculativa

Per quanto una falla si possa in qualche modo contenere, quando si tratta di un problema di natura hardware c’è poco da fare. Infatti anche quest’anno, precisamente a Maggio, sono spuntati fuori nuovi attacchi definiti speculative execution side-attack, che sfruttano sempre l’esecuzione speculativa per accedere alla memoria del processore. Si tratta degli attacchi RIDL, Fallout e ZombieLoad, di cui potete leggere alcune informazioni qui.

Questo genere di attacchi viene definito da Intel come Microarchitectural Data Sampling (MDS). In pratica, il processore, tramite esecuzione speculativa, esegue determinate operazioni non appena verifica che le ipotesi e le condizioni sussistono. In caso di errori, però, l’operazione può essere interrotta e mettere a nudo decine di informazioni personali, innescando una serie di effetti collaterali. Seppur il rischio è alto, Intel precisa che mettere effettivamente in pratica un attacco del genere è parecchio complesso.

Microarchitectural Data Sampling (MDS) “dà a un programma i mezzi potenziali per leggere dati che altrimenti non sarebbe in grado di vedere”, spiega Intel, aggiungendo che “è importante notare che non ci sono notizie di alcun exploit reale di queste vulnerabilità”. In poche parole, MDS sfrutta il campionamento (sampling) dei dati che sfuggono da strutture interne del processore, come il buffer, sfruttando un attacco side channel.

Di seguito un esempio dell’attacco:

Transaction Asynchronous Abort (TAA)

Nelle ultime ore è emerso però un altro problema, molto simile agli attacchi sopra citati, che colpisce le CPU Intel fino alla serie Cascade Lake, escluse quelle che non supportano Intel TSX.

A far emergere il problema, che prende il nome di TSX asynchronous abort (TAA), è stato un gruppo di ricercatori appartenenti a vari atenei e centri di ricerca: Vrije Universiteit di Amsterdam, KU Leuven del Belgio, il tedesco Helmholtz Center for Information Security e la Graz University of Technology austriaca. La stessa Intel ha pubblicato una nota in merito visibile a questo indirizzo.

Intel afferma che la vulnerabilità è molto simile a quelle già note, sfruttando falle nei buffer e segmenti di memoria del processore per prendere possesso di dati personali attraverso un attacco side channel e sfruttando l’esecuzione speculativa. Questa volta però c’è una variabile aggiuntiva, ossia le Intel Transactional Synchronization Extensions (Intel TSX), un’estensione del set di istruzioni x86 che aggiunge il supporto hardware alla memoria transazionale per migliorare le prestazioni con il software multi-thread. In parole semplici, un processore con tecnologia Hyper-Threading, tramite questa falla, può rendere visibili dati sensibili non solo attraverso i core fisici ma anche quelli logici (thread). In questo modo il pericolo viene ulteriormente accentuato poiché il rischio è maggiore.

TSX ha due sottofunzionalità: Restricted Transactional Memory (RTM) e Hardware Lock Elision (HLE). “TSX supporta transazioni atomiche di memoria sia svolte che abortite. In caso di interruzione di Intel TSX, tutte le precedenti scritture di memoria all’interno della transazione vengono ripristinate allo stato precedente all’inizio della transazione”, spiega Intel.

Una transazione Intel TSX può essere interrotta in modo sincrono, ad esempio a causa di istruzioni non supportate nelle transazioni. Le transazioni Intel TSX possono essere interrotte anche in modo asincrono, quando un diverso processore logico scrive su una riga della cache che fa parte del set di lettura della transazione o quando la transazione supera il suo spazio di memoria buffer o per altri motivi legati alla microarchitettura”.

Se avviene un’interruzione asincrona, eventuali dati che non vengono inviati possono essere letti da elementi microarchitetturali, che poi li passano ad altri processi indipendenti. In questo modo è possibile dedurre l’eventuale contenuto di quei dati.

Un malintenzionato può sfruttare questa falla per poter, ad esempio, leggere l’hash della password di sistema sfruttando anche un codice Javascript. Nel video seguente il ricercatore Jonas Theis della Vrije Universiteit sfrutta il TAA per recuperare questa informazione in soli 30 secondi.

Intel ha rilasciato un commento ufficiale: “I ricercatori hanno identificato un nuovo meccanismo, simile al Microarchitectural Data Sampling (MDS) che chiamiamo Transactional Synchronization Extensions (TSX) Asynchronous Abort, o TAA. Questo meccanismo fa affidamento su TSX, e le mitigazioni sono state offerte in un nuovo aggiornamento di microcode abbinato ad aggiornamenti corrispondenti per sistemi operativi e software hypervisor”.

Le mitigazioni riducono sostanzialmente la superficie d’attacco potenziale fornendo un mezzo per cancellare i buffer e disabilitare TSX per quei clienti che non usano questa funzione. Continuiamo ad incoraggiare tutti e tenere aggiornati i propri dispositivi, siccome è questo uno dei migliori modi per essere protetti. Ringraziamo i ricercatori che hanno lavorato insieme a noi, e i nostri partner di settore per il loro contributo, per l’annuncio coordinato di questo problema”.

Ecco la lista dei processori colpiti:

Product CollectionProduct Names
10th Generation Intel® Core™ Processor FamilyIntel® Core™ Processor i7-10510Y, i5-10310Y
Intel® Core™ Processor i5-10210Y, i5-10110YIntel® Core™ Processor i7-8500YIntel® Core™ Processor i5-8310Y, i5-8210Y, i5-8200Y
Intel® Core™ Processor m3-8100Y
2nd Generation Intel® Xeon® Scalable ProcessorsIntel® Xeon® Platinum Processor 8253, 8256, 8260, 8260L, 8260M, 8260Y, 8268, 8270, 8276, 8276L, 8276M, 8280, 8280L, 8280M, 9220, 9221, 9222, 9242, 9282Intel® Xeon® Gold Processor 5215, 5215L, 5215M, 5215R, 5217, 5218, 5218B, 5218N, 5218T, 5220, 5220R, 5220S, 5220T, 5222, 6222V, 6226, 6230, 6230N, 6230T, 6234, 6238, 6238L, 6238M, 6238T, 6240, 6240L, 6240M, 6240Y, 6242, 6244, 6246, 6248, 6252, 6252N, 6254, 6262VIntel® Xeon® Silver Processor 4208, 4208R, 4209T, 4210, 4210R, 4214, 4214C, 4214R, 4214Y, 4215, 4216, 4216RIntel® Xeon® Bronze Processor 3204, 3206R
Intel® Xeon® W Processor FamilyIntel® Xeon® Processor W-3275M, W-3275, W-3265M, W-3265, W-3245M, W-3245, W-3235, W-3225, W-3223, W-2295, W-2275, W-2265, W-2255, W-2245, W-2235, W-2225, W-2223
9th Generation Intel® Core™ Processor FamilyIntel® Core™ Processor i9-9980HK, 9880H
Intel® Core™ Processor i7-9850H, 9750HF
Intel® Core™ Processor i5-9400H, 9300H
9th Generation Intel® Core™ Processor FamilyIntel® Core™ Processor i9-9900K, i9-9900KFIntel® Core™ Processor i7-9700K, i7-9700KFIntel® Core™ Processor i5-9600K, i5-9600KF, i5-9400, i5-9400F
Intel® Xeon® Processor E FamilyIntel® Xeon® Processor E-2288G, E-2286M, E-2278GEL, E-2278GE, E-2278G
10th Generation Intel® Core™ Processor FamilyIntel® Pentium® Gold Processor SeriesIntel® Celeron® Processor 5000 SeriesIntel® Core™ Processor i7-10510UIntel® Core™ Processor i5-10210UIntel® Pentium® Gold Processor 6405UIntel® Celeron® Processor 5305U
8th Generation Intel® Core™ ProcessorsIntel® Core™ Processor i7-8565U, i7-8665UIntel® Core™ Processor i5-8365U, i5-8265U

Al momento i ricercatori consigliano di disabilitare l’Hyper-Threading da BIOS per poter quantomeno mitigare il problema. Bisogna però dire che questa operazione andrà ad influire sulle prestazioni del processore, dato che vengono disabilitati i core logici della CPU.

L’i5-9400F è un processore ottimo per una configurazione di fascia media.

Fonte: Bleeping Computer

Di Marco Nisticò

Sviluppatore informatico, cerco sempre di stare al passo con i tempi in un mondo ormai circondato dalla tecnologia.