Forskere fra NCC Group
La oss huske at ARM TrustZone-teknologi lar deg lage maskinvareisolerte beskyttede miljøer som er fullstendig atskilt fra hovedsystemet og kjøres på en separat virtuell prosessor ved hjelp av et separat spesialisert operativsystem. Hovedformålet med TrustZone er å gi isolert utførelse av prosessorer for krypteringsnøkler, biometrisk autentisering, betalingsdata og annen konfidensiell informasjon. Interaksjon med hovedoperativsystemet utføres indirekte gjennom ekspedisjonsgrensesnittet. Private krypteringsnøkler lagres i et maskinvareisolert nøkkellager, som, hvis det implementeres riktig, kan forhindre lekkasje hvis det underliggende systemet er kompromittert.
Sårbarheten skyldes en feil i implementeringen av den elliptiske kurvebehandlingsalgoritmen, som førte til lekkasje av informasjon om fremdriften i databehandlingen. Forskere har utviklet en sidekanalangrepsteknikk som gjør det mulig å bruke eksisterende indirekte lekkasjer for å gjenopprette innholdet i private nøkler som ligger i en maskinvareisolert
Hovedårsaken til problemet er deling av vanlige maskinvarekomponenter og hurtigbuffer for beregninger i TrustZone og i hovedsystemet - isolering utføres på nivå med logisk separasjon, men ved bruk av vanlige dataenheter og med spor av beregninger og informasjon om gren adresser som legges inn i den vanlige prosessorbufferen. Ved å bruke Prime+Probe-metoden, basert på å vurdere endringer i tilgangstid til bufret informasjon, er det mulig, ved å kontrollere tilstedeværelsen av visse mønstre i hurtigbufferen, å overvåke datastrømmer og tegn på kodeutførelse knyttet til beregninger av digitale signaturer i TrustZone med ganske høy nøyaktighet.
Mesteparten av tiden for å generere en digital signatur ved hjelp av ECDSA-nøkler i Qualcomm-brikker brukes til å utføre multiplikasjonsoperasjoner i en sløyfe ved å bruke en initialiseringsvektor som er uendret for hver signatur (
Når det gjelder Qualcomm, ble to steder hvor slik informasjon ble lekket identifisert i multiplikasjonsalgoritmen: når du utfører oppslagsoperasjoner i tabeller og i den betingede datainnhentingskoden basert på verdien av den siste biten i "nonce"-vektoren. Til tross for at Qualcomm-koden inneholder tiltak for å motvirke informasjonslekkasjer gjennom tredjepartskanaler, lar den utviklede angrepsmetoden deg omgå disse tiltakene og bestemme flere biter av «nonce»-verdien, som er nok til å gjenopprette 256-biters ECDSA-nøkler.
Kilde: opennet.ru