Anzeige
Es kommt nicht oft vor, dass OpenSSH gravierende Sicherheitslücken hat.
Es kommt nicht oft vor, dass OpenSSH gravierende Sicherheitslücken hat. (Bild: OpenSSH)

OpenSSH: Obskures Feature gibt SSH-Schlüssel preis

Es kommt nicht oft vor, dass OpenSSH gravierende Sicherheitslücken hat.
Es kommt nicht oft vor, dass OpenSSH gravierende Sicherheitslücken hat. (Bild: OpenSSH)

In OpenSSH ist eine Sicherheitslücke gefunden worden, die es einem böswilligen Server ermöglicht, den privaten Schlüssel des Nutzers auszulesen. Der Fehler findet sich in der Roaming-Funktion, die kaum jemand benötigt, die aber standardmäßig aktiv ist.

Eine Funktion von OpenSSH, die kaum jemand nutzen dürfte, enthält eine gravierende Sicherheitslücke. Wie Sicherheitsforscher der Firma Qualys herausgefunden haben, finden sich mehrere Bugs im Code für die sogenannte Roaming-Funktion. Nur der Client von OpenSSH unterstützt dieses Roaming, der serverseitige Code wurde schon vor längerer Zeit entfernt. Im schlimmsten Fall kann die Lücke von einem böswilligen Serverbetreiber dazu genutzt werden, den privaten Schlüssel von Clients auszulesen.

Anzeige

Integer Overflow führt zu Datenleck

Die kritische Lücke trägt die ID CVE-2016-0777. Ein Integer Overflow führt dazu, dass der SSH-Client gegenüber dem Server ungenutzte Speicherbereiche preisgibt, in diesen können sich im ungünstigsten Fall Überreste des privaten Schlüssels befinden. Eigentlich hat OpenSSH einige Schutzmaßnahmen eingebaut, die dafür sorgen sollen, dass die Speicherbereiche, in denen private Schlüssel abgelegt werden, nach ihrer Nutzung mit Nullen überschrieben werden. Doch diese Schutzmaßnahmen greifen nicht immer.

Die privaten Schlüssel werden mit gewöhnlichen C-Funktionen aus der Schlüsseldatei ausgelesen. Unter manchen Systemen - die Qualys-Forscher nennen FreeBSD als Beispiel - implementieren diese Dateizugriffsfunktionen ein eigenes Buffering, das dazu führen kann, dass Kopien der Daten im Speicher verbleiben. Unter Linux tritt dieses Problem nicht auf. Doch auch dort können Schlüsselkopien im Speicher verbleiben. OpenSSH reserviert beim Einlesen des Schlüssels zunächst nur einen kleinen Speicherbereich und ruft anschließend die Funktion realloc auf, um genügend Speicher zu haben. Dadurch können ebenfalls Kopien des Schlüssels angelegt werden.

Eine dritte Möglichkeit, durch die sich Schlüsselmaterial im Speicher befinden kann, sind aggressive Compileroptimierungen. Die Speicherbereiche werden mit den Funktionen bzero und memset gelöscht, manche Compiler können diese Aufrufe entfernen, wenn sie davon ausgehen, dass der Speicher danach nicht mehr genutzt wird. Mit dem Update hat OpenSSH alle diese Aufrufe durch explicit_bzero ersetzt, diese Funktion verhindert das Wegoptimieren. Wenn der private Schlüssel mit einem Passwort geschützt ist, erhält ein Angreifer in allen drei Fällen nur Zugriff auf den verschlüsselten privaten Schlüssel.

Einige weitere Faktoren führen dazu, dass eine Ausnutzung dieser Lücke in vielen Fällen unpraktikabel sein dürfte. Der Angriff funktioniert nur, wenn ein Server sich bereits gegenüber dem Nutzer authentifiziert hat. Ein Man-in-the-Middle-Angriff funktioniert hier also nur dann, wenn der Nutzer eine Verbindung zu einem bislang unbekannten Server zulässt. Wie riskant die Lücke ist hängt also davon ab, zu welchen Servern sich ein Nutzer verbindet, und ob er den jeweiligen Serverbetreibern vertraut.

Bei der normalen Nutzung des SSH-Clients muss der Nutzer die Roaming-Funktion aktiv durch Drücken der Enter-Taste bestätigen. Doch bei SSH-Sessions, die automatisiert direkt die Standardeingabe im Zusammenhang mit SSH nutzen, kann dies automatisch passieren, wenn vom Client eine neue Zeile geschickt wird. Auch bei der Verwendung der Kopierfunktion SCP ist keine Nutzerinteraktion nötig.

Buffer Overflow in Standardkonfiguration nicht ausnutzbar

Eine weitere Lücke, die sich ebenfalls im Roaming-Code fand, ist weit weniger kritisch. Es handelt sich um einen Buffer Overflow, dieser ist jedoch in der Standardkonfiguration von SSH nicht ausnutzbar. Diese Lücke hat die ID CVE-2016-0778 erhalten. Die Release Notes der neuen OpenSSH-Version 7.1p2 erwähnen zwei weitere Sicherheitslücken, die behoben wurden, einen ungültigen Speicher-Lesezugriff beim Parsen von Paketen und ein Problem beim X11-Forwarding.

