Release von OpenSSH 9.8 mit Deaktivierung des DSA-Algorithmus und zusätzlichen Sicherheitsmechanismen

Die Veröffentlichung von OpenSSH 9.8, einer offenen Implementierung von Client und Server für die Protokolle SSH 2.0 und SFTP, ist nun verfügbar. Neben der Behebung einer bereits angekündigten kritischen Sicherheitslücke (CVE-2024-6387), die das Remote-Code-Execution-Recht mit root-Rechten vor der Authentifizierung ermöglicht, wurden in der neuen Version auch eine weniger schwerwiegende Sicherheitsanfälligkeit behoben sowie mehrere wesentliche Änderungen zur Verbesserung der Sicherheit vorgeschlagen.

Die zweite Schwachstelle ermöglicht es, den in Version OpenSSH 9.5 eingeführten Schutz vor Seitenkanalangriffen zu umgehen, der die Verzögerungen zwischen Tasteneingaben analysiert, um die Eingabe nachzubilden. Die Schwachstelle erlaubt es, Pakete, die im Hintergrund Aktivität simulieren, von Paketen zu unterscheiden, die gesendet werden, wenn echte Tasten gedrückt werden. Dies verringert die Wirksamkeit des Mechanismus zur Verbergung der Merkmale interaktiver Eingaben im SSH-Verkehr. Die gewonnenen Daten zu Tasteneingaben ermöglichen Angriffe, die die Eingabe anhand der Verzögerungen zwischen den Tasteneingaben rekonstruieren, was von der Anordnung der Tasten auf der Tastatur abhängt (zum Beispiel erfolgt die Reaktion beim Eingeben des Buchstabens „F“ schneller als beim Eingeben von „Q“ oder „X“, da für das Drücken weniger Fingerbewegungen erforderlich sind).

Darüber hinaus wurde festgestellt, dass der implementierte Algorithmus zum Senden von Paketen mit echten und simulierten Tastendrücken die Zuverlässigkeit einer anderen Schutzmethode gegen Seitenkanalangriffe beeinträchtigte. Seit der Veröffentlichung
OpenSSH 2.9.9 der Server Es wurden Pakete mit simulierten Tasteneingaben für die Konsoleneingabe im Echo-Off-Modus versendet, wie es beispielsweise beim Eingeben von Passwörtern in su oder sudo verwendet wird. Die neue Logik zum Versenden von Fake-Paketen ermöglichte es, bei der passiven Analyse des Datenverkehrs Pakete mit echten Tasteneingaben im Echo-Off-Modus für eine separate Analyse herauszufiltern. Dabei ist die Genauigkeit der Zeitangaben für die Tasteneingaben eingeschränkt, da die Pakete nach der Eingabe nicht sofort, sondern mit festen Zeitintervallen (standardmäßig 20 ms) gesendet werden.

Andere Änderungen in OpenSSH 9.8:

  • Während des Build-Prozesses wurde die Unterstützung für digitale Signaturen auf Basis des DSA-Algorithmus standardmäßig deaktiviert. Anfang 2025 wird die DSA-Implementierung aus dem Code-Repository entfernt. Als Grund für die Entfernung wird das nicht mehr zeitgemäße Schutzniveau des DSA angegeben. Die Kosten für die Fortführung der Wartung des unsicheren DSA-Algorithmus rechtfertigen sich nicht, und dessen Entfernung wird dazu beitragen, die Unterstützung des DSA in anderen SSH-Implementierungen und Kryptographiebibliotheken einzustellen.
  • Um zusätzlichen Schutz vor Exploitationstechniken zu bieten, die eine hohe Anzahl von Verbindungen zu sshd erfordern, wurde ein neuer Schutzmodus implementiert und standardmäßig aktiviert. Dieser Modus hilft auch dabei, automatisierte Angriffe zur Passwortermittlung zu blockieren, bei denen Bots versuchen, das Benutzerpasswort zu erraten, indem sie verschiedene typische Kombinationen ausprobieren. Der Schutz erfolgt durch die Sperrung IP-Adressen, von denen eine große Anzahl von fehlgeschlagenen Verbindungsversuchen protokolliert wird – sshd verfolgt den Status der Beendigung von Kindprozessen, um Situationen zu erkennen, in denen die Authentifizierung fehlschlug oder der Prozess aufgrund eines Fehlers abgebrochen wurde. Bei Überschreitung eines bestimmten Schwellenwerts beginnt das System, Anfragen von problematischen IPs oder Subnetzen zu blockieren. Um die Schwelle für die Sperrung, das Maskenformat des blockierten Subnetzes und die Ausnahmeliste anzupassen, stehen die Parameter PerSourcePenalties, PerSourceNetBlockSize und PerSourcePenaltyExemptList zur Verfügung.
  • Die Trennung von sshd in mehrere separate ausführbare Dateien wurde erfolgreich umgesetzt. Der Prozess sshd-session, der für die Verarbeitung von Sitzungen zuständig ist, wurde vom sshd ausgegliedert. Bei sshd bleiben die Funktionen erhalten, die für den Empfang von Netzwerkverbindungen, die Überprüfung der Konfiguration, das Laden der Hostschlüssel und die Verwaltung der gestarteten Prozesse gemäß dem Parameter MaxStartups verantwortlich sind. Somit enthält die ausführbare Datei sshd jetzt die minimalen Funktionen, die erforderlich sind, um eine neue Netzwerkverbindung anzunehmen und sshd-session zur Verarbeitung der Sitzung zu starten.
  • Der Text einiger Fehlermeldungen, die im Log aufgezeichnet werden, wurde geändert. Insbesondere werden jetzt mehrere Nachrichten im Namen des Prozesses „sshd-session“ und nicht mehr „sshd“ gesendet.
  • In der Utility ssh-keyscan wird die Ausgabe der Protokollversionsinformationen und des Hostnamens jetzt auf dem Standardausgabestrom und nicht mehr auf STDERR ausgegeben. Um die Ausgabe zu deaktivieren, wurde die Option „-q“ angeboten.
  • In ssh wurde die Möglichkeit implementiert, über die Direktive HostkeyAlgorithms das Zurückweichen von der Verwendung des Hostschlüsselzertifikats auf die Verwendung einfacher (plain) Hostschlüssel zu deaktivieren.
  • In der tragbaren Version von sshd wird der Wert argv[0] zur Bestimmung des PAM-Dienstnamens nicht mehr verwendet. Um den PAM-Dienstnamen in sshd_config festzulegen, wurde die neue Direktive „PAMServiceName“ hinzugefügt, die standardmäßig auf „sshd“ gesetzt ist.
  • In der tragbaren Version von sshd wird das automatisierte Speichern von automatisch generierten Dateien (wie configure-Skripten, config.h.in usw.) im Git-Branch mit Releases (z. B. V_9_8) ermöglicht, was eine Synchronisierung der Inhalte von signierten tar-Archiven und den Branches in Git ermöglicht.
  • In der tragbaren Version von ssh und ssh-agent wird der Modus festgelegt.
    SSH_ASKPASS wird gesetzt, wenn die Umgebungsvariable WAYLAND_DISPLAY vorhanden ist, analog dazu, wie es bei X11 gemacht wurde, wenn die Umgebungsvariable DISPLAY vorhanden ist.
  • In der tragbaren Version von sshd wurde die Unterstützung für das Senden von Benachrichtigungen an systemd beim Erstellen eines hörenden Netzwerksockets oder beim Neustart hinzugefügt, unter Verwendung eines separaten Codes, der nicht auf die Bibliothek libsystemd zugreift.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster