Jauna sānu kanāla uzbrukuma tehnika ECDSA atslēgu atkopšanai

Pētnieki no universitātes. Masaryk bez pārklājuma informācija par ievainojamības dažādās ECDSA/EdDSA digitālā paraksta izveides algoritma implementācijās, kas ļauj atjaunot privātās atslēgas vērtību, pamatojoties uz informācijas noplūdes analīzi par atsevišķiem bitiem, kas rodas, izmantojot trešās puses analīzes metodes. Ievainojamības tika nosauktas par Minerva.

Vispazīstamākie projekti, kurus ietekmē piedāvātā uzbrukuma metode, ir OpenJDK/OracleJDK (CVE-2019-2894) un bibliotēka. libgcrypt (CVE-2019-13627), ko izmanto GnuPG. Arī uzņēmīgi pret problēmu MatrixSSL, Kripto++, wolfCrypt, eliptisks, jsrsasign, python-ecdsa, ruby_ecdsa, fastecdsa, viegli-ecc un Athena IDProtect viedkartes. Nav pārbaudīts, bet derīgās S/A IDflex V, SafeNet eToken 4300 un TecSec Armored Card kartes, kurās tiek izmantots standarta ECDSA modulis, arī tiek pasludinātas par potenciāli ievainojamām.

Problēma jau ir novērsta libgcrypt 1.8.5 un wolfCrypt 4.1.0 laidienos, pārējie projekti vēl nav ģenerējuši atjauninājumus. Varat izsekot libgcrypt pakotnes ievainojamības labojumam izplatījumos šajās lapās: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Arka.

Ievainojamības nav uzņēmīgi OpenSSL, Botan, mbedTLS un BoringSSL. Vēl nav pārbaudīts Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL FIPS režīmā, Microsoft .NET kriptogrāfija,
libkcapi no Linux kodola, Sodium un GnuTLS.

Problēmu rada iespēja noteikt atsevišķu bitu vērtības skalārās reizināšanas laikā eliptiskās līknes operācijās. Bitu informācijas iegūšanai tiek izmantotas netiešas metodes, piemēram, skaitļošanas kavēšanās novērtēšana. Uzbrukumam ir nepieciešama nepiešķirta piekļuve resursdatoram, kurā tiek ģenerēts ciparparaksts (nevis izslēgts un attālināts uzbrukums, taču tas ir ļoti sarežģīts un analīzei nepieciešams liels datu apjoms, tāpēc to var uzskatīt par maz ticamu). Iekraušanai pieejams uzbrukumam izmantotie instrumenti.

Neskatoties uz nenozīmīgo noplūdes apjomu, ECDSA pietiek ar pat dažu bitu noteikšanu ar informāciju par inicializācijas vektoru (nonce), lai veiktu uzbrukumu, lai secīgi atgūtu visu privāto atslēgu. Pēc metodes autoru domām, lai veiksmīgi atgūtu atslēgu, pietiek ar analīzi no vairākiem simtiem līdz vairākiem tūkstošiem ciparparakstu, kas ģenerēti uzbrucējam zināmiem ziņojumiem. Piemēram, 90 tūkstoši ciparparakstu tika analizēti, izmantojot eliptisku līkni secp256r1, lai noteiktu privāto atslēgu, kas izmantota Athena IDProtect viedkartē, kuras pamatā ir Inside Secure AT11SC mikroshēma. Kopējais uzbrukuma laiks bija 30 minūtes.

Avots: opennet.ru

Pievieno komentāru