SÄrbarhet i Qualcomm-chips som gör det möjligt att extrahera privata nycklar frÄn TrustZone-lagring

Forskare frĂ„n NCC Group koden detaljer sĂ„rbarheter (CVE-2018-11976) i Qualcomm-chips, vilket gör det möjligt att identifiera innehĂ„llet av slutna krypteringsnycklar som lagras i den isolerade enklaven Qualcomm QSEE (Qualcomm Secure Execution Environment), som Ă€r baserad pĂ„ ARM TrustZone-teknologi. Problemet visar sig i de flesta Snapdragon SoC, som anvĂ€nds i smartphones baserade pĂ„ Android-plattformen. ÅtgĂ€rder för att lösa problemet har redan Rust-bindningar för införlivats i aprilsuppdateringen av Android och i nya versioner av firmware för Qualcomm-chips. Qualcomm tog mer Ă€n ett Ă„r att förbereda lösningen — information om sĂ„rbarheten skickades ursprungligen till Qualcomm redan den 19 mars 2018.

Vi pÄminner om att ARM TrustZone-teknologin möjliggör skapandet av hÄrdvaru-isolerade skyddade miljöer som Àr helt separerade frÄn det primÀra systemet och exekveras pÄ en separat virtuell processor med en speciell operativsystem. Huvudsyftet med TrustZone Àr att sÀkerstÀlla isolerad exekvering av krypteringsnyckelhanterare, biometrisk autentisering, betalningsinformation och annan konfidentiell information. Interaktion med det primÀra operativsystemet sker indirekt via ett dispatch-grÀnssnitt. Slutna krypteringsnycklar lagras inom ett hÄrdvaru-isolerat nyckellager, vilket, vid korrekt implementering, förhindrar lÀckage vid kompromettering av det primÀra systemet.

SÄrbarheten Àr kopplad till ett bristande genomförande av algoritmen för elliptiska kurvor, vilket ledde till lÀckage av information om bearbetningsprocessen. Forskare har utvecklat en teknik för attacker via sidokanaler, vilket gör det möjligt att ÄterstÀlla innehÄllet i slutna nycklar genom de indirekta lÀckorna. Android Keystore. LÀckor identifieras genom analys av aktiviteter i övergÄngsförutsÀgelseblock och tid för Ätkomst till data i minnet. Under experimentet lyckades forskarna framgÄngsrikt demonstrera ÄterstÀllning av 224- och 256-bitars ECDSA-nycklar frÄn det hÄrdvaru-isolerade nyckellagret som anvÀnds i Nexus 5X. För att ÄterstÀlla nyckeln krÀvdes det att cirka 12 000 digitala signaturer genererades, vilket tog mer Àn 14 timmar. För attacken anvÀndes verktygen Cachegrab.

Den huvudsakliga orsaken till problemet Ă€r delningen av gemensamma hĂ„rdvarukomponenter och cache för berĂ€kningar i TrustZone och det primĂ€ra systemet – isoleringen görs pĂ„ nivĂ„ av logisk uppdelning, men med anvĂ€ndning av gemensamma berĂ€kningsblock och med spĂ„r frĂ„n berĂ€kningar och information om övergĂ„ngsadresser som lagras i den gemensamma processor-cachen. Med metoden Prime+Probe, som baseras pĂ„ att mĂ€ta förĂ€ndringen i Ă„tkomsttiden till cachad information, kan man med tillrĂ€ckligt hög precision spĂ„ra datastreams och tecken pĂ„ kodexekvering relaterad till berĂ€kningarna av digitala signaturer i TrustZone genom att kontrollera förekomsten av specifika mönster i cachen.

Största delen av tiden som gÄr Ät för att skapa en digital signatur med ECDSA-nycklar i Qualcomm-chips anvÀnds för att utföra multiplikationsoperationer i cykler med en oförÀndrad initialiseringsvektor för varje signatur (nonce). Om en angripare kan ÄterstÀlla Ätminstone nÄgra bitar av information om denna vektor, finns det möjlighet att genomföra en attack genom sekventiell ÄterstÀllning av hela den privata nyckeln.

I fallet med Qualcomm har tvÄ stÀllen för lÀckage av liknande information identifierats i multiplikationsalgoritmen: vid utförandet av operationer för att söka i tabeller och i koden för villkorlig extraktion av data baserat pÄ det sista bitvÀrdet i vektorn "nonce". Trots att det finns ÄtgÀrder i Qualcomm-koden för att motverka lÀckage av information via sidokanaler, möjliggör den utvecklade attackmetoden att kringgÄ dessa ÄtgÀrder och identifiera flera bitar av vÀrdet pÄ "nonce", vilket Àr tillrÀckligt för att ÄterstÀlla 256-bitars ECDSA-nycklar.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster