Unghiul lui Anderson
NVIDIA Confirmă Vulnerabilitatea de Atac prin Injectare de Tensiune pe Autopilotul Tesla

O nouă lucrare de cercetare din Germania dezvăluie că NVIDIA a confirmat o vulnerabilitate de hardware care permite unui atacator să obțină control privilegiat asupra executării codului pentru sistemul de pilotaj autonom al lui Tesla. Atacul implică o metodă “clasică” de destabilizare a hardware-ului prin introducerea de supratensiuni, care în acest caz permite deblocarea unui bootloader care este de obicei dezactivat pentru consumatori și destinat condițiilor de laborator.
Atacul este valabil și pentru sistemul de infotainment al Mercedes-Benz, deși cu consecințe potențial mai puțin dăunătoare.
Lucrarea, intitulată Amenințarea uitată a injectării de tensiune: Un studiu de caz pe procesoarele Nvidia Tegra X2, provine de la Universitatea Tehnică din Berlin, și urmează uneia dintre lucrările recente ale acelorași cercetători care au dezvăluit o exploatare similară în AMD Secure Encrypted Virtualization, publicată pe 12 august.
Lucrarea afirmă:
Noi am raportat responsabil descoperirile noastre către Nvidia, inclusiv configurația noastră experimentală și parametrii. Nvidia a reconstruit experimentele noastre și a confirmat că injectarea de defecte afectează procesoarele Tegra Parker SoC și cip-urile mai vechi. Conform spuselor lor, toate procesoarele Tegra SoC mai noi conțin contramăsuri pentru a mitigă aceste tipuri de atacuri. Mai mult, ei au propus contramăsuri pentru a reduce eficacitatea injectării de tensiune pe cip-urile vulnerabile…
Lucrarea afirmă că tipul de atac demonstrat în cercetarea lor ar putea permite unui adversar să modifice firmware-ul sistemului pentru a compromite sistemele de control esențiale, inclusiv modul în care un vehicul autonom reacționează la obstacole umane.
Ei notează că chiar și manipularea sistemelor de afișare a cockpit-ului poate reprezenta un pericol real, permițând afișarea de informații false despre viteza de conducere curentă și alte informații esențiale pentru funcționarea în siguranță a vehiculului.
Injectarea de Tensiune
Injectarea de tensiune (FI), cunoscută și sub numele de glitching de tensiune, supratensionează sau subtensionează alimentarea sistemului pentru o perioadă scurtă. Este o formă foarte veche de atac; cercetătorii notează că cardurile inteligente au fost consolidate împotriva acestei abordări cu două decenii în urmă și sugerează că producătorii de cipuri au uitat efectiv despre acest vector de atac particular.
Cu toate acestea, ei recunosc că protejarea unui sistem pe cip (SoC) a devenit mai complexă în ultimii ani din cauza arborilor de alimentare complexi și a ratelor mai mari de consum de energie care pot exacerba perturbarea potențială cauzată de o alimentare perturbată.
Atacuri de acest tip au dovedit posibile împotriva procesoarelor mai vechi NVIDIA Tegra X1 în trecut. Cu toate acestea, procesoarele mai noi Tegra X2 SoC (“Parker”) sunt prezente în sisteme mai critice, inclusiv în sistemul de pilotaj semi-autonom al lui Tesla, precum și în sistemele utilizate de Mercedes-Benz și Hyundai.
Lucrarea demonstrează o atac de injectare de tensiune pe procesoarele Tegra X2 care a permis cercetătorilor să extragă conținut din memoria internă de doar citire (iROM) a sistemului. Pe lângă compromiterea proprietății intelectuale a producătorilor, acest lucru permite dezactivarea totală a executării codului de încredere.
Compromis Permanent Posibil
Mai mult, incursiunea nu este fragilă sau obligatoriu ștearsă la repornire: cercetătorii au dezvoltat un “implant de hardware” capabil să dezactiveze permanent rădăcina de încredere (RoT).

Diagrama unui ‘circuit de crowbar’ dezvoltat de cercetătorii germani – o modificare permanentă de hardware capabilă să manipuleze rădăcina de încredere în Tegra X2. Sursă: https://arxiv.org/pdf/2108.06131.pdf
Pentru a cartografia exploatarea, cercetătorii au căutat să deblocheze documentația ascunsă despre X2 – fișierele de antet ascunse incluse ca parte a pachetului L4T. Harta este descrisă, deși nu în mod explicit, în documentația online pentru Jetson TX2 Boot Flow.
Cu toate acestea, deși au reușit să obțină informațiile necesare din fișierele de antet extrase, cercetătorii notează că au primit și o ajutor semnificativ prin căutarea pe GitHub pentru coduri obscure legate de NVIDIA:
Înainte de a realiza că fișierul de antet este oferit de Nvidia, am căutat pe GitHub. Pe lângă găsirea unui depozit care include codul Nvidia, căutarea a descoperit și un depozit numit “switch-bootroms”. Acest depozit include codul sursă BR pentru procesoarele Tegra cu numerele de model T210 și T214, în timp ce T210 este modelul original al Tegra X1 (codnumit “Erista”), și T214 este o versiune actualizată, numită și Tegra X1+ (codnumit “Mariko”). X1+ include viteze de ceas mai rapide și, judecând după comentarii și cod din depozit, este consolidat împotriva FI. În timpul investigațiilor noastre, accesul la acest cod a crescut masiv înțelegerea noastră despre X2.’
(Notele de subsol au fost convertite în legături hipertext de mine)
Toate fuzibilele și codurile criptografice au fost descoperite prin metoda nouă, iar etapele ulterioare ale sistemului de boot au fost dezcriptate cu succes. Realizarea cea mai notabilă a exploatării este probabil capacitatea de a o face persistentă pe durata repornirilor prin hardware dedicat, o tehnică dezvoltată pentru prima dată de Team Xecutor pentru implantul Nintendo Switch pe seria de cipuri X1.
Mitigări
Lucrarea sugerează o serie de metode de consolidare care ar putea face ca viitoarele iterații ale procesoarelor SoC X să fie rezistente la atacurile de injectare de tensiune. În discuția cu NVIDIA, compania a sugerat că, în cazul procesoarelor SoC existente, modificările la nivel de placă ar fi utile, inclusiv utilizarea epoxilor rezistenți la descompunere prin căldură și solvenți. Dacă circuitul nu poate fi ușor demontat, este mult mai greu de compromis.
Lucrarea sugerează, de asemenea, că o placă de circuit imprimat (PCB) dedicată pentru SoC este o modalitate de a exclude nevoia de condensatoare de cuplaj, care fac parte din atacul descris.
Pentru viitoarele proiecte de SoC, utilizarea unui circuit de detectare a injectării de tensiune între domenii care a fost recent brevetat de NVIDIA ar putea permite declanșarea alertelor în caz de perturbări de tensiune suspecte sau maligne.
Abordarea problemei prin software este mai dificilă, deoarece caracteristicile defectelor exploatate sunt greu de înțeles și de contracarat la nivel de software.
Lucrarea observă, aparent cu o anumită surpriză, că majoritatea măsurilor de protecție evidente au fost dezvoltate în timp pentru a proteja cipul mai vechi X1, dar lipsesc în X2.
Raportul concluzionează:
‘Producătorii și designerii nu ar trebui să uite despre atacurile de hardware aparent simple care au fost prezente pentru mai mult de două decenii.’













