Vulnerabilitatea cipurilor Qualcomm care permite extragerea cheilor private din stocarea TrustZone

Cercetători de la NCC Group descoperit detalii vulnerabilitati (CVE-2018-11976) în cipurile Qualcomm, care vă permite să determinați conținutul cheilor private de criptare situate într-o enclavă izolată Qualcomm QSEE (Qualcomm Secure Execution Environment), bazată pe tehnologia ARM TrustZone. Problema se manifestă în cel mai Snapdragon SoC, care a devenit larg răspândit în smartphone-urile bazate pe platforma Android. Remedierile care rezolvă problema sunt deja inclus în actualizarea Android din aprilie și noile versiuni de firmware pentru cipurile Qualcomm. Qualcomm a avut nevoie de mai mult de un an pentru a pregăti o remediere; informațiile despre vulnerabilitate au fost inițial trimise către Qualcomm pe 19 martie 2018.

Să ne amintim că tehnologia ARM TrustZone vă permite să creați medii protejate izolate hardware, care sunt complet separate de sistemul principal și rulează pe un procesor virtual separat, folosind un sistem de operare specializat separat. Scopul principal al TrustZone este de a oferi execuție izolată a procesoarelor pentru chei de criptare, autentificare biometrică, date de plată și alte informații confidențiale. Interacțiunea cu sistemul de operare principal se realizează indirect prin interfața de expediere. Cheile de criptare private sunt stocate într-un depozit de chei izolat hardware, care, dacă este implementat corespunzător, poate preveni scurgerea lor dacă sistemul de bază este compromis.

Vulnerabilitatea se datorează unui defect în implementarea algoritmului de procesare a curbei eliptice, care a dus la scurgeri de informații despre progresul procesării datelor. Cercetătorii au dezvoltat o tehnică de atac pe canal lateral care permite utilizarea scurgerilor indirecte existente pentru a recupera conținutul cheilor private situate într-un spațiu izolat hardware. Magazin de chei Android. Scurgerile sunt determinate pe baza analizei activității blocului de predicție a ramurilor și a modificărilor timpului de acces la datele din memorie. În experiment, cercetătorii au demonstrat cu succes recuperarea cheilor ECDSA de 224 și 256 de biți din depozitul de chei izolat hardware utilizat în smartphone-ul Nexus 5X. Recuperarea cheii a necesitat generarea a aproximativ 12 mii de semnături digitale, ceea ce a durat mai mult de 14 ore. Instrumente folosite pentru a efectua atacul Cachegrab.

Principala cauză a problemei este partajarea componentelor hardware comune și a memoriei cache pentru calcule în TrustZone și în sistemul principal - izolarea se realizează la nivelul separării logice, dar folosind unități de calcul comune și cu urme de calcule și informații despre ramură. adresele fiind depuse în memoria cache comună a procesorului. Folosind metoda Prime+Probe, bazată pe evaluarea modificărilor timpului de acces la informațiile din cache, este posibil, prin verificarea prezenței anumitor modele în cache, să se monitorizeze fluxurile de date și semnele de execuție a codului asociate calculelor semnăturilor digitale în TrustZone cu o precizie destul de mare.

De cele mai multe ori, pentru a genera o semnătură digitală utilizând cheile ECDSA în cipurile Qualcomm este cheltuit efectuând operațiuni de multiplicare într-o buclă folosind un vector de inițializare care este neschimbat pentru fiecare semnătură (nunțiu). Dacă atacatorul poate recupera cel puțin câțiva biți cu informații despre acest vector, devine posibil să se efectueze un atac pentru a recupera secvenţial întreaga cheie privată.

În cazul Qualcomm, în algoritmul de multiplicare au fost identificate două locuri în care s-au scurs astfel de informații: la efectuarea operațiunilor de căutare în tabele și în codul de regăsire a datelor condiționate pe baza valorii ultimului bit din vectorul „nonce”. În ciuda faptului că codul Qualcomm conține măsuri pentru a contracara scurgerile de informații prin canale terțe, metoda de atac dezvoltată vă permite să ocoliți aceste măsuri și să determinați mai mulți biți ai valorii „nonce”, care sunt suficienți pentru a recupera cheile ECDSA pe 256 de biți.

Sursa: opennet.ru

Adauga un comentariu