Marvin Attack, et tidsbasert RSA-cracking-angrep

Marvin angrep

Marvin er tilbakekomsten av en 25 år gammel sårbarhet som tillater RSA-signering og dekrypteringsoperasjoner

Under ESORICS 2023 (European Symposium on Computer Security Research) som ble holdt fra 25. til 29. september i Nederland, en sikkerhetsforsker som jobber for Red Hat, presenterte "Marvin Attack", en angrepsteknikk som gjør at originaldata kan bestemmes ved å måle forsinkelser under operasjoner dekryptering basert på RSA-algoritmen.

Marvin angrep, Det er en variant av Bleichenbacher-metoden, foreslått i 1998, og fortsetter utviklingen av ROBOT- og New CAT-angrepene publisert i 2017 og 2019.

Marvin-angrepet er tilbakeføringen av en 25 år gammel sårbarhet som gjør at RSA-signerings- og dekrypteringsoperasjoner kan utføres som en angriper med muligheten til kun å observere tidspunktet for dekrypteringsoperasjonen utført med den private nøkkelen.

I 1998 oppdaget Daniel Bleichenbacher at feilmeldinger levert av SSL-servere for feil i PKCS #1 v1.5 padding muliggjorde et adaptivt valgt chiffertekstangrep; Dette angrepet bryter fullstendig konfidensialiteten til TLS når det brukes med RSA-kryptering. I 2018 demonstrerte Hanno Böck, Juraj Somorovsky og Craig Young 19 år senere at mange Internett-servere fortsatt var sårbare for små variasjoner av det opprinnelige angrepet.

I utgangspunktet nevnes det at essensen av metoden er det en angriper, basert på forskjellige serverreaksjoner og forskjellige utførelsestider, kan skille riktige og feil orakelblokker Lagt til med PKCS #1 v1.5-standarden for å justere krypterte data langs blokkgrensen. Ved å manipulere informasjon om riktigheten til polstringsblokker, kan en angriper bruke brute force for å gjenskape en passende chiffertekst.

I dette tilfellet gjenoppretter ikke angrepet den private nøkkelen direkte, men dekrypterer bare teksten. kryptering eller generere en falsk signert melding. For å gjennomføre et vellykket angrep er det nødvendig å sende et veldig stort volum av testmeldinger som skal dekrypteres.

Bruke et angrep mot servere TLS bruker kryptering basert på RSA-nøkler lar angriperen passivt lagre avlyttet trafikk og deretter dekryptere den. For servere som støtter PFS blir det mye vanskeligere å utføre et angrep, og suksessen avhenger av hvor raskt angrepet utføres.

Videre metoden gjør det mulig å generere en fiktiv digital signatur som verifiserer innholdet i TLS 1.2 ServerKeyExchange-meldinger eller TLS 1.3 CertificateVerify-meldinger som sendes i nøkkelutvekslingsstadiet, som kan brukes til å utføre MITM-angrep for å avskjære TLS-forbindelsen mellom klienten og serveren.

Det er nevnt at forskjellen mellom metoden Marvin er redusert til en Forbedret teknologi for å skille korrekte og ukorrekte inkrementelle data, filtrer falske positiver, bestemme beregningsforsinkelser mer nøyaktig og bruk ytterligere tredjepartskanaler under måling.

I praksis tillater den foreslåtte metoden dekryptering av trafikk eller generering av digitale signaturer uten å kjenne til den private RSA-nøkkelen. For å teste anvendeligheten av angrepet ble det publisert et spesielt skript for å sjekke TLS-servere og verktøy for å identifisere problemer i biblioteker.

Problemet påvirker flere protokollimplementeringer som bruker RSA og PKCS. Selv om moderne kryptografiske biblioteker inneholder en viss beskyttelse mot angrep basert på Bleichenbacher-metoden, studie avslørte at biblioteker har åpne lekkasjekanaler og gir ikke en konstant behandlingstid for riktig og feil fylte pakker. Marvins implementering av GnuTLS-angrepet er for eksempel ikke knyttet til kode som direkte utfører RSA-relaterte beregninger, men bruker i stedet forskjellige kjøretider for kode som bestemmer om en bestemt feilmelding skal vises.

Forfatteren av studien mener også at klassen av sårbarheter som vurderes ikke er begrenset til RSA og kan påvirke mange andre kryptografiske algoritmer som er avhengige av standardbiblioteker for heltallsberegninger.

For å bekrefte muligheten for å utføre Marvin-angrepet i praksis, demonstrerte forskeren anvendeligheten av metoden til applikasjoner basert på M2Crypto og pyca/kryptografi-bibliotekene, der noen timer var nok til å kompromittere krypteringen ved å utføre et eksperiment på en gjennomsnittlig bærbar datamaskin.

Til slutt, hvis du er interessert i å kunne vite mer om det, kan du se detaljene i følgende lenke.


Legg til som foretrukket kilde i Google