În clienții SSH OpenSSH și PuTTY ( în PuTTY și în OpenSSH), care duce la scurgerea informațiilor în algoritmul de negociere a conexiunii. Vulnerabilitatea permite unui atacator, capabil să intercepteze traficul clientului (de exemplu, atunci când utilizatorul se conectează printr-un punct de acces wireless controlat de atacator), să determine încercarea inițială de conectare a clientului la gazdă, atunci când clientul nu a stocat încă cheia gazdei.
Știind că clientul încearcă să se conecteze pentru prima dată și nu are deja cheia gazdei, atacatorul poate transce comunicația prin el (MITM) și poate prezenta clientului cheia sa de gazdă, pe care clientul SSH o va considera cheia gazdei țintă, dacă nu va verifica amprenta cheii. Astfel, atacatorul poate organiza un MITM fără să ridice suspiciuni la utilizator și poate ignora sesiunile în care clientul are deja chei gazde stocate în cache, încercarea de manipulare a cărora va duce la emiterea unui avertisment despre schimbarea cheii gazdei. Atacul se bazează pe neglijența utilizatorilor care nu efectuează verificarea manuală a amprentei cheii gazdei la prima conectare. Cei care verifică amprentele cheilor sunt protejați de astfel de atacuri.
Ca semn pentru a determina prima încercare de conectare, se folosește modificarea ordinii enumerării algoritmilor de chei gazdă acceptați. În cazul în care are loc prima conectare, clientul transmite o listă de algoritmi implicită, iar dacă cheia gazdei este deja în cache, algoritmul asociat este plasat pe prima poziție (algoritmii sunt sortați în ordinea preferinței).
Problema se manifestă în versiunile OpenSSH de la 5.7 la 8.3 și în PuTTY de la 0.68 la 0.73. Problema în versiunea prin adăugarea unei opțiuni pentru a dezactiva construirea dinamică a listei algoritmilor de procesare a cheilor gazdă în favoarea enumerării algoritmilor într-o ordine fixă.
Proiectul OpenSSH nu intenționează să schimbe comportamentul clientului SSH, deoarece, dacă algoritmul cheii existente nu este specificat la început, se va încerca aplicarea unui algoritm care nu se potrivește cu cheia cache-uită, având ca rezultat un mesaj de avertizare despre cheia necunoscută. Așadar, apare o alegere: fie o scurgere de informații (OpenSSH și PuTTY), fie afișarea de avertismente despre schimbarea cheii (Dropbear SSH) în cazul în care cheia salvată nu corespunde primului algoritm din lista implicită.
Pentru a asigura protecția, OpenSSH propune utilizarea unor metode alternative de verificare a cheii gazdelor prin intermediul înregistrărilor SSHFP în DNSSEC și a certificatelor gazdelor (PKI). De asemenea, se poate dezactiva selecția adaptivă a algoritmilor cheilor gazdelor prin opțiunea HostKeyAlgorithms și se poate utiliza opțiunea UpdateHostKeys pentru a obține chei gazde suplimentare după autentificare.
Sursa: opennet.ro
