Nedávno, skupina vědců z Ruhrské univerzity v Bochumi, Německo, představil podrobnosti o nové technice útoku MITM přes SSH, kterou mají pokřtěn jako «Želva bahenní» a které zmiňují, by mohly umožnit útočníkovi snížit zabezpečení připojení SSH při použití vyjednávání rozšíření SSH. Dopad v praxi by do značné míry závisel na podporovaných rozšířeních, ale zranitelná jsou „skoro všechna“.
Terrapin využívá zranitelnost (již katalogizováno pod CVE-2023-48795), které útočník může využít k organizaci útoku MITM při použití OpenSSHTato chyba zabezpečení vám umožňuje vrátit připojení a používat méně bezpečné ověřovací algoritmy nebo deaktivovat ochranu proti útokům postranním kanálem, které znovu vytvářejí vstup pomocí analýzy zpoždění mezi stisky kláves na klávesnici.
"Po pečlivém nastavení pořadových čísel během handshake může útočník odstranit libovolný počet zpráv odeslaných klientem nebo serverem na začátku zabezpečeného kanálu, aniž by si toho klient nebo server všiml," uvádějí vědci.
Pokud jde o zranitelnost, je zmíněno, že toto ovlivňuje všechny implementace SSH, které podporují šifry v režimu ChaCha20-Poly1305 nebo CBC v kombinaci s režimem ETM (Encrypt-then-MAC). Podobné funkce jsou například dostupné v OpenSSH již více než 10 let.
„Nejčastěji to ovlivňuje zabezpečení autentizace klienta při použití veřejného klíče RSA. Když používáte OpenSSH 9.5, může být také použit k deaktivaci určitých protiopatření proti útokům na časování stisku kláves,“ píší vědci.
Zranitelnost je způsobena tím, že útočník, který řídí provoz připojení (např. vlastník škodlivého bezdrátového bodu) může upravit pořadová čísla paketů během procesu vyjednávání o připojení a dosáhnout tichého vymazání libovolného počtu servisních zpráv SSH odeslaných klientem nebo serverem.
Mimo jiné, útočník by mohl smazat zprávy SSH_MSG_EXT_INFO použité ke konfiguraci rozšíření protokolů, které se používají. Aby druhá strana nezjistila ztrátu paketu v důsledku mezery v sekvenčních číslech, útočník zahájí odeslání fiktivního paketu se stejným pořadovým číslem jako vzdálený paket, aby změnil pořadové číslo. Falešný paket obsahuje zprávu s příznakem SSH_MSG_IGNORE, který je během zpracování ignorován.
K provedení útoku Terrapin v praxi útočníci vyžadují schopnosti člověka uprostřed sítě na síťové vrstvě k zachycení a úpravě provozu. Kromě toho musí být dohodnuty specifické metody šifrování, aby byl zajištěn bezpečný přenos dat během připojení.
Útok nelze provést pomocí proudových šifer a CTR, protože narušení integrity bude detekováno na aplikační úrovni. V praxi, používá se pouze šifrování ChaCha20-Poly1305 ve kterém je stav sledován výhradně podle pořadových čísel zpráv a kombinací režimu Encrypt-Then-MAC (*-etm@openssh.com). ) a šifry CBC jsou vystaveny útokům.
Je to zmíněno byl také detekován v knihovně Python AsyncSSH, V kombinaci se zranitelností (CVE-2023-46446) v implementaci interního stavového stroje nám útok Terrapin umožňuje proniknout do relace SSH.
Zranitelnost Opraveno v OpenSSH verze 9.6 a v této verzi OpenSSH a dalších implementacích, Pro blokování útoku je implementováno rozšíření protokolu „strict KEX“., která je automaticky povolena, pokud existuje podpora na straně serveru a klienta. Rozšíření ukončí připojení po přijetí jakýchkoli abnormálních nebo nepotřebných zpráv (například s příznakem SSH_MSG_IGNORE nebo SSH2_MSG_DEBUG) přijatých během procesu vyjednávání o připojení a také resetuje počítadlo MAC (Message Authentication Code) po dokončení každé výměny klíčů.
Nakonec, pokud vás zajímá, že se o tom můžete dozvědět více, můžete se podívat na podrobnosti v následující odkaz.