Marvin este revenirea unei vulnerabilități vechi de 25 de ani care permite operațiunile de semnare și decriptare RSA
În cadrul ESORICS 2023 (Simpozionul European privind Cercetarea Securității Informatice) desfășurat în perioada 25-29 septembrie în Olanda, un cercetător în domeniul securității care lucrează pentru Red Hat a prezentat „Marvin Attack”, o tehnică de atac care permite determinarea datelor originale prin măsurarea întârzierilor din timpul operațiunilor de decriptare pe baza algoritmului RSA.
Atacul Marvin este o variantă a metodei Bleichenbacher, propusă în 1998 , și continuă dezvoltarea atacurilor ROBOT și New CAT publicate în 2017 și 2019.
Atacul Marvin este revenirea unei vulnerabilități veche de 25 de ani care permite efectuarea operațiunilor de semnare și decriptare RSA în calitate de atacator cu posibilitatea de a observa doar timpul operațiunii de decriptare efectuată cu cheia privată.
În 1998, Daniel Bleichenbacher a descoperit că mesajele de eroare furnizate de serverele SSL pentru erori în umplutura PKCS #1 v1.5 au permis un atac de text cifrat ales adaptiv; Acest atac rupe complet confidențialitatea TLS atunci când este utilizat cu criptarea RSA. În 2018, Hanno Böck, Juraj Somorovsky și Craig Young au arătat 19 ani mai târziu că multe servere de internet sunt încă vulnerabile la variații ușoare ale atacului inițial.
Practic, metoda implică un atacator care, pe baza diferitelor reacții ale serverului și a timpilor de execuție, poate separa blocurile Oracle corecte și incorecte adăugate folosind standardul PKCS #1 v1.5 pentru a alinia datele criptate de-a lungul limitei blocului. Prin manipularea informațiilor despre acuratețea blocurilor de umplutură, un atacator poate folosi forța brută pentru a recrea un text cifrat valid.
În acest caz, atacul nu recuperează direct cheia privată; permite doar decriptarea textului cifrat sau generarea unui mesaj semnat falsificat. Pentru a efectua un atac cu succes, trebuie trimis un volum foarte mare de mesaje de test pentru decriptare.
Utilizarea unui atac împotriva serverelor TLS care utilizează criptare bazată pe RSA permite unui atacator să stocheze pasiv traficul interceptat și apoi să îl decripteze . Pentru serverele care acceptă PFS, efectuarea unui atac devine mult mai dificilă, iar succesul depinde de cât de repede este executat atacul.
În plus, metoda permite generarea unei semnături digitale fictive care verifică conținutul mesajelor ServerKeyExchange în TLS 1.2 sau al mesajelor CertificateVerify în TLS 1.3 transmise în timpul etapei de schimb de chei, putând fi utilizată pentru a efectua atacuri MITM pentru a intercepta conexiunea TLS dintre client și server.
Se menționează că diferența dintre metoda Marvin se reduce la tehnologia îmbunătățită pentru separarea datelor incrementale corecte de cele incorecte , filtrarea rezultatelor fals pozitive, determinarea mai precisă a întârzierilor de calcul și utilizarea unor canale terțe suplimentare în timpul măsurării.
În practică, metoda propusă permite decriptarea traficului sau generarea de semnături digitale fără a cunoaște cheia RSA privată. Pentru a testa aplicabilitatea atacului, a fost publicat un script special pentru verificarea serverelor TLS și instrumente pentru identificarea problemelor din biblioteci.
Problema afectează mai multe implementări de protocoale care utilizează RSA și PKCS . Deși bibliotecile criptografice moderne conțin o oarecare protecție împotriva atacurilor bazate pe metoda Bleichenbacher, studiul a relevat că aceste biblioteci au canale de scurgere deschise și nu oferă un timp de procesare consistent pentru pachetele cu umplutură corectă și incorectă. De exemplu, implementarea atacului GnuTLS de către Marvin nu este legată de codul care efectuează direct calcule legate de RSA, ci utilizează timpi de execuție diferiți pentru codul care decide dacă să afișeze un anumit mesaj de eroare.
De asemenea, autorul studiului consideră că clasa de vulnerabilități luate în considerare nu se limitează la RSA și poate afecta mulți alți algoritmi criptografici care depind de bibliotecile standard pentru calculele întregi.
Pentru a confirma posibilitatea efectuării atacului Marvin în practică, cercetătorul a demonstrat aplicabilitatea metodei la aplicații bazate pe bibliotecile M2Crypto și pyca/criptografie, în care câteva ore au fost suficiente pentru a compromite criptarea prin efectuarea unui experiment pe un laptop mediu.
În final, dacă sunteți interesați să aflați mai multe, puteți găsi detalii la linkul următor.