Cercetători de la NCC Group
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.
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ă (
Î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