Die Roaming-Funktion von OpenSSH sollte dazu dienen, eine SSH-Verbindung aufrecht zu erhalten, falls sich die IP-Adresse des Nutzers ändert. Doch da die serverseitige Implementierung von OpenSSH Roaming nicht unterstützt, dürfte es kaum jemanden geben, der diese Funktion nutzt. Mit einer undokumentierten Konfigurationsoption kann man das Roaming deaktivieren, dazu muss die Zeile "UseRoaming no" in die Datei ssh_config eingefügt werden. Während diese Option gegen die unmittelbare Sicherheitslücke hilft, sollte man ein Update aufgrund der anderen beiden Lücken dennoch nicht zu lange aufschieben.

Die neue OpenSSH-Version 7.1p2 behebt alle bekannten Sicherheitslücken. Für die wichtigsten Linux-Distributionen wie Debian, Ubuntu, Fedora und Red Hat stehen bereits Updates bereit.

Unbekannte Features bergen Risiken

In gewisser Weise erinnert dieser Bug an Heartbleed und auch an Shellshock: In allen Fällen gab es ein selten genutztes und kaum bekanntes Feature, das einen gravierenden Fehler enthielt. Im Fall von Heartbleed handelte es sich um einen Bug im Code der sogenannten Heartbeat-Erweiterung von TLS, die praktisch niemand verwendet. Trotzdem ist sie standardmäßig aktiviert. Bei Shellshock handelte es sich um ein Feature der Bash-Shell, mit dem mittels einer beliebigen Umgebungsvariable eine Funktion definiert werden konnte. Die Bash-Entwickler hatten nach Shellshock nicht nur den Bug gefixt, sondern kurze Zeit später auch das zugehörige Feature in dieser Form entfernt.


eye home zur Startseite
YoungManKlaus 16. Jan 2016

Erst auf OpenSSL schimpfen dass sie obskure buggy Features per default aktiviert haben...

Robert3023 15. Jan 2016

Ach so, OpenSSH hat ja gar nichts mit LibreSSL zu tun...

lear 15. Jan 2016

Upvoting à la stackoverflow könnte funktionieren, wenn man einen Kommentar, der den...

Pjörn 15. Jan 2016

Na komm Das einzige was daran jetzt wirklich ungewöhnlich ist, ist das es sich um eine...



Anzeige

Stellenmarkt
  1. T-Systems International GmbH, Berlin
  2. Robert Bosch GmbH, Abstatt
  3. Bertrandt Technikum GmbH, Ehningen bei Stuttgart
  4. über Robert Half Technology, Großraum Frankfurt


Anzeige
Blu-ray-Angebote
  1. (u. a. Der große Gatsby, Mad Max, Black Mass, San Andreas)
  2. 18,99€ (Vorbesteller-Preisgarantie)
  3. (jeden Dienstag ist eine neue Folge verfügbar)

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Mehr dazu im aktuellen Whitepaper von Cyberark
  2. Mehr dazu im aktuellen Whitepaper von SAS Institute
  3. Mehr dazu im aktuellen Whitepaper von HP


  1. Die Woche im Video

    Der Preis ist heiß und der Trick nicht mehr billig

  2. Netzausbau

    Telekom will ihre Mobilfunkmasten verkaufen

  3. Bruno Kahl

    Neuer BND-Chef soll den Dienst reformieren

  4. Onlinehandel

    Amazon sperrt Konten angeblich nur in seltenen Fällen

  5. The Assembly angespielt

    Verschwörung im Labor

  6. Kreditkarten

    Number26 wird Betrug mit Standortdaten verhindern

  7. Dobrindt

    1,3 Milliarden Euro mehr für Breitbandausbau in Deutschland

  8. Mini ITX OC

    Gigabyte bringt eine 17 cm kurze Geforce GTX 1070

  9. Autonomes Fahren

    Teslas Autopilot war an tödlichem Unfall beteiligt

  10. Tolino Page

    Günstiger Kindle-Konkurrent hat eine bessere Ausstattung



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Rust: Ist die neue Programmiersprache besser?
Rust
Ist die neue Programmiersprache besser?
  1. Fraunhofer SIT Volksverschlüsselung startet ohne Quellcode
  2. Microsoft Plattformübergreifendes .Net Core erscheint in Version 1.0
  3. Oracle-Anwältin nach Niederlage "Google hat die GPL getötet"

Mikko Hypponen: "Microsoft ist nicht mehr scheiße"
Mikko Hypponen
"Microsoft ist nicht mehr scheiße"

Zelda Breath of the Wild angespielt: Das Versprechen von 1986 wird eingelöst
Zelda Breath of the Wild angespielt
Das Versprechen von 1986 wird eingelöst

  1. Re: Saudämliche Entscheidung und fast nutzlos

    Kleba | 09:03

  2. Re: wenn amazon Kleidung verkaufen will, müssen...

    Braineh | 09:02

  3. Re: Halb-OT: Aufsummierung aller Förderungen?

    RipClaw | 08:59

  4. Re: Mal ein paar Infos von einem FBA Verkäufer.

    sydthe | 08:59

  5. Re: Geht's noch?

    SoniX | 08:56


  1. 09:02

  2. 20:04

  3. 17:04

  4. 16:53

  5. 16:22

  6. 14:58

  7. 14:33

  8. 14:22


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel