Una nuova vulnerabilità nel protocollo SSH, se sfruttata correttamente, potrebbe compromettere la sicurezza delle connessioni degli utenti. Attraverso un attacco di tipo man-in-the-middle, un aggressore ben posizionato potrebbe indurre i client SSH a utilizzare metodi di autenticazione più deboli e disabilitare alcune difese. Al momento, è difficile valutare l’impatto effettivo della falla, poiché dipende dalle configurazioni individuali di client e server SSH, nonché da altre variabili.

Il cosiddetto Terrapin Attack, descritto da tre scienziati informatici dell’Università di Bochum, in Germania, coinvolge una tecnica che consente a un attaccante di ridurre la sicurezza di una connessione SSHv2 durante la negoziazione delle estensioni. Questo attacco di tipo “prefix truncation” può portare a un downgrade delle difese e dell’autenticazione, aprendo la porta a potenziali vulnerabilità.

La vulnerabilità ha ricevuto la designazione CVE-2023-48795 ed è stata segnalata insieme a due problemi specifici (CVE-2023-46445 e CVE-2023-46446) relativi al client SSH Python AsyncSSH. AsyncSSH è stato soggetto a errori di implementazione che potevano essere sfruttati con un Terrapin Attack per, ad esempio, far accedere una vittima inconsapevole a un account shell controllato dall’attaccante. AsyncSSH è stato successivamente corretto nelle versioni 2.14.1 e 2.14.2.

terrapin

Il funzionamento del Terrapin Attack implica l’inserimento di un messaggio “ignore” in chiaro durante la fase di handshake, che viene ignorato ma incrementa i contatori di sequenza. Successivamente, l’attaccante blocca il server dall’invio di ulteriori difese durante il canale sicuro, sfruttando il fatto che il messaggio è criptato e impedendo al client di riceverlo. Questo attacco sfrutta la debolezza nell’uso dell’algoritmo di crittografia ChaCha20-Poly1305.

Gli sviluppatori di SSH hanno risposto alla scoperta con patch e aggiornamenti. OpenSSH 9.6, rilasciato recentemente, introduce un protocollo di scambio chiavi rigoroso per contrastare questi attacchi. Tuttavia, è importante notare che collegare un client vulnerabile a un server patchato o viceversa crea ancora una connessione vulnerabile. Inoltre, altri software SSH, come PuTTY e libssh, hanno rilasciato aggiornamenti per affrontare questa vulnerabilità.

Gli amministratori di sistema possono mitigare il rischio disabilitando le modalità di crittografia vulnerabili nella configurazione dei loro server SSH e utilizzando algoritmi non vulnerabili come AES-GCM. Tuttavia, è importante fare attenzione a configurazioni errate, che potrebbero comportare la perdita di accesso al server. Inoltre, versioni più datate di OpenSSH potrebbero essere vulnerabili a un overflow del buffer quando si utilizza AES-GCM.

In conclusione, è consigliabile monitorare l’uscita di patch e aggiornamenti e applicarli tempestivamente. La consapevolezza della vulnerabilità deve essere diffusa tra gli utenti e gli sviluppatori di SSH per garantire la sicurezza delle connessioni contro attacchi di tipo Terrapin.