„Minerva“: serija ECDSA / EdDSA diegiamų pažeidžiamumų

"Minerva"

Masaryko universiteto mokslininkai atskleidė informaciją svarbus apie pažeidžiamumą įvairūs ašECDSA / EdDSA skaitmeninio parašo generavimo algoritmo diegimas, tai leidžia susigrąžinti privataus rakto vertę, remiantis atskirų bitų informacijos nutekėjimo analize, kuri atsiranda taikant analizės metodus trečiųjų šalių kanalais. Pažeidžiamieji kodai yra „Minerva“.

Garsiausi projektai kad turi įtakos siūlomas atakos metodas yra „OpenJDK“, „Oracle“ JDK (CVE-2019-2894) ir biblioteką libgcrypt (CVE-2019-13627), naudojama „GnuPG“. Problemos yra taip pat imlios bibliotekoms MatrixSSL, Crypto ++, wolfCrypt, elipsinė, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa taip pat kai kurias intelektualias korteles „Athena IDProtect“, šarvuota „TecSec“ kortelė, „SafeNet eToken 4300“, „Valid S / A IDflex V.“

Be šiuo metu paminėtų pažeidžiamumų, jie nėra paveikti „OpenSSL“, „Botan“, „mbedTLS“ ir „BoringSSL“. „Mozilla NSS“, „LibreSSL“, „Dilgėlė“, „BearSSL“, „cryptlib“, „OpenSSL“ FIPS režimu. „Microsoft .NET crypto“, „Linux“ branduolio „libkcapi“, „Sodium“ ir „GnuTLS“ dar nereikia išbandyti.

Mes radome diegimų, kurie praranda skalaro bitų ilgį skaliarinio padauginimo metu ECC. Šis nutekėjimas gali atrodyti nedidelis, nes bitų ilgis skalare turi labai mažai informacijos. Tačiau ECDSA / EdDSA parašo generavimo atveju, norint visiškai atkurti privatųjį raktą, naudojamą stebint nuo kelių šimtų iki kelių tūkstančių parašų žinomuose pranešimuose, pakanka atsitiktinės nonce bitų ilgio filtravimo dėl programos kai kurių metodų.

Manome, kad tai paveikė visas ankstesnes korteles, nes joms būdingas bendras ECDSA komponentas („FIPS 214“ modulis), kuris „Inside Secure AT2SC A755“ (programinė aparatinė įranga) apibūdinamas kaip „Athena OS90 ECDSA1.0“ komponentas. Mes išbandėme pažeidimą tik „Athena IDProtect“ kortelėje su CPLC ir ATR duomenimis

Problema kyla dėl galimybės nustatyti atskiras bitų reikšmes padauginus iš skalaro ECC prekybos metu. Norėdami gauti bitų informaciją, naudojami netiesioginiai metodai, tokie kaip skaičiavimų vėlavimo įvertinimas.

Atakai reikalinga privilegijuota prieiga prie šeimininko kuriame generuojamas skaitmeninis parašas (neatmetama nuotolinė ataka, tačiau ji yra labai sudėtinga ir reikalinga daug duomenų analizei, todėl ją galima laikyti mažai tikėtina).

Nepaisant nedidelio nuotėkio dydžio, ECDSA užtenka net kelių bitų apibrėžimo su informacija apie inicializavimo vektorių (nonce), kad įvykdytume ataką nuosekliai atkuriant visą privatų raktą.

Pasak metodo autorių, Norint sėkmingai atkurti raktą, pakanka kelių šimtų ar kelių tūkstančių sukurtų skaitmeninių parašų analizės už užpuolikui žinomas žinutes. Pavyzdžiui, norint nustatyti „Athena IDProtect“ intelektualiojoje kortelėje naudojamą privatųjį raktą pagal „Inside Secure AT90SC“ lustą, naudojant elipsinę kreivę secp256r1, buvo išanalizuota 11 tūkstančių skaitmeninių parašų. Bendras atakos laikas buvo 30 minučių.

Mūsų atakos kodas ir koncepcijos įrodymas yra įkvėptas Brumley & Tuveri metodo.

Problema jau buvo išspręsta libgcrypt 1.8.5 ir wolfCrypt 4.1.0, kiti projektai dar neatnaujino atnaujinimų. Taip pat galima atsekti pažeidžiamumo pataisas pakete libgcrypt paskirstant šiuos puslapius: debian, ubuntu, RHEL, Minkšta fetrinė skrybėlė, „openSUSE“ / „SUSE“, FreeBSD, Arch.

Tyrėjai taip pat išbandė kitas korteles ir bibliotekas, kurios nėra pažeidžiamos:

  • „OpenSSL 1.1.1d“
  • „BouncyCastle“ 1.58
  • NuobodusSSL 974f4dddf
  • libtomcrypt 1.18.2
  • Botanas 2.11.0
  • „Microsoft CNG“
  • „mbedTLS 2.16.0“
  • „Intel IPP-Crypto“

Kortelės

  • Karštas vanduo ACOSJ 40K
  • „Feitian A22CR“
  • „G&D SmartCafe 6.0“
  • „G&D SmartCafe 7.0“
  • „Infineon CJTOP 80K INF SLJ 52GLA080AL M8.4“
  • „Infineon SLE78 Universal JCard“
  • NXP JCOP31 v2.4.1
  • NXP JCOP CJ2A081
  • NXP JCOP v2.4.2 R2
  • NXP JCOP v2.4.2 R3
  • „SIMOME TaiSYS Vault“

Jei norite daugiau sužinoti apie naudojamą ataką ir aptiktus pažeidžiamumus, galite tai padaryti sekanti nuoroda. Priemonę, naudojamą atakos atkartojimui, galima atsisiųsti.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.