Forskere fra NCC Group Sårbarheder () i Qualcomm-chips, der gør det muligt at bestemme indholdet af lukkede krypteringsnøgler placeret i Qualcomm QSEE (Qualcomm Secure Execution Environment), baseret på ARM TrustZone-teknologi. Problemet viser sig i Snapdragon SoC'er, der er blevet udbredt i smartphones på Android-platformen. Rettelser, der afhjælper problemet, er allerede i aprilopdateringen af Android og i nye firmware-udgivelser til Qualcomm-chips. Qualcomm tog mere end et år at udvikle en rettelse — oplysninger om sårbarheden blev oprindeligt sendt til Qualcomm den 19. marts 2018.
Det skal bemærkes, at ARM TrustZone-teknologi giver mulighed for at skabe hardware-isolerede beskyttede miljøer, der er helt adskilt fra det primære system og kører på en separat virtuel processor ved brug af et separat specialiseret operativsystem. Hovedformålet med TrustZone er at sikre isoleret udførelse af behandlere for krypteringsnøgler, biometrisk autentificering, betalingsdata og anden fortrolig information. Interaktionen med hoved-OS foregår indirekte via et dispatch-interface. Lukkede krypteringsnøgler opbevares inden for et hardware-isoleret nøglelager, hvilket med korrekt implementering kan forhindre lækage i tilfælde af kompromittering af det primære system.
Sårbarheden er relateret til en mangel i implementeringen af algoritmen til behandling af elliptiske kurver, som førte til lækage af oplysninger om behandlingen af data. Forskere udviklede en teknik til angreb via siderkanaler, der gør det muligt at genoprette indholdet af lukkede nøgler placeret i hardware-isoleret . Lækagerne bestemmes ud fra analysen af aktiviteten i overgangen til forudsigelse og ændringer i adgangstiden til data i hukommelsen. I løbet af eksperimentet demonstrerede forskerne med succes gendannelsen af 224- og 256-bit ECDSA nøgler fra det hardware-isolerede nøglelager, der bruges i Nexus 5X smartphone. For at genoprette nøglen krævedes det at generere omkring 12.000 digitale signaturer, som tog mere end 14 timer. Til angrebet blev der anvendt værktøjer fra .
Den primære årsag til denne problematik er den fælles brug af hardwarekomponenter og cache til udregninger i TrustZone og hovedsystemet — isolationen udføres på niveauet for logisk opdeling, men ved brug af fælles beregningsblokke og med afsatser af udregninger og information om skiftadresser i den fælles proces cache. Ved hjælp af metoden Prime+Probe, der er baseret på vurdering af ændringer i adgangstider til den cachede information, kan man med en tilstrækkelig høj præcision spore datastreams og tegn på udførelse af kode relateret til udregning af digitale signaturer i TrustZone gennem kontrol af tilstedeværelsen af bestemte mønstre i cachen.
Det tager størstedelen af tiden til at generere en digital signatur ved brug af ECDSA-nøgler i Qualcomm-chips på at udføre multiplikationsoperationer i en løkke ved hjælp af en uændret initialiseringsvektor for hver signatur (). Hvis en angriber kan genskabe blot nogle få bits med information om den pågældende vektor, åbner det op for muligheden for et angreb ved sekventiel genskabelse af hele den private nøgle.
I tilfælde af Qualcomm er der identificeret to steder, hvor lignende information lækker i multiplikationsalgoritmen: ved udførelse af søgeoperationer i tabellerne og i koden til betinget dataudtræk baseret på værdien af den sidste bit i «nonce»-vektoren. På trods af at Qualcomm-koden har foranstaltninger til at modvirke lækager af information gennem sidekanaler, tillader den udviklede angrebsmetode at omgå disse foranstaltninger og bestemme flere bits af værdien af «nonce», som er tilstrækkelige til at genskabe 256-bit ECDSA-nøgler.
Kilde: opennet.ru
