Abo
  • Services:
Anzeige
Beim Schlüsselaustausch mit dem statischen Diffie-Hellman-Verfahren kann manches schiefgehen.
Beim Schlüsselaustausch mit dem statischen Diffie-Hellman-Verfahren kann manches schiefgehen. (Bild: Nopetro~commonswiki/Wikimedia-Commons/CC by-sa 3.0)

Schlüsselaustausch: KCI-Angriff auf TLS missbraucht Clientzertifikate

Beim Schlüsselaustausch mit dem statischen Diffie-Hellman-Verfahren kann manches schiefgehen.
Beim Schlüsselaustausch mit dem statischen Diffie-Hellman-Verfahren kann manches schiefgehen. (Bild: Nopetro~commonswiki/Wikimedia-Commons/CC by-sa 3.0)

Ein komplexer Angriff nutzt eine trickreiche Kombination aus Clientzertifikaten und einem statischen Diffie-Hellman-Schlüsselaustausch. Der Angriff ist nur in sehr speziellen Situationen relevant, doch es zeigt sich wieder einmal, dass das TLS-Protokoll selbst Sicherheitslücken hat.

Anzeige

Auf der Usenix-Konferenz haben Sicherheitsforscher einen neuen Angriff auf TLS vorgestellt. Beim Key-Compromise-Impersonation-Angriff (KCI) handelt es sich um eine Schwäche im Protokoll selbst und keinen Programmierfehler. Gelingt es einem Angreifer, einen Nutzer mittels Social Engineering davon zu überzeugen, ein bestimmtes Clientzertifikat zu installieren, können damit TLS-Verbindungen zu anderen Servern manipuliert oder übernommen werden. Allerdings funktioniert der Angriff nur, wenn der Client einen statischen Diffie-Hellman-Schlüsselaustausch unterstützt. Dieser gilt als exotisch und wird nur selten unterstützt.

Statischer Diffie-Hellman-Schlüsselaustausch

Bei einem normalen Diffie-Hellman-Schlüsselaustausch, auch Ephemeral Diffie-Hellman genannt, erzeugen beide Kommunikationspartner einen Zufallswert, aus dem die beim Handshake übertragenen Werte berechnet werden. Gemacht wird das vor allem, um Verbindungen mit Forward Secrecy zu gewährleisten. Der statische Diffie-Hellman-Schlüsselaustausch funktioniert hingegen ohne Zufallswert und bietet auch keine Forward Secrecy. Die Eingaben für den Diffie-Hellman-Schlüsselaustausch sind in einem Zertifikat festgelegt.

Bei einem Diffie-Hellman-Schlüsselaustausch haben beide Kommunikationspartner eine geheime Zahl (hier a und b) und potenzieren einen gemeinsamen Generator (g) damit. Der Server sendet also g^a und der Client g^b. Anschließend kann der Server (g^b)^a berechnen und der Client (g^a)^b. Beide Berechnungen ergeben denselben Wert, dieser wird anschließend zur Verschlüsselung und Authentifizierung der Verbindung genutzt. Bei einem gewöhnlichen Diffie-Hellman-Austausch sind a und b Zufallswerte, bei einem statischen Diffie-Hellman-Austausch sind a und b jedoch der private Schlüssel und g^a sowie g^b der öffentliche Schlüssel und Teil des Zertifikats.

Wenn ein Angreifer im Besitz eines Clientzertifikats samt dazugehörigem privatem Schlüssel ist, kann erfolgreich einem Nutzer eine fremde HTTPS-Seite vorgegaukelt werden. Dazu benötigt er zwar ein gültiges passendes Zertifikat der Webseite, allerdings ohne privaten Schlüssel. Der Server schickt nun den Wert g^a, ohne das dazugehörige a zu kennen. Da er aber den geheimen Schlüssel b kennt, kann er ebenso wie der Client die Berechnung (g^a)^b durchführen und damit die Verbindung aufbauen.

Laut den Autoren des Angriffs ist diese Schwäche des statischen Diffie-Hellman-Verfahrens eigentlich seit langem bekannt. Allerdings hatte bislang noch niemand versucht, einen entsprechenden Angriff im Rahmen von TLS durchzuführen und zu dokumentieren.

Clientzertifikat auf Rechner des Opfers

Um den Angriff praktisch durchzuführen, müssen einige Bedingungen erfüllt sein. Zunächst muss der Angreifer das Opfer dazu bringen, ein Clientzertifikat zu installieren. Das ist allerdings möglicherweise nicht sehr schwer. Clientzertifikate werden eher selten genutzt, aber es ist nicht unüblich, dass Webseiten diese für einen Nutzer erstellen und ihm nachher samt privatem Key zum Download anbieten. Empfehlenswert ist das zwar nicht, vielmehr sollte aus Sicherheitsgründen der private Key immer auf dem Client erstellt werden. Einige Browser bieten dafür den keygen-HTML-Tag an, allerdings wird gerade darüber diskutiert, dieses Feature zu entfernen. Das Userinterface bei der Installation von Clientzertifikaten warnt den Nutzer im Allgemeinen nicht vor möglichen Gefahren, anders als etwa bei der Installation von neuen Root-Zertifikaten. Das ergibt auch Sinn: Im Normalfall sollten zusätzliche Clientzertifikate keine Gefahr darstellen.

Für einen erfolgreichen Angriff benötigt der Angreifer weiterhin ein Serverzertifikat. Da das statische Diffie-Hellman-Verfahren nahezu nie von Webseiten genutzt wird, haben üblicherweise Server kein derartiges Zertifikat. Allerdings: Beim Diffie-Hellman-Schlüsselaustausch mit elliptischen Kurven (ECDH) hat das Serverzertifikat dieselbe Struktur wie ein ECDSA-Zertifikat. Und ECDSA-Zertifikate sind inzwischen recht verbreitet. DSA-Zertifikate ohne elliptische Kurven unterscheiden sich hingegen in ihrer Struktur von Diffie-Hellman-Zertifikaten und können nicht verwendet werden.

Ältere Safari-Versionen betroffen

Von den relevanten TLS-Bibliotheken fanden die Autoren lediglich zwei, die clientseitig den entsprechenden Diffie-Hellman-Austausch unterstützen: OpenSSL und ältere Versionen von Apples TLS-Implementierung, die von Safari genutzt wird. OpenSSL unterstützt allerdings nur die Variante ohne elliptische Kurven und auch erst in der jüngsten Version 1.0.2.

Unter Mac OS X vor der Version 10.5.3 war der Angriff ohne Einschränkungen möglich. Spätere Versionen haben zunächst eine Abfrage eingebaut, in denen die Nutzung des Clientzertifikats individuell bestätigt werden musste. Stimmt der Nutzer dem zu, ist der Angriff weiterhin möglich. In den jüngsten OS-X-Versionen ab 10.8 wurde der entsprechende Code für den statischen Diffie-Hellman-Schlüsselaustausch deaktiviert.

Bei der Nutzung von ECDSA-Zertifikaten für den Angriff gibt es eine weitere Hürde: Die Zertifikate können eine Erweiterung mit dem Namen "X509 Key Usage" haben. In dieser Erweiterung gibt es ein Flag KeyAgreement, das idealerweise für ECDSA-Zertifikate deaktiviert sein sollte. Allerdings ist es aus unklaren Gründen manchmal aktiviert, beispielsweise hat das Zertifikat von facebook.com das entsprechende Flag gesetzt. Ist das Flag deaktiviert, sollte ein Client einen entsprechenden Schlüsselaustausch ablehnen. Generell ist es auch so, dass nicht alle Clients diese Flags prüfen.

Statischer Diffie-Hellman-Schlüsselaustausch hat keine Vorteile

Die Abhilfe für den KCI-Angriff ist relativ simpel: Da der statische Diffie-Hellman-Schlüsselaustausch - egal ob klassisch oder mit elliptischen Kurven - keine echten Vorteile bringt und mangels Forward Secrecy nicht dem Stand der Technik entspricht, sollte man ihn schlicht nicht benutzen. Sowohl Server als auch Clients sollten die entsprechenden Cipher-Modi deaktivieren und ausschließlich die Ephemeral-Diffie-Hellman-Modi anbieten. Weiterhin ist es sinnvoll, wenn Zertifikate die Key-Usage-Erweiterung korrekt setzen und Clients diese korrekt prüfen.

Insgesamt ist der Angriff nur in sehr seltenen Fällen relevant. Interessant ist er trotzdem: Es zeigt sich wieder einmal, dass die extrem hohe Komplexität von TLS mit zahlreichen kaum bekannten und selten genutzten Features zu Problemen führen kann. Viele Teile der TLS-Spezifikation sind offenbar nicht hinreichend auf Sicherheitsprobleme untersucht.


eye home zur Startseite
Clemens Hlauschek 14. Sep 2015

Neue Infos zu dem Angriff, inklusive eines Demo-Videos (PoC Attacke gegen Facebook) gibt...



Anzeige

Stellenmarkt
  1. Rundfunk Berlin-Brandenburg (rbb), Berlin
  2. Deutsche Post DHL Group, Bonn
  3. Dürr Systems AG, Bietigheim-Bissingen
  4. Robert Bosch GmbH, Stuttgart


Anzeige
Spiele-Angebote
  1. 22,90€ inkl. Versand
  2. (u. a. Uncharted 4 39,00€, Ratchet & Clank 29,00€, The Last of Us Remastered 28,98€, The...

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Potenzialanalyse für eine effiziente DMS- und ECM-Strategie
  2. Praxiseinsatz, Nutzen und Grenzen von Hadoop und Data Lakes
  3. Sicherheitskonzeption für das App-getriebene Geschäft


  1. PSX 2016

    Sony hat The Last of Us 2 angekündigt

  2. Raspberry Pi

    Schutz gegen Übernahme durch Hacker und Botnetze verbessert

  3. UHD-Blu-ray

    PowerDVD spielt 4K-Discs

  4. Raumfahrt

    Europa bleibt im All

  5. Nationale Sicherheit

    Obama verhindert Aixtron-Verkauf nach China

  6. Die Woche im Video

    Telekom fällt aus und HPE erfindet den Computer neu - fast

  7. Hololens

    Microsoft holoportiert Leute aus dem Auto ins Büro

  8. Star Wars

    Todesstern kostet 6,25 Quadrilliarden britische Pfund am Tag

  9. NSA-Ausschuss

    Wikileaks könnte Bundestagsquelle enttarnt haben

  10. Transparenzverordnung

    Angaben-Wirrwarr statt einer ehrlichen Datenratenangabe



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Spielen mit HDR ausprobiert: In den Farbtopf gefallen
Spielen mit HDR ausprobiert
In den Farbtopf gefallen
  1. Ausgabegeräte Youtube unterstützt Videos mit High Dynamic Range
  2. HDR Wir brauchen bessere Pixel
  3. Andy Ritger Nvidia will HDR-Unterstützung unter Linux

Shadow Tactics im Test: Tolle Taktik für Fans von Commandos
Shadow Tactics im Test
Tolle Taktik für Fans von Commandos
  1. Civilization 6 Globale Strategie mit DirectX 12
  2. Total War Waldelfen stürmen Warhammer
  3. Künstliche Intelligenz Ultimative Gegner-KI für Civilization gesucht

Named Data Networking: NDN soll das Internet revolutionieren
Named Data Networking
NDN soll das Internet revolutionieren
  1. Geheime Überwachung Der Kanarienvogel von Riseup singt nicht mehr
  2. Bundesförderung Bundesländer lassen beim Breitbandausbau Milliarden liegen
  3. Internet Protocol Der Adresskollaps von IPv4 kann verzögert werden

  1. Re: Memristor fehlt noch

    SoniX | 04:41

  2. Re: Erinnert an diesen neuen US-Tarnkappen...

    quasides | 04:40

  3. Re: Wenn Obama seinen Behörden das Hacken von...

    fb_partofmilitc... | 04:20

  4. Was ich mir für UHD und Blu-ray wünsche:

    ManMashine | 04:15

  5. Häh?

    Vögelchen | 04:06


  1. 00:03

  2. 15:33

  3. 14:43

  4. 13:37

  5. 11:12

  6. 09:02

  7. 18:27

  8. 18:01


  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