Hvis de utnyttes, kan disse feilene tillate angripere å få uautorisert tilgang til sensitiv informasjon eller generelt forårsake problemer
For noen dager siden kom det nyheten om at et team av forskere fra University of California, San Diego, hadde demonstrert evnen til å gjenskape private RSA- vertnøkler fra en SSH- server ved å passivt analysere SSH-trafikk.
Den publiserte forskningen vise fram que når digitale signaturer brukes basert på algoritme RSA i SSH, binder dem sammenques som bruker Lattice-metoden (Feilangrep) til gjenskape la Clave privat RSA dens passende til digitale signaturer i saken de en svikt de programvare eller maskinvare under signaturberegningsprosessen. De essensen av metoden er que al sammenligne riktige og feil RSA digitale signaturer, kan du determinar den største vanlige deler, og dermed generere uno av primtallene som er brukt til generar la Clave.
RSA-kryptering er basert på eksponentieringsoperasjonen til et stort antall, mens den offentlige nøkkelen inneholder modulen og graden. Modulen er dannet av to tilfeldige primtall, som bare eieren av den private nøkkelen kjenner til. Angrepet kan brukes på RSA-implementeringer ved å bruke det kinesiske restteoremet og deterministiske utfyllingsskjemaer som PKCS#1 v1.5.
Et angrep kan utføres på servere der det, på grunn av en kombinasjon av omstendigheter eller handlinger fra angriperen, oppstår feil under beregningen av den digitale signaturen når en SSH-tilkobling opprettes. Disse feilene kan være programvarerelaterte (feil utførelse av matematiske operasjoner, minnekorrupsjon) eller maskinvarerelaterte (feil i driften av NVRAM og DRAM, eller feil under strømbrudd).
En måte å indusere feil på kan være gjennom RowHammer-angrep , som blant annet tillater forvrengning av individuelle minnebiter under intensive sykliske lesninger av nærliggende minneceller, enten eksternt eller ved å behandle JavaScript-kode i en nettleser . En annen måte å forårsake feil på kan være ved å utnytte sårbarheter som fører til bufferoverløp og datakorrupsjon som involverer nøkler i minnet.
For å utføre et angrep trenger man ganske enkelt passivt å overvåke legitime forbindelser til SSH-serveren inntil en feilaktig digital signatur identifiseres i trafikken. Denne signaturen kan deretter brukes til å rekonstruere den private RSA-nøkkelen. Etter å ha gjenskapt vertens RSA-nøkkel, kan en angriper bruke et MITM-angrep (man-in-the-middle) for å stille omdirigere forespørsler til en falsk vert som utgir seg for å være en kompromittert SSH-server og avskjære dataene som sendes til den.
Ved å undersøke en samling av avlyttede nettverksdata som inkluderte omtrent 5200 milliarder poster knyttet til bruken av SSH-protokollen, identifiserte forskere omtrent 3200 milliarder offentlige vertsnøkler og digitale signaturer som ble brukt under forhandlingen av SSH-sesjoner. Av disse ble 1.200 milliarder (39,1%) generert ved hjelp av RSA-algoritmen.
Forskergruppen nevner at:
I 593671 tilfeller (0,048%) var RSA-signaturen ødelagt og kunne ikke verifiseres, mens for 4962 mislykkede signaturer var vi i stand til å bruke Lattice-faktoriseringsmetoden for å bestemme den private nøkkelen fra den kjente offentlige nøkkelen, noe som resulterte i å rekonstruere 189 unike RSA nøkkelpar (i mange tilfeller ble de samme feilslåtte nøklene og enhetene brukt til å generere forskjellige ødelagte signaturer). Det tok omtrent 26 CPU-timer å gjenskape nøklene.
Problemet påvirker bare spesifikke implementeringer av SSH-protokollen, som primært brukes på innebygde enheter. Det bemerkes også at OpenSSH ikke påvirkes fordi den bruker OpenSSL-biblioteket (eller LibreSSL) til å generere nøkler, som har vært beskyttet mot sårbarhetsangrep siden 2001.
I tillegg, i OpenSSH, har ssh-rsa digital signatur-skjemaet (basert på sha1) blitt avviklet siden 2020 og deaktivert i versjon 8.8 (støtte for rsa-sha2-256 og rsa-sha2-512-skjemaene gjenstår). Angrepet kan potensielt gjelde for IPsec-protokollen, men forskerne hadde ikke nok eksperimentelle data til å bekrefte et slikt angrep i praksis.
Til slutt, hvis du er interessert i å lære mer, kan du finne detaljene på følgende lenke.