Marvin ir 25 gadus vecas ievainojamības atgriešana, kas ļauj veikt RSA parakstīšanas un atšifrēšanas darbības
ESORICS 2023 (Eiropas datoru drošības pētījumu simpozijs), kas notika no 25. līdz 29. septembrim Nīderlandē, Red Hat drošības pētnieks prezentēja "Marvin Attack" — uzbrukuma tehniku , kas ļauj noteikt sākotnējos datus, mērot kavēšanos atšifrēšanas darbību laikā, pamatojoties uz RSA algoritmu.
Marvina uzbrukums ir 1998. gadā ierosinātās Bleihenbahera metodes variācija un turpina 2017. un 2019. gadā publicēto ROBOT un New CAT uzbrukumu attīstību.
Marvin uzbrukums ir 25 gadus vecas ievainojamības atgriešana, kas ļauj veikt RSA parakstīšanas un atšifrēšanas darbības kā uzbrucējam ar iespēju novērot tikai ar privāto atslēgu veiktās atšifrēšanas operācijas laiku.
1998. gadā Daniels Bleihenbahers atklāja, ka kļūdu ziņojumi, ko SSL serveri sniedz par kļūdām PKCS #1 v1.5 pildījumā, iespējo adaptīvi izvēlētu šifrēta teksta uzbrukumu; Šis uzbrukums pilnībā pārkāpj TLS konfidencialitāti, ja to izmanto kopā ar RSA šifrēšanu. 2018. gadā Hanno Boks, Jurajs Somorovskis un Kreigs Jangs 19 gadus vēlāk pierādīja, ka daudzi interneta serveri joprojām ir neaizsargāti pret nelielām sākotnējā uzbrukuma izmaiņām.
Būtībā metode ietver uzbrucēju, kurš, pamatojoties uz dažādām servera reakcijām un izpildes laikiem, var atdalīt pareizos un nepareizos Oracle blokus, kas pievienoti, izmantojot PKCS #1 v1.5 standartu, lai izlīdzinātu šifrētos datus gar bloku robežu. Manipulējot informāciju par papildināšanas bloku precizitāti, uzbrucējs var izmantot brutālu spēku, lai atjaunotu derīgu šifrtekstu.
Šajā gadījumā uzbrukums tieši neatgūst privāto atslēgu; tas tikai ļauj atšifrēt šifrtekstu vai ģenerēt viltotu parakstītu ziņojumu. Lai veiktu veiksmīgu uzbrukumu, atšifrēšanai ir jānosūta ļoti liels apjoms testa ziņojumu.
Uzbrukuma izmantošana pret TLS serveriem, kas izmanto uz RSA balstītu šifrēšanu, ļauj uzbrucējam pasīvi uzglabāt pārtverto datplūsmu un pēc tam to atšifrēt . Serveriem, kas atbalsta PFS, uzbrukuma veikšana kļūst daudz sarežģītāka, un panākumi ir atkarīgi no tā, cik ātri uzbrukums tiek izpildīts.
Turklāt metode ļauj ģenerēt fiktīvu digitālo parakstu , kas pārbauda atslēgu apmaiņas posmā pārraidīto ServerKeyExchange ziņojumu saturu TLS 1.2 vai CertificateVerify ziņojumu saturu TLS 1.3, un ko var izmantot MITM uzbrukumu veikšanai, lai pārtvertu TLS savienojumu starp klientu un serveri.
Tiek minēts, ka atšķirība starp Marvina metodi ir saistīta ar uzlabotu tehnoloģiju pareizu un nepareizu papildu datu atdalīšanai , viltus pozitīvu rezultātu filtrēšanu, precīzāku aprēķinu kavējumu noteikšanu un papildu trešo pušu kanālu izmantošanu mērījumu laikā.
Praksē piedāvātā metode ļauj atšifrēt trafiku vai ģenerēt ciparparakstus, nezinot privāto RSA atslēgu. Lai pārbaudītu uzbrukuma pielietojamību, tika publicēts īpašs skripts TLS serveru pārbaudei un rīki problēmu identificēšanai bibliotēkās.
Problēma ietekmē vairākus protokolu ieviešanas veidus, kas izmanto RSA un PKCS . Lai gan mūsdienu kriptogrāfiskās bibliotēkas satur zināmu aizsardzību pret uzbrukumiem, kuru pamatā ir Bleihenbahera metode, pētījums atklāja, ka šīm bibliotēkām ir atvērti noplūdes kanāli un tās nenodrošina konsekventu apstrādes laiku paketēm ar pareizu un nepareizu papildināšanu. Piemēram, Marvina GnuTLS uzbrukuma ieviešana nav saistīta ar kodu, kas tieši veic ar RSA saistītus aprēķinus, bet gan izmanto atšķirīgus izpildes laikus kodam, kas izlemj, vai parādīt konkrētu kļūdas ziņojumu.
Pētījuma autors arī uzskata, ka aplūkotā ievainojamību klase neaprobežojas tikai ar RSA un var ietekmēt daudzus citus kriptogrāfijas algoritmus, kas veselo skaitļu aprēķinos ir atkarīgi no standarta bibliotēkām.
Lai apstiprinātu iespēju īstenot Marvina uzbrukumu praksē, pētnieks demonstrēja metodes pielietojamību lietojumprogrammām, kuru pamatā ir M2Crypto un pyca/kriptogrāfijas bibliotēkas, kurās pietika ar dažām stundām, lai apdraudētu šifrēšanu, veicot eksperimentu ar vidējais klēpjdators.
Visbeidzot, ja vēlaties uzzināt vairāk, informāciju varat atrast tālāk norādītajā saitē.