Abo
  • Services:
Anzeige
SSH-Keys in Github - eigentlich eine sinnvolle Sache, aber die Keys sollten auch sicher sein.
SSH-Keys in Github - eigentlich eine sinnvolle Sache, aber die Keys sollten auch sicher sein. (Bild: Screenshot)

SSH: Sechs Jahre alter Bug bedroht Github-Repositories

SSH-Keys in Github - eigentlich eine sinnvolle Sache, aber die Keys sollten auch sicher sein.
SSH-Keys in Github - eigentlich eine sinnvolle Sache, aber die Keys sollten auch sicher sein. (Bild: Screenshot)

Ein Debian-Bug aus dem Jahr 2008 hinterlässt immer noch Spuren. Eine Analyse der öffentlichen SSH-Schlüssel bei Github zeigt: Mittels angreifbarer Schlüssel hätten Angreifer die Repositories von Projekten wie Python und Firmen wie Spotify oder Yandex manipulieren können.

Anzeige

Der Programmierer Ben Cox hat die öffentlich abrufbaren SSH-Schlüssel von Github-Nutzern analysiert und dabei Erschreckendes festgestellt: Eine ganze Reihe von Schlüsseln wurde offenbar mit alten Debian-Systemen erstellt, womit ein Brechen des Schlüssels trivial ist. Auch fanden sich einige Keys mit viel zu kurzen Schlüssellängen, beispielsweise RSA-Keys mit 256 Bit.

SSH-Schlüssel bei Github öffentlich abrufbar

Github erlaubt es Nutzern, Änderungen in ihren Repositories mittels SSH-Schlüsseln zu autorisieren. Eigentlich ist das eine sinnvolle Sache, die Authentifizierung mittels Public-Key-Kryptographie gilt als deutlich sicherer als Passwörter. Diese Schlüssel lassen sich trivial von Dritten auslesen. Dafür muss man lediglich eine Datei mit dem Benutzernamen und der Endung .keys von Github herunterladen. Der Key des Artikelautors ist beispielsweise unter https://github.com/hannob.keys abrufbar. Auch die Liste der Github-Nutzer ist nicht geheim, sie lässt sich über die Github-API abrufen, ein Rate Limit verhindert allerdings, dass man trivial alle Nutzernamen herunterlädt.

Somit war es Ben Cox möglich, eine Datenbank mit allen öffentlichen SSH-Schlüsseln zu erstellen. Bei einem Blick auf die Schlüssellängen der RSA-Keys fielen neun besonders problematische Keys auf. Zwei davon hatten lediglich eine Schlüssellänge von 256 Bits. Ein solcher Key lässt sich innerhalb von Minuten knacken und derartig kurze Schlüssel galten auch in der Vergangenheit nie als sicher. 512-Bit-Keys lassen sich ebenfalls brechen. Mit modernen PCs lässt sich ein solcher Angriff innerhalb von Tagen oder bei schneller Hardware innerhalb von Stunden durchführen. Sicher gelten aus heutiger Sicht RSA-Keys mit 2048 Bit oder mehr.

Debian-Bug aus dem Jahr 2008

Doch noch kritischer als diese kurzen Schlüssel dürfte sein, dass viele Nutzer offenbar noch Keys nutzen, die von einem katastrophalen Debian-Bug betroffen sind. Im Jahr 2008 wurde der Bug im OpenSSL-Paket von Debian gefunden, der dazu führte, dass der Zufallszahlengenerator von OpenSSL nicht mehr funktionierte. OpenSSH nutzt die Crypto-Bibliothek von OpenSSL zur Schlüsselerstellung, damit waren SSH-Keys ebenfalls betroffen. Das Problem: Diese verwundbaren Debian-Versionen erstellen lediglich einige Tausend verschiedene Keys. Ein Angreifer kann diese Keys somit vorberechnen und öffentliche Schlüssel damit vergleichen.

Cox fand bei Github verwundbare Debian-Keys, mit denen er sich Zugriff zu einer ganzen Reihe von prominenten Repositories hätte verschaffen können. Darunter waren beispielsweise das Repository von Python, der Python-Webentwicklungsumgebung Django und von einigen großen Firmen wie Spotify, Yandex und Couchbase. Hinweise darauf, dass Angreifer dieses Problem bereits ausgenutzt haben, gibt es bislang nicht.

2009 prüfte Github noch auf verwundbare Debian-Keys

Github wurde vorab über das Problem informiert und Anfang Mai wurden alle problematischen Schlüssel aus den Nutzeraccounts entfernt. In einem Blogeintrag aus dem Jahr 2009 schreibt Github, dass man Keys, die von dem Debian-Bug betroffen sind, blacklistet. Offenbar wurde diese Funktion jedoch mit der Zeit wieder entfernt. Ein Fehler, wie sich nun herausstellte. Auch Debian schien im Lauf der Jahre bereits zu dem Schluss gekommen zu sein, dass diese Keys kein Problem mehr darstellen: Das OpenSSH-Paket älterer Debian-Versionen enthielt ein Tool namens ssh-vulnkey, mit dem man Schlüssel prüfen konnte, in der aktuellen Stable-Version Jessie wird dieses Tool jedoch nicht mehr mitgeliefert.

Nutzer, die ihre eigenen SSH-Schlüssel prüfen möchten, können dafür nach wie vor ein Perl-Skript von Debian nutzen, das damals veröffentlicht wurde. Allerdings prüft dieses Skript nicht alle Schlüssellängen und die Prüfung der Hosts-Dateien funktioniert nicht mehr zuverlässig, da das Skript das Format moderner OpenSSH-Versionen nicht parsen kann. Ausführliche Informationen zum damaligen Bug finden sich auch im Wiki von Debian, eine Sammlung verwundbarer Keys findet man auf Github. Die Keys von HTTPS-Servern lassen sich mit dem SSL-Test der Firma Qualys prüfen.

Analyse mittels Batch-GCD-Algorithmus

Unabhängig von Cox hat die Firma Cryptosense ebenfalls eine Analyse der Github-SSH-Keys durchgeführt und dafür einen sogenannten Batch-GCD-Algorithmus verwendet. Der Hintergrund: Öffentliche SSH-Schlüssel enthalten einen sogenannten Modulus, der das Produkt zweier großer Primzahlen ist. Wer diese beiden Primzahlen kennt, kann daraus den privaten Schlüssel berechnen. In der Vergangenheit wurden bereits häufiger Schlüssel entdeckt, die sich faktorisieren ließen, weil zwei Schlüssel einen gemeinsamen Faktor enthielten. Dann lässt sich mittels des Euklidschen Algorithmus der größte gemeinsame Teiler (auf Englisch Greatest Common Divisor, GCD) trivial und schnell finden.

Cryptosense fand eine Reihe von Schlüsseln, die sehr kleine Primfaktoren hatten. Der Grund dafür ist unklar. Normalerweise dürften solche kleinen Primfaktoren nicht vorkommen, offenbar wurden diese Schlüssel mit fehlerhaften SSH-Implementierungen erstellt. Viele dieser Keys konnte Cryptosense ebenfalls vollständig brechen und hätte damit Zugriff auf die entsprechenden Github-Repositories.


eye home zur Startseite
der-dicky 03. Jun 2015

Da das war aber 2008 und nicht nach 2011...



Anzeige

Stellenmarkt
  1. ulrich GmbH & Co. KG, Ulm
  2. Viega Holding GmbH & Co. KG, Attendorn
  3. Fresenius Kabi Deutschland GmbH, Bad Homburg
  4. OMICRON electronics GmbH, Salzburg (Österreich)


Anzeige
Blu-ray-Angebote
  1. 29,99€ (Vorbesteller-Preisgarantie)
  2. (u. a. Hobbit Trilogie Blu-ray 43,89€ und Batman Dark Knight Trilogy Blu-ray 17,99€)
  3. für 2,99€ oder ganze Staffel für 19,99€ kaufen (Amazon Video)

Folgen Sie uns
       


  1. Dokumentation zum Tor-Netzwerk

    Unaufgeregte Töne inmitten des Geschreis

  2. Patentklage

    Qualcomm will iPhone-Importstopp in Deutschland

  3. Telekom

    Wie viele Bundesfördermittel gehen ins Vectoring?

  4. IETF

    Wie TLS abgehört werden könnte

  5. Recht auf Vergessenwerden

    EuGH entscheidet über weltweite Auslistung von Links

  6. Avast und Piriform

    Ccleaner-Entwickler wird Teil von Avast Software

  7. id Software

    Update 6.66 für Doom enthält Season-Pass-Inhalte

  8. Microsoft

    Kein Windows 10 on ARM für Smartphones

  9. Creoqode 2048 im Test

    Wir programmieren die größte portable Spielkonsole der Welt

  10. Auch Vectoring

    Niedersachsen fördert Internetausbau für 400.000 Haushalte



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Neuer A8 vorgestellt: Audis Staupilot steckt noch im Zulassungsstau
Neuer A8 vorgestellt
Audis Staupilot steckt noch im Zulassungsstau
  1. Autonomes Fahren Audi lässt Kunden selbstfahrenden A7 testen
  2. Elektroauto Volkswagen ID soll deutlich weniger kosten als das Model 3
  3. MEMS Neue Chipfabrik in Dresden wird massiv subventioniert

Anker Powercore+ 26800 PD im Test: Die Powerbank für (fast) alles
Anker Powercore+ 26800 PD im Test
Die Powerbank für (fast) alles
  1. SW271 Benq bringt HDR-Display mit 10-Bit-Panel
  2. Toshiba Teures Thunderbolt-3-Dock mit VGA-Anschluss
  3. Anker Powercore+ 26800 PD Akkupack liefert Strom per Power Delivery über USB Typ C

Matebook X im Test: Huaweis erstes Ultrabook glänzt
Matebook X im Test
Huaweis erstes Ultrabook glänzt
  1. Huawei Neue Rack- und Bladeserver für Azure Stack vorgestellt
  2. Matebook X Huaweis erstes Notebook im Handel erhältlich
  3. Y6 (2017) und Y7 Huawei bringt zwei neue Einsteiger-Smartphones ab 180 Euro

  1. Re: mit sü

    Prinzeumel | 16:47

  2. Re: ich les hier immer cameras instalieren...

    narfomat | 16:46

  3. Re: China und Saudi Arabien ...

    balle13 | 16:45

  4. Re: Gibt nur 4 sinnvolle Zahlungsarten...

    Spaghetticode | 16:42

  5. blöde frage...

    Prinzeumel | 16:41


  1. 16:34

  2. 15:44

  3. 15:08

  4. 14:00

  5. 13:15

  6. 12:57

  7. 12:41

  8. 12:07


  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