Uuringud tegi NCC Group haavat () Qualcommi kiiprites, mis võimaldab ligipääsu krüpteerimise sulgemise võtmete sisu, mis asuvad Qualcomm QSEE-is (Qualcomm Secure Execution Environment), mis põhineb ARM TrustZone tehnoloogial. Probleem avaldub Snapdragoni SoC-des, mis on laialdaselt kasutusel Androidi platvormile põhinevates nutitelefonides. Probleemi lahendavad parandused on juba kaasanud aprillikuu Androidi uuendusse ja uutesse Qualcommi kiipide tarkvaraversioonidesse. Qualcommi ettepanekute valmistamiseks kulus rohkem kui aasta – esialgsed teated haavatavusest saadeti Qualcommile juba 19. märtsil 2018.
Tuletame meelde, et ARM TrustZone tehnoloogia võimaldab luua riistvaraliselt isoleeritud turvalisi keskkondi, mis on täielikult eraldatud peamisest süsteemist ja töötavad eraldi virtuaalprotsessoril, kasutades eraldi spetsialiseeritud operatsioonisüsteemi. TrustZonei peamine eesmärk on tagada isoleeritud töötlemine krüpteerimise võtmete, biometrilise autentimise, makseandmete ja muude konfidentsiaalsete andmete jaoks. Suhtlemine peamise operatsioonisüsteemiga toimub kaudselt halduri liidese kaudu. Suletud krüpteerimisvõtmed asuvad riistvaraliselt isoleeritud võtmehoidlas, mis õige rakendamise korral takistab nende leket juhul, kui peamine süsteem on ohustatud.
Haavatavus on seotud algoritmi defekti tõttu, mille tulemusena lekitatakse teavet andmete töötlemise edenemise kohta. Teadlased töötasid välja külgkanali rünnaku tehnika, mis võimaldab olemasolevatest kaudsetest lekete kaudu taastada sulgemise võtmete sisu, mis asuvad riistvaraliselt isoleeritud . Lekkeid tuvastatakse, analüüsides ennustamisploki tegevuse ja andmete juurde pääsemise ajalise muutuse aktiivsust. Katse käigus demonstreerisid teadlased edukalt 224- ja 256-bitiste ECDSA võtmete taastamist riistvaraliselt isoleeritud võtmehoidlast, mida kasutati Nexus 5X nutitelefonis. Võtme taastamiseks oli vajalik genereerida umbes 12 000 digitaalset allkirja, millega kulus enam kui 14 tundi. Rünnaku läbiviimiseks kasutati tööriista .
Peamine probleemide põhjus on ühiste riistvarakomponentide ja vahemälu jagamine TrustZone'is ja peamises süsteemis – isoleerimine toimub loogilise jagamise tasemel, kuid koos üldiste arvutustootmise blokidega ning arvutuste jälgede ja aadresside teabe jääkidega üldises protsessori vahemälus. Prime+Probe meetodi abil, mis põhineb vahemälus olevate andmete ligipääsu ajamuutuse hindamisel, võib teatud mustrite olemasolu vahemälus kontrollimise kaudu üsna täpselt jälgida andmevooge ja tunnuseid, mis on seotud digitaalsete allkirjade arvutustega TrustZoneis.
Enamik ECDSA võtmetega digitaalsete allkirjade genereerimise aega Qualcommi kiipides kulub korduvate operaatorite teostamisele kasutades iga allkirja jaoks sama initsialiseerimisvektorit (). Kui ründajal õnnestub taastada vähemalt mõned bitid selle initsialiseerimisvektori kohta, tekib võimalus rünnata ja järjestikku taastada kogu sulgemise võti.
Qualcommi puhul on tuvastatud kaks sarnase teabe leket multiplikatsiooni algoritmi töö käigus: tabeliotsingute teostamisel ja tingimuslike andmete ekstraheerimise koodis, mis põhineb initsialiseerimisvektori viimase bitise väärtusel. Kuigi Qualcommi koodis on olemas meetmed kõrvalkanalite lekete tõkestamiseks, võimaldab välja töötatud rünnaku meetod nende meetmete ületamist ja määrata mitmeid bitid „nonce” väärtusest, mis on piisavad 256-bitiste ECDSA võtmete taastamiseks.
Allikas: opennet.ru
