Terrapin — eine Schwachstelle im SSH-Protokoll, die es ermöglicht, den Schutz der Verbindung zu verringern

Eine Gruppe von Forschern der Ruhr-UniversitĂ€t Bochum (Deutschland) hat eine neue MITM-Angriffsstrategie auf SSH vorgestellt – Terrapin, die eine Schwachstelle (CVE-2023-48795) im Protokoll ausnutzt. Ein Angreifer, der in der Lage ist, einen MITM-Angriff durchzufĂŒhren, kann wĂ€hrend des Verbindungsaufbaus die Übermittlung einer Nachricht zur Einstellung von Protokollerweiterungen blockieren, um das Sicherheitsniveau der Verbindung zu verringern. Ein Prototyp des Angriffs-Tools wurde auf GitHub veröffentlicht.

Im Kontext von OpenSSH ermöglicht die Schwachstelle beispielsweise, die Verbindung auf die Verwendung weniger sicherer Authentifizierungsalgorithmen zurĂŒckzusetzen und den Schutz vor Angriffe ĂŒber seitliche KanĂ€le zu deaktivieren, die EintrĂ€ge durch die Analyse von Verzögerungen zwischen Tasteneingaben rekreieren. In der Python-Bibliothek AsyncSSH, in Kombination mit der Schwachstelle (CVE-2023-46446) in der Implementierung der internen Zustandsmaschine (internal state machine), ermöglicht der Terrapin-Angriff, sich in eine SSH-Sitzung einzuschleichen.

Die Schwachstelle betrifft alle SSH-Implementierungen, die ChaCha20-Poly1305 oder CBC-Cipher im Kombination mit dem ETM-Modus (Encrypt-then-MAC) unterstĂŒtzen. Zum Beispiel sind solche Möglichkeiten in OpenSSH bereits seit ĂŒber 10 Jahren verfĂŒgbar. Die Schwachstelle wurde in der heutigen Version von OpenSSH 9.6 sowie in den Updates von PuTTY 0.80, libssh 0.10.6/0.9.8 und AsyncSSH 2.14.2 behoben. In Dropbear SSH wurde der Fix bereits im Code hinzugefĂŒgt, aber eine neue Version wurde noch nicht veröffentlicht.

Die Schwachstelle wird dadurch verursacht, dass ein Angreifer, der den Verkehr einer Verbindung kontrolliert (zum Beispiel der Besitzer eines bösartigen WLAN-Hotspots), die Sequenznummern der Pakete wĂ€hrend des Verbindungsaufbaus anpassen kann und so das unauffĂ€llige Entfernen einer beliebigen Anzahl von SSH-Steuernachrichten, die vom Client gesendet werden, erreicht. Server. Unter anderem kann der Angreifer SSH_MSG_EXT_INFO-Nachrichten löschen, die zur Konfiguration der verwendeten Protokollerweiterungen dienen. Um zu verhindern, dass die andere Seite das Verschwinden eines Pakets aufgrund von LĂŒcken in den Sequenznummern bemerkt, initiiert der Angreifer das Senden eines Dummy-Pakets mit derselben Sequenznummer wie das entfernte Paket. Das Dummy-Paket enthĂ€lt eine Nachricht mit dem Flag SSH_MSG_IGNORE, die bei der Verarbeitung ignoriert wird.

Terrapin - eine Schwachstelle im SSH-Protokoll, die die Sicherheit der Verbindung verringert.

Ein Angriff kann nicht unter Verwendung von Stream-Ciphers und CTR durchgefĂŒhrt werden, da IntegritĂ€tsverletzungen auf Anwendungsebene erkannt werden. In der Praxis sind nur der Cipher ChaCha20-Poly1305 (chacha20-poly1305@openssh.com) anfĂ€llig, bei dem der Zustand nur anhand der Nachrichtenreihenfolgenummern verfolgt wird, sowie die Kombination des Encrypt-Then-MAC Modus (*-etm@openssh.com) und CBC-Cipher.

In OpenSSH 9.6 und anderen Implementierungen wurde eine Protokollerweiterung namens „strict KEX“ implementiert, die automatisch aktiviert wird, wenn auf der Client- oder Serverseite UnterstĂŒtzung vorhanden ist. Server Die Erweiterung beendet die Verbindung bei Empfang von allen abnormalen oder ĂŒberflĂŒssigen Nachrichten (zum Beispiel mit den Flags SSH_MSG_IGNORE oder SSH2_MSG_DEBUG), die wĂ€hrend des Verhandlungsprozesses eintreffen, und setzt den MAC (Message Authentication Code) ZĂ€hler nach Abschluss jeder SchlĂŒsselaustauschphase zurĂŒck.

Quelle: opennet.ru

60GB SSD 8Gb DDR4