Das SSL-Dilemma
cirosec TrendTage – März 2015
Christopher Dreher
cirosec GmbH
2
Agenda
3
 Verschlüsselung im WWW
 SSL/TLS, was läuft falsch?
– Designschwächen
– Implementierungsfehler
 Vertrauen in Z...
Verschlüsselung im WWW
Von damals bis heute
5
 HTTPS wurde von Netscape entwickelt und zusammen
mit SSLv1 erstmals 1994 erwähnt
 Kipp Hickman v...
Von damals bis heute
6
 SSLv2 gilt seit Ende 1996 als gebrochen
– Aktiver Man-in-the-Middle-Angriff erlaubt die komplette...
SSL und/oder TLS
7
 2000 – 2006 erfolgt eine Vielzahl wissenschaftlicher
Angriffe gegen SSLv3 und TLS 1.0
– Padding-Oracl...
SSL und TLS im Web 2015
8
Quelle: Universal-Pictures
SSL und TLS im Web 2015
9
Quelle: https://www.trustworthyinternet.org/ssl-pulse/
SSL und/oder TLS
10
TLS
Browser
#*+x!3@f_
TLS
Webserver
Daten werden
verschlüsselt übertragen
Server beweist seine
Identit...
Verbindungsaufbau bei TLS
11
Client-Hello Server-Hello
Protokollversion
Algorithmus AES
Client-Zufallszahl
Liste von Algor...
Verbindungsaufbau bei TLS
12
Client Key Exchange
Pre-Master-Secret
privat
öffentlich
AES
TLS 1.1 TLS 1.1
Verbindungsaufbau bei TLS
13
Pre-Master-Secret
Fixer Startwert
Client-Zufallszahl +
Server-Zufallszahl privat
öffentlich
A...
Designschwächen in SSL / TLS
Designschwächen in SSL / TLS
15
 Probleme basieren nicht auf den einzelnen
Implementierungen von SSL (OpenSSL, LibreSSL,
...
POODLE: SSLv3 vulnerability
(CVE-2014-3566)
23
 Padding Oracle On Downgraded Legacy Encryption
 Angreifer muss einen pas...
POODLE: SSLv3 vulnerability
(CVE-2014-3566)
 Keine bekannte Ausnutzung in the wild
– Wahrscheinlicher im Gegensatz zu BEA...
POODLE: SSLv3 vulnerability
(CVE-2014-3566)
25
Quelle: http://news.netcraft.com/archives/2014/10/15/googles-poodle-affects...
SSLv3 Downgrade
26
Quelle: http://news.netcraft.com/archives/2014/10/15/googles-poodle-affects-oodles.html
FREAK: < TLS 1.1 vulnerability
27
 Factoring RSA Export Keys
 Angreifer muss einen aktiven Man-in-the-Middle-Angriff
dur...
FREAK: < TLS 1.1 vulnerability
 Empfehlung: Deaktivierung von TLS 1.0 und kleiner
Verwundbare SSL/TLS-Versionen
TLS 1.2 -...
Implementierungsfehler in SSL / TLS
Implementierungsfehler in SSL / TLS
30
 Fehler erzeugt durch einzelne Entwickler / Teams
innerhalb einer Bibliothek
 Feh...
Heartbleed (CVE-2014-0160)
31
 Heartbeat-Nachrichten dienen der Sicherstellung einer
intakten Kommunikationsverbindung üb...
Heartbleed (CVE-2014-0160)
32
Quelle: http://xkcd.com/1354/
Heartbleed (CVE-2014-0160)
33
Quelle: http://xkcd.com/1354/
Heartbleed (CVE-2014-0160)
34
„A HeartbeatRequest message can arrive almost
at any time during the lifetime of a connectio...
OpenSSL CCS Injection Vulnerability
(CVE-2014-0224)
35
 Begünstigte die Erzwingung zur Verwendung
von schwachem Schlüssel...
Vertrauen in Zertifikatsstellen
Authentisierung / Identifizierung bei
TLS
37
 Woher weiß der Browser, dass der angefragte Server
legitim ist?
 Server-Ze...
Vertrauenswürdige CAs in Browsern
38
 Keine zentrale Datenbank
 Internet Explorer / M$ CTL
 Mozilla Firefox
 iOS / And...
Beispiel: Aufbrechen der Verschlüsselung
39
TLS-Verbindung 1 TLS-Verbindung 2
WebserverAngreiferBrowser
Echtes ZertifikatG...
Beispiel: Aufbrechen der Verschlüsselung
40
 Gefälschtes Zertifikat ist nicht gültig
 Ist das ein Problem?
You Won’t Be Needing These Any More
41
 Untersuchung von ca. 48 Mio. HTTPS-Seiten ergab:
– Über 140 CA-Zertifikate in den...
DigiNotar Hack
42
 Analyse-Bericht Fox-IT:
http://www.rijksoverheid.nl/bestanden/documenten-en-
publicaties/rapporten/20...
Türktrust-Versagen
43
Quelle: Heise
Malware/Adware und CAs
44
Quelle: Heise
Exkurs Zertifikate
45
Quelle: https://www.certcenter.de/ssl-guide
Domain Validation
- Verschlüsselung
- Validierung der
Do...
Exkurs Zertifikate
46
DV- oder OV-Zertifikate
EV-Zertifikate
Und 2015 …
47
48
<undisclosed CA>
49
<undisclosed CA>
50
<undisclosed CA>
51
<undisclosed CA>
52
Beispiel: Man-in-the-Middle-Angriff
Browser
Angreifer mit
gültigem Server-
Zertifikat
Webserver
Führt DNS-Spoofing durch,
...
Das Revocation-Problem
Lebenszyklus von Zertifikaten
55
 Zertifikatsantrag: Ein Benutzer beantragt ein Zertifikat.
 Antragsprüfung: Die Registr...
Widerrufen von Zertifikaten
56
 Welche Möglichkeiten gibt es, um ein Zertifikat zu
widerrufen?
Quelle: Cartoonstock.com
Q...
CRL-Listen
57
 Jede CA hat die Möglichkeit, Sperrlisten
(Certificate-Revocation-Listen) zu publizieren
CRL-Listen
58
CRL-Listen
59
Quelle: https://isc.sans.edu/crls.html
Zitat: https://blog.cloudflare.com/the-hard-costs-of-heartbleed/
CRL-Listen
60
 Werden vom Webbrowser in regelmäßigen Abständen
abgerufen
 Blacklist-Ansatz
 Soft-Fail bei allen Browser...
OCSP
61
 Online Certificate Status Protocol
 Netzwerkprotokoll auf Basis von HTTP
 Clients (Webbrowser) können dadurch ...
OCSP
62
 Vor dem Aufruf einer HTTPS-Webseite wird eine Anfrage
vom Browser an den OCSP-Responder der CA gestellt
OCSP-
An...
OCSP
63
 Was passiert, wenn der OCSP-Responder nicht antwortet?
OCSP-
Anfrage
???
Browser
ruft
Seite auf
Browser
ruft
Sei...
OCSP
64
 OCSP bietet im Gegensatz zu CRLs folgende Vorteile:
– Sekundengenaue Datenbasis
– CA kann Zertifikat als bad mar...
Revocation-Wirrwarr
65
 Behandlung von widerrufenen Zertifikaten obliegt den
Browsern
 Reicht vom Nichtbeachten des Wide...
Revocation, wenn es klappt …
66
OCSP Hard-Fail
67
Fehlkonfigurationen erkennen und fixen
Fehlkonfiguration erkennen
69
 Veraltete/unsichere Protokollversionen
 Unsichere Cipher Suites
 Veraltete SSL/TLS-Imple...
Fehlermeldung durch falschen
Hostnamen
70
Fehlermeldung durch falschen
Hostnamen
71
Fehlermeldung durch falschen
Hostnamen
72
Fehleranalyse offline
73
 testssl.sh (https://testssl.sh/)
 SSLyze (https://github.com/nabla-c0d3/sslyze)
 SSLMap (http...
testssl.sh
74
testssl.sh
75
Fehleranalyse online
76
77
78
79
80
Hilfe bei der Serverkonfiguration
81
Hilfe bei der Serverkonfiguration
82
Welche Algorithmen sind zu wählen?
83
https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/T
echnischeRichtli...
Wichtige Server-Header
 HSTS (HTTP Strict Transport Security)
– Signalisiert dem Browser, dass alle zukünftigen Anfragen
...
Ausblick
OCSP Stapling
86
 OCSP-Anfragen werden vom Browser an den Server
verlagert
 Webserver liefert zusammen mit dem Zertifika...
OCSP Stapling
87
 Vorteile:
– Auslastung der OCSP-Responder hält sich in Grenzen
– Keine Verletzung der Privatsphäre
– Ke...
OCSP must-staple
88
 OCSP Stapling hat folgendes Problem:
– Wird ein Serverzertifikat gestohlen (privater Schlüssel), so ...
2015 … 2016 … 2017
89
90
Nächste SlideShare
Wird geladen in …5
×

cirosec TrendTage März 2015 - Das SSL Dilemma

479 Aufrufe

Veröffentlicht am

Das SSL Dilemma. POODLE, FREAK, Heartbleed, compromissed CA, broken revocation, and a lot more ...

Veröffentlicht in: Internet
1 Kommentar
1 Gefällt mir
Statistik
Notizen
  • ROFL... Ausblick wird Let's Encrypt promoted und davor ausführlich erklärt, dass Domainvalidierung keinen Pfifferling wert ist, lächerlich!
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
Keine Downloads
Aufrufe
Aufrufe insgesamt
479
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
7
Aktionen
Geteilt
0
Downloads
0
Kommentare
1
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Seit 2011 ca. über 20 bekannte Angriffe gegen SSL/TLS Cipher, CAs und Implementierungen
    Eine Schwachstelle braucht einen markanten Namen, eine eigene Website und das wichtigste ein passendes Logo
  • Wie lange verschlüsseln wir im Internet schon? Gab es was anderes als SSL
    Vorstellung prominenter Beispiele, tatsächliche Bedrohung, Maßnahmen, nicht alle können durch neue Protokollversionen behoben werden
    Woher kommen die Zertifikate, wie weiß der Browser wem zu vertrauen ist
    Was passiert wenn ein Zertifikat kompromittiert wurde
    DIY Analysen
    Was bringt die Zukunft und welche Ansätze gibt es dem Dilemma zu entkommen?
  • - e-Commerce treibender Faktor der SSL-Verschlüsselung
  • SSLv2 Handshake war nicht geschützt  Downgrade Attacke
    MAC basierte ausschließlich auf MD5  Length Extension Attacke

    Microsoft nimmt Einfluss und ist Namensgeber für TLS
  • - Entfernung der EXPORT Ciphers, Überbleibsel aus den late 80s / early 90s kalter Krieg
  • - Jetzt liegen 7 Jahren dazwischen und das gesamte Internet ist gesichert durch TLS 1.2?
  • Alexa Top 1 Million liefert ca. 150 000 gesicherte Webseiten
    Weniger als ¼ der SSL/TLS-Server sind sicher
    Unterstützte Protokolle können das Sicherheitsniveau nicht 1:1 abbilden
    Rating von SSLLabs
  • TLS dient zur verschlüsselten Übertragung der Daten zwischen Browser und Server
    Authentisierung über Zertifikate um die Identität zu beweisen
  • - TLS-Handshake wird vom Client initiiert (Zufallszahl, unterstützte Protokolle und untersützte Algorithmen ( Ciphersuites)
  • Lempel-Ziv-Welch-Algorithmus Begründer der heutigen Kompremierungen
    Wörterbuch mit vorher fester Größe wird genutzt um häufige Werte abzulegen und dann nur noch Referenzen auf Einträge in Wörterbuch im komprimierten Ausgabe verwenden
    Angreifer manipuliert Request indem er bekannte Werte, wie z.B. Header in die URL der Anfrage kopiert
  • - Ähnlich zu CRIME aber Ausnutzung der HTTP-Kompression anstelle der TLS-Kompression
  • - Theoretisch weil HTTP-Kompression ein essentieller Bestandteil der heutigen Architektur im Internet ausmacht (Bandbreite kostet)
  • - 2011 hat man Empfohlen die CBC Ciphers von AES wegen BEAST nicht mehr zu nutzen
  • - SSLv3 Downgrade Attack  Dadurch sind auch alle TLS1.0 anfällig die noch SSLv3 unterstützem
  • Aktiver Man-in-the-Middle Angriff verweigert TLS
    Handshake ist noch nicht authentisiert und Browser bemerkt den aktiven Man-in-the-Middle Angriff nicht
  • Der kalte Krieg schlägt zurück
    Finit-State-Machines (Endliche Automaten wurden genutzt um alle erreichbaren Zustände unterschiedlicher Ciphersuites zu analysieren)
  • 10% der Alexa Top 1 Million Webseiten bieten noch EXPORT Cipher an
    Abschließend zu Designschwächen:
    Eine Vielzahl von serverseitigen Bibliotheken und Implementierungen sind betroffen
    Behebung dauert in der Regel zu lange (Appliances hinken hinter her)
     Browser-Hersteller versuchen Schwachstellen client-seitig zu mitigieren
  • Einführung um TLS über unzuverlässige, verbindungslose UDP-Verbindungen zu gewährleisten
    Deutsche Ingineurkunst von einem Studenten der FH Münster im Zuge seiner Promotion
    Bug war 27 Monate im Code (31.12.2011 – 7.4.2014)  Gefahr von OpenSource Software (nur ein fest angestellter Mitarbeiter<)
  • Eintrittswahrscheinlichkeit HOCH da Heartbeat-Anfragen zu JEDER Zeit erfolgen können
    „Katastrophal ist das richtige Wort. Auf einer Skala von 1 bis 10 ist dies eine 11.“ Bruce Schneier
  • CCS kann normalerweise nur am Ende des TLS-Handshakes erfolgen und ist verschlüsselt
    Bug war über 16 Jahre im TLS-Code und wurde durch einen mathematischen Ansatz zur formalen Beweisführung
  • - Damit Browsern Zertifikaten trauen können, müssen die Wurzeln (Root-Zertifikate) in Browser verankert sein
  • Geld regiert die Welt
    Lobby-Arbeit
  • - Aktiver Man-in-the-Middle, der ein gefälschtes Serverzertifikat vorweist (nicht vertrauenswürdige CA, Selbstsigniert)
  • - Wenn Unternehmen TLS aufbrechen ist der Proxy verantwortlich, wie nicht vertrauenswürdige Verbindungen nach innen weitergeleitet werden
  • In allen Truststores haben die Forscher 426 CAs ermittelt
    Davon wurden nur 2/3 tatsächlich im Internet gefunden, was ist mit den restlichen über 140 Cas?
  • - Wildcard-Zertifikat für *.google.com ausgestellt um Iranische Google-Mail Nutzer zu überwachen
  • - Verkettung unglücklicher Umstände führte zur Signatur von zwei Sub-/Intermediate CA Zertifikaten
  • - Im Februar 2015 war Lenovo negativ in der Schlagzeilen, da Adware Vorinstalliert war, welches ein Root-Zertifikat in die CTL von Microsoft installiert hat und der private Schlüssel dieses Root-Zertifikates konnte aus der Adware selbst exportiert werden
  • Keine Bindung zwischen TLD und CA
    CAs unterscheiden sich wesentlich im Punkto Kosten
  • - Haben CAs in den letzten Jahren dazu gelernt? Manche vllt. schon
  • - Im Gegensatz zu OV oder EV Zertifikaten erfolgt die Verifikation bei DV Zertifikaten in der Regel vollautomatisiert ab
  • Aktiver Man-in-the-Middle Angriff z.B. in einem öffentlichen WLAN oder lokalen Netzwerk
  • Was versteht man unter Revocation?
  • Zertifikate sind keine materiellen Gegenstände die zurückgefordert werden können
    Was einmal im Internet ist, bleibt da für immer
  • Heartbleed verursachte ein Anwachsen der Globalsign CRL von 22kb auf 4,7MB (Kosten 400.00$ pro Monat)
    Wer verursacht die Kosten
  • - Soft-Fail Ansatz erlaubt einem Anfgreifer auf Netzwerkebene das Unterbinden des CRL-Downloads
  • - Reaktion ist Browser-abhängig im Zuge von Heartbleed wurde aber offensichtlich, dass aktuelle OCSP-Infrastrukturen der CAs nicht für hohe Lasten ausgelegt sind
  • Browser, sogar unterschiedliche Versionen behandelt Revocation anders
  • Wie schon gesehen, reicht es nicht aus die aktuellste TLS-Version zu unterstützen, sondern auch alte explizit zu deaktivieren
    Schwache Ciphers, nicht authentisierte Ciphers, NULL Ciphers
    Abgelaufene Zertifikate werden von Browsern wie nicht vertrauenswürdige Zertifikate behandelt
    Wenige CAs signieren Zertifikate direkt mit der Root-CA, welche in Browsern als vertrauenswürdige hinterlegt sind (Kronjuwelen)
    SHA1 wird ab 2016 von Chrome …
    Feherlhafte Servernamen (Kommt nicht vor?)
  • - Wichtig: Manche Projekte veraltet und Cipherlisten statisch
  • - Fallstrick wenn OpenSSL nicht mit allen Protokollen / Cipher Suites kompiliert wurde
  • - Header wird im Anschluss behandelt
  • - Wichtig Haken setzen bei nicht Veröffentlichung
  • Zeitersparnis, um nicht sämtliche Browser selbst Testen zu müssen
    Kunden sind nicht Security-affin und müssen zufriedengestellt
    Tradeoff zwischen Sicherheit und operativem Betrieb: Oft Risikoakzeptanz
  • - Wie man hier sieht wird RC4 noch unterstützt? Warum?
  • Woher weiß der Browser, dass mein Ziel über HTTPS erreicht werden soll
    Mit Hilfe von SSL-Stripping kann ein aktiver Man-in-the-Middle Angreifer ein Downgrade auf HTTP erzwingen
    HTST Header übergibt dem Browser eine Zeitspanne für die ausschließlich TLS zum Ziel gesprochen werden darf

    Pinning ist in der sicheren Entwicklung von mobilen Apps gefordert
    Soll dazu dienen, dass nur legitime Zertifikate vom Browser erlaubt werden
    Wichtig wenn man beim Zertifikatwechsel auch die CA wechselt, dass frühzeitig überschneidend anzukündigen
  • Bisher hat der Browser vor jedem Seitenaufruf eine OCSP-Anfrage gestellt
  • - Der Hauptgrund warum ein Zertifikate revoked wird, ist der Verdachtsmoment, dass es kompromittiert wurde
  • TLSA-Record in DNS wiederum mit Fingerprint (OOB-Lösung) aber DNSSEC erforderlich
    Lets Encrypt: Delivering TLS Everywhere (Mozilla, Akamai, Cisco, EFF, IdenTrust)
  • cirosec TrendTage März 2015 - Das SSL Dilemma

    1. 1. Das SSL-Dilemma cirosec TrendTage – März 2015 Christopher Dreher cirosec GmbH
    2. 2. 2
    3. 3. Agenda 3  Verschlüsselung im WWW  SSL/TLS, was läuft falsch? – Designschwächen – Implementierungsfehler  Vertrauen in Zertifikatsstellen  Das Revocation-Problem  Fehlkonfigurationen erkennen und fixen  Ausblick
    4. 4. Verschlüsselung im WWW
    5. 5. Von damals bis heute 5  HTTPS wurde von Netscape entwickelt und zusammen mit SSLv1 erstmals 1994 erwähnt  Kipp Hickman von Netscape veröffentlichte SSLv2 als IETF Draft in 1995 The SSL Protocol is designed to provide privacy between two communicating applications (a client and a server). Second, the protocol is designed to authenticate the server, and optionally the client. [...] Quelle: Wikipedia
    6. 6. Von damals bis heute 6  SSLv2 gilt seit Ende 1996 als gebrochen – Aktiver Man-in-the-Middle-Angriff erlaubt die komplette Kompromittierung der Vertraulichkeit und Integrität der gesicherten Übertragen (http://osvdb.org/56387)  SSLv3 wird wiederum von drei Wissenschaftlern bei Netscape erarbeitet und 1996 veröffentlicht  1999 wird SSL zu TLS umbenannt, jedoch minimale Änderung der Spezifikation zu SSLv3 (SSLv3.1->TLS 1.0)
    7. 7. SSL und/oder TLS 7  2000 – 2006 erfolgt eine Vielzahl wissenschaftlicher Angriffe gegen SSLv3 und TLS 1.0 – Padding-Oracle-Angriff gegen Padding der Block Cipher (2002 Vaudenay „Security Flaws Induced by CBC Padding Applications to SSL, IPSEC, WTLS...“) – Timing-Attacke (2003 Brumley u. Boneh „Remote timing attacks are practical“) – Chosen-Plaintext-Attacke: IV ist vorhersagbar (2006 Bard)  TLS 1.1 wird 2006 als Standard veröffentlicht (RFC4346) – Entfernung der Export Ciphers (40 Bit)  Bereits 2008 wird die finale Version von TLS 1.2 als Ablösung von TLS 1.1 veröffentlicht (RFC5246)
    8. 8. SSL und TLS im Web 2015 8 Quelle: Universal-Pictures
    9. 9. SSL und TLS im Web 2015 9 Quelle: https://www.trustworthyinternet.org/ssl-pulse/
    10. 10. SSL und/oder TLS 10 TLS Browser #*+x!3@f_ TLS Webserver Daten werden verschlüsselt übertragen Server beweist seine Identität durch Zertifikat
    11. 11. Verbindungsaufbau bei TLS 11 Client-Hello Server-Hello Protokollversion Algorithmus AES Client-Zufallszahl Liste von Algorithmen Protokollversion TLS 1.1 Server-Zufallszahl TLS 1.1
    12. 12. Verbindungsaufbau bei TLS 12 Client Key Exchange Pre-Master-Secret privat öffentlich AES TLS 1.1 TLS 1.1
    13. 13. Verbindungsaufbau bei TLS 13 Pre-Master-Secret Fixer Startwert Client-Zufallszahl + Server-Zufallszahl privat öffentlich AES TLS 1.1 Master-Secret Symmetrischer Sitzungsschlüssel TLS 1.1
    14. 14. Designschwächen in SSL / TLS
    15. 15. Designschwächen in SSL / TLS 15  Probleme basieren nicht auf den einzelnen Implementierungen von SSL (OpenSSL, LibreSSL, MatrixSSL, PolarSSL, GnuTLS usw.)  Lässt sich in der Regel nicht durch die Entwickler beheben, sondern bedarf – Anpassung und Änderung des Protokolls (Versionsupdate) – Workaround durch Deaktivierung betroffener Cipher Suites
    16. 16. POODLE: SSLv3 vulnerability (CVE-2014-3566) 23  Padding Oracle On Downgraded Legacy Encryption  Angreifer muss einen passiven Man-in-the-Middle-Angriff durchführen (Sniffing) und innerhalb des Opfer-Browsers 256 x n (n-Byte langes Cookie) Anfragen abschicken können  https://www.openssl.org/~bodo/ssl-poodle.pdf
    17. 17. POODLE: SSLv3 vulnerability (CVE-2014-3566)  Keine bekannte Ausnutzung in the wild – Wahrscheinlicher im Gegensatz zu BEAST, BREACH oder CRIME  Empfehlung: Deaktivierung von SSLv3 Verwundbare SSL/TLS-Versionen TLS 1.2 - TLS 1.1 - TLS 1.0 - SSL 3.0 JA SSL 2.0 JA 24
    18. 18. POODLE: SSLv3 vulnerability (CVE-2014-3566) 25 Quelle: http://news.netcraft.com/archives/2014/10/15/googles-poodle-affects-oodles.html
    19. 19. SSLv3 Downgrade 26 Quelle: http://news.netcraft.com/archives/2014/10/15/googles-poodle-affects-oodles.html
    20. 20. FREAK: < TLS 1.1 vulnerability 27  Factoring RSA Export Keys  Angreifer muss einen aktiven Man-in-the-Middle-Angriff durchführen und verlangt vom Server die Verwendung von EXPORT Cipher Suites  Faktorisierung von 512bit RSA-Schlüsseln kostet ca. 100$ Amazon EC2-Rechenzeit und dauert weniger als 8 Stunden  https://www.smacktls.com/
    21. 21. FREAK: < TLS 1.1 vulnerability  Empfehlung: Deaktivierung von TLS 1.0 und kleiner Verwundbare SSL/TLS-Versionen TLS 1.2 - TLS 1.1 - TLS 1.0 JA SSL 3.0 JA SSL 2.0 JA 28 Quelle: https://freakattack.com/ HTTPS serves of Alexa‘s Top 1 Million Domains
    22. 22. Implementierungsfehler in SSL / TLS
    23. 23. Implementierungsfehler in SSL / TLS 30  Fehler erzeugt durch einzelne Entwickler / Teams innerhalb einer Bibliothek  Fehlerhafte Qualitätssicherung des Codes  Typische Softwareschwachstellen – Buffer Overflows – Control Flow Manipulation
    24. 24. Heartbleed (CVE-2014-0160) 31  Heartbeat-Nachrichten dienen der Sicherstellung einer intakten Kommunikationsverbindung über UDP  Fehlerhafte Überprüfung der Längenangabe der Heartbeat-Anfrage  Heartbeat-Antwort liefert die empfangene Nachricht zurück und mehr (max. 64 kB) – Auslesen zufälliger Werte, die zum aktuellen Zeitpunkt in dem dynamischen Prozessspeichers des Webserver-Prozesses liegen  http://heartbleed.com/ Verwundbare OpenSSL-Versionen OpenSSL 1.0.1 bis 1.0.1f OpenSSL 1.0.2-beta bis 1.0.2-beta1
    25. 25. Heartbleed (CVE-2014-0160) 32 Quelle: http://xkcd.com/1354/
    26. 26. Heartbleed (CVE-2014-0160) 33 Quelle: http://xkcd.com/1354/
    27. 27. Heartbleed (CVE-2014-0160) 34 „A HeartbeatRequest message can arrive almost at any time during the lifetime of a connection. Whenever a HeartbeatRequest message is received, it SHOULD be answered with a corresponding HeartbeatResponse message.“ https://tools.ietf.org/html/rfc6520
    28. 28. OpenSSL CCS Injection Vulnerability (CVE-2014-0224) 35  Begünstigte die Erzwingung zur Verwendung von schwachem Schlüsselmaterial durch externe Angreifer auf der Leitung  ChangeCipherSpec-Instruktion konnte zu beliebigen Zeiten injected werden  http://ccsinjection.lepidum.co.jp/ Verwundbare OpenSSL-Versionen OpenSSL 1.0.1 bis 1.0.1g OpenSSL 1.0.0 bis 1.0.0l Alle Versionen vor OpenSSL 0.9.8y
    29. 29. Vertrauen in Zertifikatsstellen
    30. 30. Authentisierung / Identifizierung bei TLS 37  Woher weiß der Browser, dass der angefragte Server legitim ist?  Server-Zertifikate sind wie Ausweisdokumente – Der Aussteller der Zertifikate ist vergleichbar mit einer nationalen Passbehörde
    31. 31. Vertrauenswürdige CAs in Browsern 38  Keine zentrale Datenbank  Internet Explorer / M$ CTL  Mozilla Firefox  iOS / Android  Insgesamt über 650 CAs inklusive Sub-CAs Quelle: https://www.eff.org/observatory
    32. 32. Beispiel: Aufbrechen der Verschlüsselung 39 TLS-Verbindung 1 TLS-Verbindung 2 WebserverAngreiferBrowser Echtes ZertifikatGefälschtes Zertifikat
    33. 33. Beispiel: Aufbrechen der Verschlüsselung 40  Gefälschtes Zertifikat ist nicht gültig  Ist das ein Problem?
    34. 34. You Won’t Be Needing These Any More 41  Untersuchung von ca. 48 Mio. HTTPS-Seiten ergab: – Über 140 CA-Zertifikate in den unterschiedlichen Truststores werden nicht verwendet (Geheimdienste lassen grüßen) – Von insgesamt 426 CA-Zertifikaten werden nur 2/3 benutzt  Welche CAs werden für .de-Domains gebraucht?  http://fc14.ifca.ai/papers/fc14_submission_100.pdf
    35. 35. DigiNotar Hack 42  Analyse-Bericht Fox-IT: http://www.rijksoverheid.nl/bestanden/documenten-en- publicaties/rapporten/2012/08/13/black-tulip-update/black-tulip-update.pdf Quelle: Heise
    36. 36. Türktrust-Versagen 43 Quelle: Heise
    37. 37. Malware/Adware und CAs 44 Quelle: Heise
    38. 38. Exkurs Zertifikate 45 Quelle: https://www.certcenter.de/ssl-guide Domain Validation - Verschlüsselung - Validierung der Domain-Kontrolle - Vorhängeschloss im Browser - Ausstellung in wenigen Minuten Organization Validation - Authentifizierung des Unternehmens - Nachweis des Rechts zur Domainnutzung - Unternehmensinfo im Zertifikat - Ausstellung in 1-2 Tagen Extended Validation - Strikte Industriestandard- Authentifizierung für Unternehmen - Für Unternehmen vorteilhafte grüne Adressleiste im Browser - Ausstellung in 7-10 Tagen
    39. 39. Exkurs Zertifikate 46 DV- oder OV-Zertifikate EV-Zertifikate
    40. 40. Und 2015 … 47
    41. 41. 48
    42. 42. <undisclosed CA> 49
    43. 43. <undisclosed CA> 50
    44. 44. <undisclosed CA> 51
    45. 45. <undisclosed CA> 52
    46. 46. Beispiel: Man-in-the-Middle-Angriff Browser Angreifer mit gültigem Server- Zertifikat Webserver Führt DNS-Spoofing durch, kann dadurch Datenverkehr mitlesen sowie verändern 53
    47. 47. Das Revocation-Problem
    48. 48. Lebenszyklus von Zertifikaten 55  Zertifikatsantrag: Ein Benutzer beantragt ein Zertifikat.  Antragsprüfung: Die Registration Authority (RA) prüft die Identität des Benutzers/Antragstellers.  Generierung/Ausstellung der Zertifikate: Die Certificate Authority (CA) stellt das Zertifikat aus. Dieses Zertifikat enthält Angaben zu Inhaber, Herausgeber, erlaubter Nutzung und Lebensdauer (gültig von und gültig bis)  Revokation/Ungültigkeit: Das Zertifikat wird vor dem Verfall revoziert bzw. für ungültig erklärt.  Zertifikats-Laufzeitende: Die Lebensdauer des Zertifikats ist abgelaufen.  Zertifikats-Renewal: Erneuerung des Zertifikats.
    49. 49. Widerrufen von Zertifikaten 56  Welche Möglichkeiten gibt es, um ein Zertifikat zu widerrufen? Quelle: Cartoonstock.com Quelle: stern.de
    50. 50. CRL-Listen 57  Jede CA hat die Möglichkeit, Sperrlisten (Certificate-Revocation-Listen) zu publizieren
    51. 51. CRL-Listen 58
    52. 52. CRL-Listen 59 Quelle: https://isc.sans.edu/crls.html Zitat: https://blog.cloudflare.com/the-hard-costs-of-heartbleed/
    53. 53. CRL-Listen 60  Werden vom Webbrowser in regelmäßigen Abständen abgerufen  Blacklist-Ansatz  Soft-Fail bei allen Browsern – Wenn keine CRL bezogen werden konnte, gelten alle Zertifikate als gültig – Angreifer auf der Netzwerkebene kann Empfang einer aktuellen CRL einfach unterbinden
    54. 54. OCSP 61  Online Certificate Status Protocol  Netzwerkprotokoll auf Basis von HTTP  Clients (Webbrowser) können dadurch den Status von Zertifikaten bei der CA erfragen  OCSP-Antworten sind digital von der CA signiert Web Browser Web Server OCSP Server Fetch One OCSP Status Fetch Certificate
    55. 55. OCSP 62  Vor dem Aufruf einer HTTPS-Webseite wird eine Anfrage vom Browser an den OCSP-Responder der CA gestellt OCSP- Anfrage Status good Browser ruft Seite auf OCSP- Anfrage Status revoked Browser verweigert Aufruf
    56. 56. OCSP 63  Was passiert, wenn der OCSP-Responder nicht antwortet? OCSP- Anfrage ??? Browser ruft Seite auf Browser ruft Seite auf Quelle: https://sirdoomsbadcompany.wordpress.com
    57. 57. OCSP 64  OCSP bietet im Gegensatz zu CRLs folgende Vorteile: – Sekundengenaue Datenbasis – CA kann Zertifikat als bad markieren, wenn verwendete Schlüssel- Algorithmen/-Längen oder Signaturverfahren als nicht mehr sicher gelten  Außer Firefox bietet kein Browser den Hard-Fail an – OCSP-Responder werden als Flaschenhals des WWWs angesehen – Gefährdung der Privatsphären
    58. 58. Revocation-Wirrwarr 65  Behandlung von widerrufenen Zertifikaten obliegt den Browsern  Reicht vom Nichtbeachten des Widerruf-Status bis hin zum Verweigern des Verbindungsaufbaus  Umfassende Analyse von IE, Firefox, Chrome unter Windows sowie unter iOS/Android (https://www.grc.com/revocation)
    59. 59. Revocation, wenn es klappt … 66
    60. 60. OCSP Hard-Fail 67
    61. 61. Fehlkonfigurationen erkennen und fixen
    62. 62. Fehlkonfiguration erkennen 69  Veraltete/unsichere Protokollversionen  Unsichere Cipher Suites  Veraltete SSL/TLS-Implementierungen  Abgelaufene Zertifikate  Unvollständige Zertifikatskette  Unsichere Zertifikatssignatur  Fehlerhafter CommonName
    63. 63. Fehlermeldung durch falschen Hostnamen 70
    64. 64. Fehlermeldung durch falschen Hostnamen 71
    65. 65. Fehlermeldung durch falschen Hostnamen 72
    66. 66. Fehleranalyse offline 73  testssl.sh (https://testssl.sh/)  SSLyze (https://github.com/nabla-c0d3/sslyze)  SSLMap (https://github.com/iphelix/sslmap)  OWASP O-Saft (https://www.owasp.org/index.php/O- Saft)  TestSSLServer (http://www.bolet.org/TestSSLServer/)  nmap, Nessus, OpenVAS, …
    67. 67. testssl.sh 74
    68. 68. testssl.sh 75
    69. 69. Fehleranalyse online 76
    70. 70. 77
    71. 71. 78
    72. 72. 79
    73. 73. 80
    74. 74. Hilfe bei der Serverkonfiguration 81
    75. 75. Hilfe bei der Serverkonfiguration 82
    76. 76. Welche Algorithmen sind zu wählen? 83 https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/T echnischeRichtlinien/TR02102/BSI-TR-02102-2_pdf
    77. 77. Wichtige Server-Header  HSTS (HTTP Strict Transport Security) – Signalisiert dem Browser, dass alle zukünftigen Anfragen ausschließlich über HTTPS erfolgen dürfen – Verhindert anschließende SSL-Stripping-Attacken  HPKP (HTTP Public Key Pinning) – Pinning des Zertifikats der CA und/oder Domain (CN) – https://github.com/hannob/hpkp 84
    78. 78. Ausblick
    79. 79. OCSP Stapling 86  OCSP-Anfragen werden vom Browser an den Server verlagert  Webserver liefert zusammen mit dem Zertifikat eine aktuelle und von der CA signierte OCSP-Antwort aus Web Browser Web Server OCSP Server Fetch One OCSP Status Fetch Certificate & OCSP
    80. 80. OCSP Stapling 87  Vorteile: – Auslastung der OCSP-Responder hält sich in Grenzen – Keine Verletzung der Privatsphäre – Keine Verzögerung beim Browsen  Unterstützung der Webserver: – Apache ab Version 2.3.3 – nginx ab Version 1.3.7 – LiteSpeed ab Version 4.2.4 http://news.netcraft.com/archives/2013/07/19/microsoft -achieves-world-domination-in-ocsp-stapling.html
    81. 81. OCSP must-staple 88  OCSP Stapling hat folgendes Problem: – Wird ein Serverzertifikat gestohlen (privater Schlüssel), so kann der Angreifer dieses für gezielte Man-in-the-Middle-Angriffe nutzen, indem er einfach bei seinem Server das OCSP Stapling deaktiviert und dem Opfer den Revocation-Status der CA verschweigt.  X.509v3 Extension: OCSP Stapling Required  http://tools.ietf.org/html/draft-hallambaker- muststaple-00
    82. 82. 2015 … 2016 … 2017 89
    83. 83. 90

    ×