NCC Groupin tutkijat
Muistakaamme, että ARM TrustZone -teknologian avulla voit luoda laitteistoeristettyjä suojattuja ympäristöjä, jotka ovat täysin erillään pääjärjestelmästä ja toimivat erillisessä virtuaaliprosessorissa käyttämällä erillistä erikoiskäyttöjärjestelmää. TrustZonen päätarkoitus on tarjota prosessorien erillistä suoritusta salausavaimille, biometrisille todennusille, maksutiedoille ja muille luottamuksellisille tiedoille. Vuorovaikutus pääkäyttöjärjestelmän kanssa tapahtuu epäsuorasti lähetysrajapinnan kautta. Yksityiset salausavaimet on tallennettu laitteistoeristettyyn avainsäilöön, joka oikein toteutettuina voi estää niiden vuotamisen, jos taustalla oleva järjestelmä vaarantuu.
Haavoittuvuus johtuu elliptisen käyrän käsittelyalgoritmin toteutusvirheestä, joka johti tietojen vuotamiseen tietojenkäsittelyn edistymisestä. Tutkijat ovat kehittäneet sivukanavan hyökkäystekniikan, joka mahdollistaa olemassa olevien epäsuorien vuotojen avulla laitteistoeristetyssä tilassa olevien yksityisten avainten sisällön palauttamisen.
Ongelman pääasiallinen syy on yhteisten laitteistokomponenttien ja välimuistin jakaminen laskelmia varten TrustZonessa ja pääjärjestelmässä - eristäminen suoritetaan loogisen erottelun tasolla, mutta käyttämällä yhteisiä laskentayksiköitä ja laskelmien jälkiä ja tietoja haarasta osoitteet tallennetaan yhteiseen prosessorin välimuistiin. Prime+Probe-menetelmällä, joka perustuu välimuistiin tallennettujen tietojen käyttöajan muutosten arviointiin, on mahdollista tarkastamalla tiettyjen kuvioiden olemassaolo välimuistissa seurata digitaalisten allekirjoitusten laskelmiin liittyviä tietovirtoja ja koodin suorituksen merkkejä. TrustZone melko suurella tarkkuudella.
Suurin osa ajasta digitaalisen allekirjoituksen luomiseen käyttämällä ECDSA-avaimia Qualcomm-siruissa kuluu kertolaskujen suorittamiseen silmukassa käyttäen alustusvektoria, joka on muuttumaton jokaiselle allekirjoitukselle (
Qualcommin tapauksessa kertolaskualgoritmissa tunnistettiin kaksi paikkaa, joissa tällaista tietoa on vuotanut: suoritettaessa hakutoimintoja taulukoissa ja ehdollisen tiedon hakukoodissa "nonce"-vektorin viimeisen bitin arvon perusteella. Huolimatta siitä, että Qualcomm-koodi sisältää toimenpiteitä kolmannen osapuolen kanavien kautta tapahtuvien tietovuotojen estämiseksi, kehitetyn hyökkäysmenetelmän avulla voit ohittaa nämä toimenpiteet ja määrittää useita "nonce"-arvon bittejä, jotka riittävät palauttamaan 256-bittiset ECDSA-avaimet.
Lähde: opennet.ru