Sicherheitswarnung bzgl. OpenSSL-/SSH-Schlüsseln

Hier aus aktuellem Anlass eine dringende Sicherheitswarnung:

In allen aktuellen Debian-Linux-Versionen sowie davon abgeleiteten Linux-Distributionen (Ubuntu, Knoppix, etc.) sind die auf diesen Systemen generierten Public-Key-Schlüssel als SEHR VERWUNDBAR einzustufen. Dies ermöglicht mit relativ geringem Aufwand eine Kompromittierung der betroffenen Accounts/Systeme bzw. von verschlüsselten Kommunikationen.

Hintergrund ist, dass der bei der Generierung der Schlüssel eingesetzte Zufallszahlengenerator durch einen Programmierfehler nur ca. 32.000 unterschiedliche Werte liefert und somit die erzeugten Schlüssel leicht erratbar sind.

Betroffen sind insbesondere SSH-Schlüssel (~/.ssh/authorized_keys bei OpenSSH) und SSL-Zertifikate, die auf den genannten Systemen erzeugt wurden. Bitte beachten Sie, dass das Problem auch dann gilt, wenn die Schlüssel auf andere Systemen übertragen wurden.

Situation auf dem SCI-Login-Cluster

Die Endnutzer-Systeme des SCI-Clusters (Solaris-Server, Linux-Server, Windows-Server) sind nicht direkt betroffen. Falls Sie als Endnutzer jedoch einen SSH-Schlüssel von einem betroffenen (externen) System auf Ihren SCI-Account übertragen haben, so sollten Sie den Schlüssel schnellstmöglich erneuern oder löschen, um eine Kompromittierung Ihres Accounts durch externe Angreifer zu vermeiden. Wenden Sie sich ggf. an den SCI-Servicepoint.

Da bereits Exploits existieren und auch verstärkt SSH-Scans aus dem Außennetz auftreten, haben wir uns entschlossen, den SSH-Zugang zu den SCI-Login-Servern vorübergehend auf das Uni-Netz zu beschränken. Ein SSH-Login von außen ist somit derzeit nur über das Uni-VPN möglich (http://www.rhrk.uni-kl.de/netzanschluss.html). Sobald klar ist, ob die von Debian bereitgestellten Fingerprint-Tests der Keys zuverlässig sind, werden wir die Beschränkung wieder aufheben.

Situation auf den dezentralen Systemen der Arbeitsgruppen

Bis zur Klärung der Verwundbarkeit der einzelnen Systeme sollte der SSH-Zugang von außen auf AG-lokale Systeme vorübergehend gesperrt (oder behelfsweise auf einen Nicht-Standard-Port verlegt) werden. AGen mit einer Außen-Firewall können dies zentral realisieren. Andernfalls müssen alle Rechner (Server und Arbeitsplätze) entsprechend präpariert werden.

Ansonsten gelten für die Endnutzer bzgl. möglicherweise von verwundbaren Systemen importierter SSH-Keys die gleichen Regeln wie auf dem SCI-Login-Cluster. Wenden Sie sich hier ggf. an ihren lokalen Administrator.

Weitere Informationen



Subject: [Win-sec] Schwache SSH-Keys
From: Andreas Bunten 
Date: Fri, 16 May 2008 18:18:37 +0200
To: WIN-Security 

Liebe Kolleginnen und Kollegen,

aufgrund der aktuell aufgedeckten Schwäche der von Debian-Systemen
generierten SSH-Keys nochmal eine kurze Zusammenfassung.

--- Die Schwachstelle ---

Aufgrund einer ungünstigen Änderung im Sourcecode der Debian-Version
von OpenSSL Version 0.9.8c-1, die am 17. Sept. 2006 in Debian Unstable
einging, sind auf betroffenen Debian-Systemen generierte Schlüssel für
SSH, OpenVPN, DNSSEC und X.509 Zertifikate (z.B. für S/MIME, IPSec und
SSL/TLS) leicht vorherzusagen. Das Problem betrifft Debian und alle
abgeleiteten Distributionen wie z.B. Ubuntu und Knoppix. Bitte beachten
Sie, dass z.B. auch Netzwerk-Appliances betroffen sein können, denen
nicht sofort anzusehen ist, dass auf ihnen Debian-Linux betrieben wird.

Das bedeutet konkret, dass beim Generieren eines SSH-Schlüssels (z.B. RSA
mit 2048 Bit Länge) auf einem betroffenen System, immer einer aus einer
Menge von 32.767 möglichen Schlüsseln generiert wurde.

Das Problem wurde von den Debian-Entwicklern korrigiert, aber die
vorhersagbaren Schlüssel sind danach noch im Umlauf!

--- Mögliche Angriffe ---

Verschiedene Personen haben diese 32.767 möglichen Schlüssel jeweils für
RSA und DSA und verschiedene Schlüssellängen erzeugt und im Netz zum
Download angeboten.

Dadurch ergeben sich unter anderem zwei Angriffs-Szenarien:

1. In der authorized_keys Datei eines Benutzers ist ein auf einem Debian
System erstellter Schlüssel eingetragen worden. Mit Hilfe eines Skriptes
kann ein Angreifer nun alle möglichen Schlüssel durchprobieren und
versuchen sich z.B. als root anzumelden. Das betroffene System muss dabei
nicht Debian sein; der Schlüssel musste lediglich dort erzeugt worden sein!

Um alle möglichen Benutzer mit allen Schlüsseln durchzuprobieren sind sehr
viele Versuche notwendig. Weiß der Angreifer aber, dass ein bestimmter
Benutzer einen verwundbaren SSH-Schlüssel verwendet, so ist der Angriff
leicht durchführbar.

2. Der SSH Hostkey wurde auf einem Debian System erstellt. Der Angreifer
verbindet sich einmal zu diesem System, um den Fingerprint des Hostkeys
zu erhalten. Anhand des Fingerprints kann er den Schlüssel bestimmen, um
danach einen Man in the Middle Angriff gegen legitime Benutzer des Systems
durchzuführen. Für die erfolgreiche Ausnutzung der Schwachstelle muss der
Angreifer die Verbindung des Benutzers abfangen können (z.B. in einem Wlan
Netzwerk).

--- Erkennung verwundbarer Schlüssel ---

Sowohl Debian als auch Ubuntu haben Tools für die Suche nach verwundbaren
Schlüsseln bereitgestellt (z.B. ssh-vulnkey von Debian). Weiterhin kursiert
ein Perl-Skript zum Testen von Schlüsseln, das etwas leichter unabhängig vom
verwendeten System eingesetzt werden kann:

  http://security.debian.org/project/extra/dowkd/dowkd.pl.gz
  http://security.debian.org/project/extra/dowkd/dowkd.pl.gz.asc

Bei allen Tools ist momentan leider nicht klar, ob sie wirklich alle
betroffenen Schlüssel erkennen.

--- Erkennung eines Angriffs ---

Die aktuelle Version der OpenSSH von Debian verweigert Logins von bekanntermaßen betroffenen Schlüsseln.

Login-Versuche per SSH-Schlüssel werden von der OpenSSH nur protokolliert,
wenn der Loglevel mindestens auf VERBOSE steht ("LogLevel VERBOSE") ->

May 16 17:43:59 linux sshd[16613]: Connection from 10.0.0.13 port 39797

--- Gegenmaßnahmen ---

Die aktualisierten Pakete sollten auf allen betroffenen Debian-Systemen
bzw. Debian-Derivaten eingespielt werden. Um einen Man in the Middle
Angriff zu vermeiden sollten dann alle betroffenen Hostkeys neu erzeugt
werden; eine Anleitung dazu wurde im Debian Advisory gegeben.

Damit sich kein Angreifer direkt an einem System anmelden kann, sollten
Referenzen auf verwundbare Schlüssel aus allen authorized_keys Dateien
entfernt werden. Weil die Suche mit oben genannten Tools zeitaufwendig
und nicht immer eindeutig ist, sollte ggf. in der Zwischenzeit ein
Workaround angewandt werden.

Die bisher veröffentlichten Exploits versuchen sich als root am einem
möglicherweise betroffenen System anzumelden. Die authorized_keys Datei
von root sollte daher als erstes kontrolliert werden und ggf. das Login
als root per SSH deaktiviert werden.

Ein gezielter Angriff gegen einzelne Benutzer ist dann aber weiterhin
möglich. Als Workaround könnte daher das Login per SSH-Schlüssel
deaktiviert werden. Grundsätzlich ist dies sehr ärgerlich, weil ein
Anmelden nur per SSH-Schlüssel einen wirksamen Schutz gegen die weiter
sehr verbreiteten SSH Passwort-Rate-Angriffe darstellt. Den Workaround
sollte man daher nicht länger als notwendig beibehalten.

Mit freundlichen Grüßen,
   Andreas Bunten

-- 
Andreas Bunten (CSIRT), +49 40 808077-555

DFN-CERT Services GmbH, https://www.dfn-cert.de,  Phone  +49 40 808077-555
Sitz / Register: Hamburg, AG Hamburg, HRB 88805,  Ust-IdNr.:  DE 232129737
Sachsenstrasse 5, 20097 Hamburg/Germany,  CEO: Dr. Klaus-Peter Kossakowski





 
Aktuelle Informationen des SCI

 
Email an den Verantwortlichen dieser Seite (sci@informatik.uni-kl.de)