Vulnerabilità nei client SSH OpenSSH e PuTTY

Nei client SSH OpenSSH e PuTTY identificata vulnerabilità (CVE-2020-14002 in PuTTY e CVE-2020-14145 in OpenSSH), che porta a una fuga di informazioni nell'algoritmo di negoziazione della connessione. La vulnerabilità consente a un attaccante, in grado di intercettare il traffico del client (ad esempio, quando un utente si collega tramite un punto di accesso wireless controllato dall'attaccante), di determinare il tentativo di connessione iniziale del client all'host, quando la chiave dell'host non è ancora stata memorizzata nella cache.

Sapendo che il client sta cercando di connettersi per la prima volta e non ha ancora la chiave dell'host, l'attaccante può trasmettere la connessione attraverso di sé (MITM) e fornire al client la propria chiave dell'host, che il client SSH considererà come chiave dell'host di destinazione, se non esegue il controllo dell'impronta digitale della chiave. In questo modo, l'attaccante può realizzare un MITM senza destare sospetti nell'utente e ignorare le sessioni in cui il client ha già chiavi dell'host memorizzate nella cache, il cui tentativo di sostituzione porterebbe a un avviso di modifica della chiave dell'host. L'attacco si basa sulla disattenzione degli utenti, che non eseguono il controllo manuale dell'impronta digitale della chiave dell'host alla prima connessione. Chi verifica le impronte delle chiavi è protetto da attacchi di questo tipo.

Come segno per determinare il primo tentativo di connessione viene utilizzato il cambio nell'ordine di enumerazione degli algoritmi supportati delle chiavi host. Se si tratta di una prima connessione, il client invia l'elenco degli algoritmi predefiniti, e se la chiave dell'host è già presente nella cache, l'algoritmo ad essa associato viene posto per primo (gli algoritmi sono ordinati in base alle preferenze).

Il problema si manifesta nelle versioni di OpenSSH dalla 5.7 all'8.3 e in PuTTY dalla 0.68 alla 0.73. Il problema è stato risolto in rilascio PuTTY 0.74 attraverso l'aggiunta di un'opzione per disabilitare la generazione dinamica dell'elenco degli algoritmi di gestione delle chiavi host in favore di un ordine di enumerazione degli algoritmi fisso.

Il progetto OpenSSH non prevede di modificare il comportamento del client SSH, poiché se non viene specificato il primo algoritmo della chiave esistente, si tenterà di applicare un algoritmo non corrispondente alla chiave memorizzata, con un avviso riguardante una chiave sconosciuta. Cioè, si presenta una scelta: o una fuga di informazioni (OpenSSH e PuTTY), o avvisi di cambio chiave (Dropbear SSH) nel caso in cui la chiave salvata non corrisponda al primo algoritmo nell'elenco predefinito.

Per garantire la protezione in OpenSSH, si consiglia di utilizzare metodi alternativi di verifica della chiave host tramite le registrazioni SSHFP in DNSSEC e i certificati host (PKI). È anche possibile disattivare la selezione adattativa degli algoritmi delle chiavi host tramite l'opzione HostKeyAlgorithms e utilizzare l'opzione UpdateHostKeys per ottenere ulteriori chiavi host da parte del client dopo l'autenticazione.

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