V klientoch SSH OpenSSH a PuTTY
S vedomím, že klient sa pokúša pripojiť prvýkrát a ešte nemá na svojej strane kľúč hostiteľa, môže útočník vysielať pripojenie cez seba (MITM) a poskytnúť klientovi svoj kľúč hostiteľa, ktorý klient SSH bude považovať za byť kľúčom cieľového hostiteľa, ak neoverí odtlačok kľúča. Útočník tak môže organizovať MITM bez vzbudenia podozrenia používateľa a ignorovať relácie, v ktorých už klientska strana má kľúče hostiteľa uložené v medzipamäti, pričom pokus o nahradenie bude mať za následok varovanie o zmene kľúča hostiteľa. Útok je založený na neopatrnosti používateľov, ktorí pri prvom pripojení manuálne neskontrolujú odtlačok hostiteľského kľúča. Tí, ktorí kontrolujú odtlačky prstov, sú pred takýmito útokmi chránení.
Ako znak na určenie prvého pokusu o pripojenie sa používa zmena v poradí zoznamu podporovaných algoritmov kľúča hostiteľa. Ak dôjde k prvému pripojeniu, klient odošle zoznam predvolených algoritmov, a ak je hostiteľský kľúč už vo vyrovnávacej pamäti, priradený algoritmus sa umiestni na prvé miesto (algoritmy sú zoradené podľa preferencie).
Problém sa objavuje vo vydaniach OpenSSH 5.7 až 8.3 a PuTTY 0.68 až 0.73. Problém
Projekt OpenSSH neplánuje zmeniť správanie klienta SSH, pretože ak v prvom rade nešpecifikujete algoritmus existujúceho kľúča, pokúsi sa použiť algoritmus, ktorý nezodpovedá kľúču uloženému vo vyrovnávacej pamäti a zobrazí sa upozornenie na neznámy kľúč. Tie. nastáva voľba - buď únik informácií (OpenSSH a PuTTY), alebo varovania o zmene kľúča (Dropbear SSH), ak uložený kľúč nezodpovedá prvému algoritmu v predvolenom zozname.
Na zabezpečenie bezpečnosti ponúka OpenSSH alternatívne metódy overenia kľúča hostiteľa pomocou záznamov SSHFP v DNSSEC a hostiteľských certifikátoch (PKI). Môžete tiež zakázať adaptívny výber algoritmov kľúča hostiteľa prostredníctvom možnosti HostKeyAlgorithms a použiť možnosť UpdateHostKeys, aby klient mohol po overení získať ďalšie kľúče hostiteľa.
Zdroj: opennet.ru