Qualcommi kiipide haavatavus, mis võimaldab privaatvõtmeid TrustZone'i salvestusruumist eraldada

NCC Groupi teadlased katmata üksikasjad haavatavused (CVE-2018-11976). Probleem avaldub selles enamus Snapdragon SoC, mis on laialt levinud Androidi platvormil põhinevates nutitelefonides. Parandused, mis probleemi lahendavad, on juba olemas kaasatud aprilli Androidi värskenduses ja uutes Qualcommi kiipide püsivara versioonides. Qualcommil kulus paranduse ettevalmistamiseks rohkem kui aasta; teave haavatavuse kohta saadeti Qualcommile algselt 19. märtsil 2018.

Tuletame meelde, et ARM TrustZone tehnoloogia võimaldab luua riistvaraliselt isoleeritud kaitstud keskkondi, mis on põhisüsteemist täielikult eraldatud ja töötavad eraldi virtuaalsel protsessoril, kasutades selleks eraldi spetsialiseeritud operatsioonisüsteemi. TrustZone'i põhieesmärk on pakkuda krüpteerimisvõtmete, biomeetrilise autentimise, makseandmete ja muu konfidentsiaalse teabe töötlejate isoleeritud täitmist. Peamise OS-iga suhtlemine toimub kaudselt saatmisliidese kaudu. Privaatsed krüpteerimisvõtmed salvestatakse riistvarast eraldatud võtmehoidlas, mis võib õige rakendamise korral vältida nende lekkimist, kui alussüsteem on ohustatud.

Haavatavuse põhjuseks on elliptilise kõvera töötlusalgoritmi rakendamise viga, mis tõi kaasa teabe lekkimise andmetöötluse edenemise kohta. Teadlased on välja töötanud külgkanali rünnakutehnika, mis võimaldab olemasolevate kaudsete lekete abil taastada riistvaraliselt isoleeritud privaatvõtmete sisu. Androidi võtmepood. Lekked tehakse kindlaks haru ennustusploki aktiivsuse analüüsi ja mälus olevatele andmetele juurdepääsuaja muutuste põhjal. Katses demonstreerisid teadlased edukalt 224- ja 256-bitiste ECDSA-võtmete taastamist Nexus 5X nutitelefonis kasutatavast riistvarast eraldatud võtmehoidlast. Võtme taastamine nõudis umbes 12 tuhande digitaalallkirja genereerimist, mis võttis aega üle 14 tunni. Rünnaku läbiviimiseks kasutatud tööriistad Cachegrab.

Probleemi peamiseks põhjuseks on ühiste riistvarakomponentide ja vahemälu jagamine arvutuste jaoks TrustZone'is ja põhisüsteemis - isoleerimine toimub loogilise eraldamise tasemel, kuid tavaliste arvutusüksuste abil ning arvutuste jälgedega ja teabega haru kohta. aadressid salvestatakse protsessori ühisesse vahemällu. Prime+Probe meetodil, mis põhineb vahemällu salvestatud teabele juurdepääsuaja muutuste hindamisel, on vahemälus teatud mustrite olemasolu kontrollimisel võimalik jälgida digitaalallkirjade arvutustega seotud andmevoogusid ja koodi täitmise märke. TrustZone üsna suure täpsusega.

Suurem osa ajast digitaalallkirja genereerimiseks Qualcommi kiipides ECDSA võtmete abil kulub korrutamistoimingute sooritamisele tsüklis, kasutades lähtestamisvektorit, mis on iga allkirja puhul muutumatu (nuntsius). Kui ründaja suudab selle vektori teabega taastada vähemalt mõned bitid, on võimalik kogu privaatvõtme järjestikuse taastamiseks rünnak läbi viia.

Qualcommi puhul tuvastati korrutamisalgoritmis kaks kohta, kus selline info lekkis: otsinguoperatsioonide sooritamisel tabelites ja tingimusliku andmeotsingu koodis “nonce” vektori viimase biti väärtuse alusel. Hoolimata asjaolust, et Qualcommi kood sisaldab meetmeid teabelekete tõkestamiseks kolmandate osapoolte kanalite kaudu, võimaldab väljatöötatud ründemeetod teil neist meetmetest mööda minna ja määrata mitu bitti "nonce" väärtusest, millest piisab 256-bitiste ECDSA võtmete taastamiseks.

Allikas: opennet.ru

Lisa kommentaar