Rilascio di OpenSSH 9.8 con disabilitazione dell'algoritmo DSA e meccanismi di protezione aggiuntivi

È stato rilasciato OpenSSH 9.8, un'implementazione open source di client e server per i protocolli SSH 2.0 e SFTP. Oltre a risolvere una vulnerabilità critica precedentemente annunciata (CVE-2024-6387), che consente l'esecuzione remota di codice con privilegi di root prima dell'autenticazione, la nuova versione include una vulnerabilità meno pericolosa e diverse modifiche significative mirate a migliorare la sicurezza.

La seconda vulnerabilità permette di aggirare la protezione contro attacchi tramite canali laterali, implementata nella versione OpenSSH 9.5, che analizza i ritardi tra le pressioni dei tasti sulla tastiera per ricreare l'input. La vulnerabilità consente di distinguere i pacchetti che generano attività di sfondo attraverso la simulazione fittizia di pressioni dei tasti, dai pacchetti inviati durante la pressione dei tasti reali, riducendo l'efficacia del meccanismo di occultamento delle peculiarità dell'input interattivo nel traffico ssh. I dati sulle pressioni dei tasti possono essere utilizzati in attacchi che ricreano l'input basato sull'analisi dei ritardi tra le pressioni durante la digitazione, che dipendono dalla disposizione dei tasti sulla tastiera (ad esempio, la reazione nella digitazione della lettera "F" è più rapida rispetto a "Q" o "X", poiché richiede meno movimenti delle dita).

Inoltre, è emerso che l'algoritmo implementato per l'invio di pacchetti con pressioni dei tasti reali e fittizie riduceva l'affidabilità di un altro metodo di protezione contro attacchi tramite canali laterali. A partire dal rilascio di
OpenSSH 2.9.9 server inviava pacchetti con pressioni fittizie per l'input della console in modalità echo-off, utilizzata, ad esempio, durante l'inserimento delle password in su o sudo. La nuova logica per l'invio di pacchetti fittizi consentiva, durante l'analisi passiva del traffico, di isolare i pacchetti con pressioni reali in modalità echo-off per un'analisi separata. In tal modo, la precisione delle informazioni sui tempi di pressione è limitata, poiché dopo la digitazione, i pacchetti non vengono inviati immediatamente, ma a intervalli di tempo fissi (di default 20 ms).

Altre modifiche in OpenSSH 9.8:

  • Nella fase di assemblaggio, il supporto delle firme digitali basato sull'algoritmo DSA è disabilitato di default. All'inizio del 2025, l'implementazione di DSA sarà rimossa dalla base di codice. Come motivo della rimozione viene indicato il livello di protezione in DSA che non soddisfa i requisiti moderni. I costi per il supporto di un algoritmo DSA insicuro non giustificano la continuazione e la sua rimozione permetterà di incentivare la cessazione del supporto DSA in altre implementazioni SSH e librerie crittografiche.
  • Per una protezione aggiuntiva contro i metodi di sfruttamento delle vulnerabilità che richiedono l'installazione di un numero elevato di connessioni a sshd, è stato implementato e attivato di default un nuovo regime di protezione, che aiuta anche a bloccare gli attacchi automatizzati per la scoperta delle password, durante i quali i bot tentano di indovinare la password dell'utente provando varie combinazioni standard. La protezione viene realizzata tramite il blocco indirizzi IP, da cui viene registrato un numero elevato di tentativi di connessione non riusciti — sshd tiene traccia dello stato di completamento dei processi figli, determinando le situazioni in cui l'autenticazione non è andata a buon fine o quando il processo è stato terminato in modo anomalo a causa di un errore, e al superamento di una certa soglia inizia a bloccare le richieste provenienti da indirizzi IP o sottoreti problematiche. Per configurare la soglia di attivazione del blocco, la maschera della sottorete da bloccare e l'elenco delle eccezioni, sono stati proposti i parametri PerSourcePenalties, PerSourceNetBlockSize e PerSourcePenaltyExemptList.
  • È stata effettuata la suddivisione di sshd in diversi file eseguibili separati. Dal sshd è stato estratto il processo sshd-session, che esegue i compiti relativi alla gestione delle sessioni. Nel processo sshd sono rimaste le funzioni relative all'accettazione delle connessioni di rete, alla verifica della configurazione, al caricamento delle chiavi host e alla gestione dei processi avviati in base al parametro MaxStartups. In questo modo, il file eseguibile sshd ora contiene la funzionalità minima necessaria per accettare una nuova connessione di rete e avviare sshd-session per la gestione della sessione.
  • È stato modificato il testo di alcuni messaggi di errore registrati nel log. In particolare, una serie di messaggi è ora inviata a nome del processo "sshd-session" e non di "sshd".
  • Nell'utilità ssh-keyscan, l'output delle informazioni sulla versione del protocollo e sul nome host ora viene inviato al flusso standard e non a STDERR. Per disattivare l'output è stata proposta l'opzione "-q".
  • In ssh è implementata la possibilità di disabilitare tramite la direttiva HostkeyAlgorithms il passaggio dall'uso del certificato della chiave host a quello delle chiavi host semplici (plain).
  • Nella versione portatile di sshd è stata interrotta l'uso del valore argv[0] per determinare il nome del servizio PAM. Per specificare il nome del servizio PAM in sshd_config è stata aggiunta una nuova direttiva "PAMServiceName", che per impostazione predefinita è impostata su "sshd".
  • Nella versione portatile di sshd è stata garantita la conservazione dei file generati automaticamente (come lo script configure, config.h.in, ecc.) nel ramo Git con le release (ad esempio, V_9_8), il che ha permesso di sincronizzare il contenuto degli archivi tar firmati digitalmente con le branche in Git.
  • Nella versione portatile di ssh e ssh-agent è stato implementato l'impostazione della modalità.
    SSH_ASKPASS è attivato se è presente la variabile d'ambiente WAYLAND_DISPLAY, analogamente a come è stato fatto per X11 quando è presente la variabile d'ambiente DISPLAY.
  • Nella versione portatile di sshd è stata aggiunta la supporto per l'invio a systemd delle notifiche quando viene creato un socket di rete in ascolto o quando viene riavviato, utilizzando un codice separato che non interagisce con la libreria libsystemd.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster