Un nuovo documento di ricerca dalla Germania rivela che NVIDIA ha confermato una vulnerabilità hardware che consente a un utente malintenzionato di ottenere il controllo privilegiato dell’esecuzione del codice per il sistema di pilota automatico di Tesla. L’attacco prevede un metodo “classico” per destabilizzare l’hardware introducendo picchi di tensione, che in questo caso consentono lo sblocco di un bootloader solitamente disabilitato per i consumatori e destinato alle condizioni di laboratorio.
L’attacco è valido anche per il sistema di infotainment Mercedes-Benz, anche se ovviamente con minori conseguenze potenzialmente dannose.
Il documento , intitolato The Forgotten Threat of Voltage Glitching: A Case Study on Nvidia Tegra X2 SoCs , proviene dalla Technische Universitat Berlin, a seguito di alcuni dei recenti lavori degli stessi ricercatori che rivelano un simile exploit in AMD Secure Encrypted Virtualization, pubblicato su il 12 agosto.
Il nuovo documento afferma:
Abbiamo responsabilmente divulgato le nostre scoperte a Nvidia, inclusa la nostra configurazione e i parametri sperimentali. Nvidia ha ricostruito i nostri esperimenti e ha confermato che l’iniezione di guasti ha un impatto sul SoC Tegra Parker testato e sui chip precedenti. Secondo loro, tutti i nuovi SoC Tegra conterrebbero contromisure per mitigare questi tipi di attacchi. Inoltre, hanno proposto contromisure per ridurre l’efficacia dell’iniezione di guasto di tensione su chip vulnerabili…
Il documento afferma che il tipo di attacco dimostrato nella loro ricerca potrebbe consentire a un avversario di alterare il firmware del sistema per manomettere i sistemi di controllo essenziali, incluso il modo in cui un veicolo autonomo reagisce agli ostacoli umani.
Notano che anche la manomissione dei sistemi di visualizzazione della cabina di pilotaggio comporta un rischio reale, consentendo la visualizzazione di informazioni errate sulla velocità di guida attuale e altre informazioni essenziali per la guida sicura del veicolo.
Iniezione di guasto di tensione
Voltage Fault Injection (FI), noto anche come Voltage Glitch, semplicemente sovra o sotto-volt l’alimentazione del sistema per un momento. È una forma di attacco molto antica ; i ricercatori notano che le smart card sono state rafforzate contro questo approccio due decenni fa e suggeriscono che i produttori di chip si sono effettivamente dimenticati di questo particolare vettore di attacco.
Tuttavia, riconoscono che la protezione di un System on a Chip (SoC) è diventata più complessa negli ultimi anni a causa di alberi di potenza complessi e tassi più elevati di consumo energetico che possono esacerbare la potenziale interruzione causata da un alimentatore perturbato.
Attacchi di questo tipo si sono dimostrati possibili contro il vecchio SoC NVIDIA Tegra X1 in passato. Tuttavia, il più recente SoC Tegra X2 (“Parker”) è presente nei sistemi più critici, incluso il sistema di guida semi-autonoma Autopilot di Tesla, nonché nei sistemi utilizzati dai veicoli Mercedes-Benz e Hyundai .
Il nuovo documento dimostra un attacco di tensione glitch al SoC Tegra X2 che ha permesso ai ricercatori di estrarre il contenuto dalla memoria di sola lettura interna (iROM) del sistema. Oltre a compromettere l’IP dei produttori, ciò consente la totale disabilitazione della Trusted Code Execution.
Possibile compromesso permanente
Inoltre, l’incursione non è fragile né necessariamente cancellata al riavvio: i ricercatori hanno sviluppato un ‘impianto hardware’ in grado di disabilitare permanentemente il Root of Trust (RoT).
Schema di un “circuito a piede di porco” sviluppato dai ricercatori tedeschi: una modifica hardware permanente in grado di manipolare il Root of Trust nel Tegra X2. Fonte: https://arxiv.org/pdf/2108.06131.pdf
Per mappare l’exploit, i ricercatori hanno cercato di sbloccare la documentazione nascosta sull’X2 – file di intestazione nascosti inclusi come parte del pacchetto L4T . Le mappature sono descritte, anche se non esplicitamente, nella documentazione in linea per Jetson TX2 Boot Flow.
Controllo del flusso del software di avvio del TX2. Fonte: https://docs.nvidia.com/
Tuttavia, sebbene siano stati in grado di ottenere le informazioni necessarie dai file di intestazione esfiltrati, i ricercatori notano che hanno anche ricevuto un aiuto significativo cercando su GitHub un codice oscuro relativo a NVIDIA:
Prima di renderci conto che il file di intestazione è offerto da Nvidia, lo abbiamo cercato su GitHub. Oltre a trovare un repository che include il codice Nvidia, la ricerca ha anche scoperto un repository chiamato “switch-bootrom” . Questo repository include il codice sorgente BR trapelato per i SoC Tegra con numeri di modello T210 e T214, mentre T210 è il modello originale del Tegra X1 (nome in codice “Erista”) e T214 è una versione aggiornata, chiamata anche Tegra X1+ ( nome in codice “Mariko “). L’X1+ include velocità di clock più elevate e, a giudicare dai commenti e dal codice nel repository, è indurito contro FI. Durante le nostre indagini, l’accesso a questo codice ha notevolmente aumentato la nostra comprensione dell’X2.’
(Note a piè di pagina convertite in collegamenti ipertestuali da me)
Tutti i fusibili e i codici crittografici sono stati scoperti dal nuovo metodo e le fasi successive del sistema bootloader sono state decrittografate con successo. Il risultato più notevole dell’exploit è probabilmente la capacità di renderlo persistente tra i riavvii tramite hardware dedicato, una tecnica sviluppata per la prima volta dal Team Xecutor per l’impianto Nintendo Switch sulla serie di chip X1.
Mitigazioni
Il documento suggerisce una serie di metodi di hardening che potrebbero rendere le future iterazioni del SoC della serie X resistenti agli attacchi di glitch di tensione. Discutendo la questione con NVIDIA, l’azienda ha suggerito che, nel caso dei SoC esistenti, sarebbero utili modifiche a livello di scheda, incluso l’uso di resine epossidiche resistenti alla decomposizione da parte del calore e dei solventi. Se il circuito non può essere facilmente smontato, è molto più difficile scendere a compromessi.
Il documento suggerisce anche che un circuito stampato (PCB) dedicato per il SoC è un modo per escludere la necessità di condensatori di accoppiamento, che fanno parte dell’attacco descritto.
Per i futuri progetti di SoC, l’uso di un circuito di rilevamento deglitch di tensione tra domini che è stato recentemente brevettato da NVIDIA potrebbe attivare avvisi di attivazione in caso di disturbi di tensione dannosi o sospetti.
Affrontare il problema tramite software è più di una sfida, poiché le caratteristiche dei guasti sfruttati sono difficili da comprendere e contrastare a livello di software.
Il documento osserva, apparentemente con una certa sorpresa, che la maggior parte delle ovvie protezioni si sono evolute nel tempo per proteggere il vecchio chip X1, ma sono assenti nell’X2.
Il rapporto conclude:
“Produttori e progettisti non dovrebbero dimenticare gli attacchi hardware apparentemente semplici che esistono già da più di due decenni.”