Intel
L'attacco è pericoloso solo nel contesto di manipolazioni con calcoli nelle enclavi SGX, poiché per essere eseguito richiede i diritti di root nel sistema. Nel caso più semplice, un utente malintenzionato può ottenere la distorsione delle informazioni elaborate nell'enclave, ma in scenari più complessi, la possibilità di ricreare le chiavi private archiviate nell'enclave utilizzata per la crittografia utilizzando gli algoritmi RSA-CRT e AES-NI non è possibile. escluso. La tecnica può essere utilizzata anche per generare errori negli algoritmi inizialmente corretti per provocare vulnerabilità quando si lavora con la memoria, ad esempio per organizzare l'accesso a un'area al di fuori dei limiti del buffer allocato.
Codice prototipo per eseguire un attacco
L'essenza del metodo è creare le condizioni per il verificarsi di danneggiamenti imprevisti dei dati durante i calcoli in SGX, da cui l'uso della crittografia e dell'autenticazione della memoria nell'enclave non protegge. Per introdurre la distorsione, si è scoperto che era possibile utilizzare interfacce software standard per il controllo della frequenza e della tensione, solitamente utilizzate per ridurre il consumo energetico durante i tempi di inattività del sistema e attivare le massime prestazioni durante il lavoro intenso. Le caratteristiche di frequenza e tensione si estendono sull'intero chip, compreso l'impatto dell'elaborazione in un'enclave isolata.
Modificando la tensione si possono creare condizioni in cui la carica non è sufficiente per rigenerare una cella di memoria all'interno della CPU e il suo valore cambia. Differenza fondamentale rispetto all'attacco
Se questo valore modificato viene utilizzato nel processo di moltiplicazione del processo di crittografia, l'output viene rifiutato con testo cifrato errato. Avendo la possibilità di contattare un gestore in SGX per crittografare i propri dati, un utente malintenzionato può, causando errori, accumulare statistiche sui cambiamenti nel testo cifrato di output e, in pochi minuti, ripristinare il valore della chiave memorizzata nell'enclave. Il testo di input originale e il testo cifrato di output corretto sono noti, la chiave non cambia e l'output di un testo cifrato errato indica che alcuni bit sono stati distorti al valore opposto.
Dopo aver analizzato le coppie di valori di testi cifrati corretti e corrotti accumulati durante vari guasti, utilizzando metodi di analisi differenziale dei guasti (DFA,
Vari modelli di processori Intel sono interessati dal problema, comprese le CPU Intel Core da 6
Decima generazione, nonché la quinta e la sesta generazione di Xeon E10, la prima e la seconda generazione di Intel Xeon Scalable, Xeon D,
Xeon W e Xeon E.
Ricordiamo che la tecnologia SGX (
Fonte: opennet.ru