Utgivelsen av OpenSSH 9.8 er publisert, en åpen implementering av en klient og server for å jobbe med SSH 2.0- og SFTP-protokollene. I tillegg til å fikse en separat annonsert kritisk sårbarhet (CVE-2024-6387), som tillater ekstern kjøring av kode med rotrettigheter på forhåndsgodkjenningsstadiet, fikser den nye versjonen en annen mindre farlig sårbarhet og foreslår flere betydelige endringer rettet mot å forbedre sikkerheten.
Den andre sårbarheten lar deg omgå beskyttelsen som er lagt til i OpenSSH 9.5 mot sidekanalangrep som analyserer forsinkelsene mellom tastetrykk på tastaturet for å gjenskape inngangen. Sårbarheten lar oss skille pakker som skaper bakgrunnsaktivitet ved å simulere fiktive tastetrykk fra pakker som sendes når virkelige taster trykkes, noe som reduserer effektiviteten til mekanismen for å skjule funksjoner ved interaktiv input i trafikk i ssh. Tastetrykkdata muliggjør angrep som gjenskaper input ved å analysere forsinkelsene mellom tastetrykk mens du skriver, som avhenger av oppsettet til tastene på tastaturet (for eksempel er responsen når du skriver bokstaven "F" raskere enn når du skriver "Q" eller " X", slik at pressing krever mindre fingerbevegelse).
I tillegg viste det seg at den implementerte algoritmen for å sende pakker med ekte og fiktive klikk reduserte påliteligheten til en annen metode for beskyttelse mot sidekanalangrep. Siden utgivelsen
OpenSSH 2.9.9 serveren sendte pakker som inneholder dummy-tastetrykk for konsollinputt i ekko-av-modus, brukt for eksempel når man skriver inn passord i su eller sudo. Den nye logikken for å sende dummy-pakker tillot passiv trafikkanalyse å isolere pakker som inneholder ekte tastetrykk i ekko-av-modus for separat analyse. Nøyaktigheten til informasjonen om tastetrykktidspunktet er imidlertid begrenset, siden pakkene etter skriving ikke sendes umiddelbart, men med faste intervaller (20 ms som standard).
Andre endringer i OpenSSH 9.8:
- På byggestadiet er støtte for digitale signaturer basert på DSA-algoritmen deaktivert som standard. DSA-implementeringen vil bli fjernet fra kodebasen tidlig i 2025. Årsaken til sletting er oppgitt som beskyttelsesnivået i DSA som ikke oppfyller moderne krav. Kostnaden for å fortsette å opprettholde en usikker DSA-algoritme er ikke verdt det, og fjerning av den vil oppmuntre til avvikling av DSA-støtte i andre SSH-implementeringer og kryptografiske biblioteker.
- For ytterligere å beskytte mot utnyttelsesmetoder som krever et stort antall tilkoblinger til sshd, er en ny beskyttelsesmodus implementert og aktivert som standard. Denne modusen bidrar også til å blokkere automatiserte passordgjettingsangrep, der roboter prøver å gjette en brukers passord ved å prøve forskjellige typiske kombinasjoner. Denne beskyttelsen implementeres gjennom blokkering. IP-adresser, som registrerer et stort antall mislykkede tilkoblingsforsøk, overvåker sshd avslutningsstatusen til underprosesser og oppdager situasjoner der autentiseringen mislyktes eller prosessen ble avsluttet unormalt på grunn av et krasj. Når en viss terskel overskrides, begynner den å blokkere forespørsler fra problematiske IP-adresser eller delnett. Parameterne PerSourcePenalties, PerSourceNetBlockSize og PerSourcePenaltyExemptList er tilgjengelige for å konfigurere blokkeringsterskelen, delnettmasken som skal blokkeres og ekskluderingslisten.
- sshd har blitt delt opp i flere separate kjørbare filer. sshd-sesjonsprosessen er allokert fra sshd for å utføre oppgaver relatert til sesjonsbehandling. sshd-prosessen beholder funksjoner som er ansvarlige for å akseptere nettverkstilkoblinger, sjekke konfigurasjoner, laste inn vertsnøkler og administrere oppstartsprosesser i samsvar med MaxStartups-parameteren. Dermed inneholder den kjørbare sshd-filen nå minimumsfunksjonaliteten som kreves for å akseptere en ny nettverkstilkobling og starte sshd-session for å håndtere økten.
- Teksten til noen feilmeldinger skrevet til loggen er endret. Spesielt blir en rekke meldinger nå sendt under navnet "sshd-session"-prosessen i stedet for "sshd".
- ssh-keyscan-verktøyet sender nå ut protokollversjon og vertsnavninformasjon til standardstrøm i stedet for STDERR. For å deaktivere utdata, er alternativet "-q" foreslått.
- I ssh er det mulig å deaktivere tilbakeføringen fra å bruke et vertsnøkkelsertifikat til å bruke vanlige vertsnøkler via HostkeyAlgorithms-direktivet.
- Den bærbare versjonen av sshd bruker ikke lenger verdien argv[0] for å bestemme PAM-tjenestenavnet. For å angi navnet på PAM-tjenesten, har et nytt direktiv "PAMServiceName" blitt lagt til sshd_config, som er satt til "sshd" som standard.
- Den bærbare versjonen av sshd sørger for at automatisk genererte filer (configure script, config.h.in, etc.) lagres i en Git-gren med utgivelser (for eksempel V_9_8), som gjorde det mulig å synkronisere sammensetningen av digitalt signert tar arkiver og filialer i Git.
- Den bærbare versjonen av ssh og ssh-agent gir modusinnstilling
SSH_ASKPASS i nærvær av miljøvariabelen WAYLAND_DISPLAY, på samme måte som for X11 dette ble gjort i nærvær av miljøvariabelen DISPLAY. - Den bærbare versjonen av sshd legger til støtte for å sende varsler til systemd når en lyttende nettverkskontakt opprettes eller startes på nytt, ved å bruke frittstående kode som ikke kaller libsystemd-biblioteket.
Kilde: opennet.ru
