
Das SSL-Dilemma Security Forum 2015 – April 2015 Christopher Dreher cirosec GmbH 2 Agenda . Verschlüsselung im WWW . SSL/TLS, was läuft falsch? – Designschwächen – Implementierungsfehler . Vertrauen in Zertifikatsstellen . Das Revocation-Problem . Fehlkonfigurationen erkennen und fixen . Ausblick 3 Verschlüsselung im WWW Von damals bis heute . 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 5 Von damals bis heute . 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) 6 SSL und/oder TLS . 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) 7 SSL und TLS im Web 2015 Quelle: Universal-Pictures 8 SSL und TLS im Web 2015 9 Quelle: https://www.trustworthyinternet.org/ssl-pulse/ SSL und/oder TLS Server beweist seine Identität durch Zertifikat Browser Webserver #*+x!3@f_ TLS TLS Daten werden verschlüsselt übertragen 10 Verbindungsaufbau bei TLS Client-Hello Server-Hello Client-Zufallszahl Server-Zufallszahl Protokollversion TLS 1.1 Protokollversion TLS 1.1 Liste von Algorithmen Algorithmus AES 11 Verbindungsaufbau bei TLS TLS 1.1 TLS 1.1 AES privat öffentlich Client Key Exchange Pre-Master-Secret 12 Verbindungsaufbau bei TLS TLS 1.1 TLS 1.1 AES Pre-Master-Secret Client-Zufallszahl + Server-Zufallszahl privat öffentlich Fixer Startwert Master-Secret Symmetrischer Sitzungsschlüssel 13 Designschwächen in SSL / TLS Designschwächen in SSL / TLS . 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 15 BEAST (CVE-2011-3389) . Browser Exploit Against SSL/TLS . Ausnutzung der Chosen-Plaintext-Attacke gegen den IV von Bard (2006) . Angreifer muss einen passiven Man-in-the-Middle-Angriff durchführen (Sniffing) und innerhalb des Opfer-Browsers eine Vielzahl von Anfragen abschicken können . PoC-Exploit basierte auf einem Java-Applet, das vom Opfer aufgerufen wurde – Java-Applet kam von einer Domain des Angreifers, deswegen zusätzliche Schwachstelle in JVM nötig zur Überwindung der SOP . http://vnhacker.blogspot.de/2011/09/beast.html (Juliano Rizzo und Thai Duong) 16 BEAST (CVE-2011-3389) . Keine bekannte Ausnutzung in the wild . Empfehlung: Update auf TLS 1.1 oder Nutzung von RC4 anstelle von AES Verwundbare SSL/TLS-Versionen TLS 1.2 - TLS 1.1 - TLS 1.0 JA SSL 3.0 JA 17 SSL 2.0 JA CRIME (CVE-2012-4929) . Compression Ratio Info-leak Made Easy . Ausnutzung der Informationspreisgabe durch den Einsatz der SSL-Kompression . Angreifer muss einen passiven Man-in-the-Middle-Angriff durchführen (Sniffing) und innerhalb des Opfer-Browsers eine Vielzahl von Anfragen abschicken können . Angreifer kann Klartextdaten erraten durch Abgleich der Länge der komprimierten Daten (z.B. Cookie-Wert) . https://isecpartners.com/blog/2012/september/details- on-the-crime-attack.aspx (Juliano Rizzo und Thai Duong) 18 CRIME (CVE-2012-4929) . Keine bekannte Ausnutzung in the wild . Empfehlung: Deaktivierung der SSL-Kompression auf Client- und Serverseite Verwundbare SSL/TLS-Versionen TLS 1.2 JA TLS 1.1 JA TLS 1.0 JA SSL 3.0 JA 19 SSL 2.0 JA BREACH (CVE-2013-3587) . Browser Reconnaissance & Exfiltration via Adaptive Compression of Hypertext . Ausnutzung der Informationspreisgabe durch den Einsatz der HTTP-Kompression . Angreifer muss einen passiven Man-in-the-Middle-Angriff durchführen (Sniffing) und innerhalb des Opfer-Browsers eine Vielzahl von Anfragen abschicken können . http://breachattack.com/ 20 BREACH (CVE-2013-3587) . Keine bekannte Ausnutzung in the wild . Empfehlung: – Deaktivierung der HTTP-Kompression (theoretisch) – Schutz gegen automatisierte Anfragen Verwundbare SSL/TLS-Versionen TLS 1.2 JA TLS 1.1 JA TLS 1.0 JA SSL 3.0 JA 21 SSL 2.0 JA RC4-Schwäche . RC4 ist ein Stream Cipher . Algorithmus generiert eine Sequenz von Schlüsseln, die mit den Daten „ge-XOR-ed“ werden . Schlüsselwerte sind nicht ausreichend zufällig verteilt . Praktischer Angriff erfordert sehr hohe Anzahl an Verbindungen . Entdeckt: – 2013 (http://www.isg.rhul.ac.uk/tls/RC4biases.pdf) . Betroffen: – RC4 Ciphers . Gegenmaßnahme: – Verzicht auf RC4 – Schutz gegen automatisierte Anfragen 22 POODLE: SSLv3 vulnerability (CVE-2014-3566) . 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 23 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 24 SSL 2.0 JA POODLE: SSLv3 vulnerability (CVE-2014-3566) 25 Quelle: http://news.netcraft.com/archives/2014/10/15/googles-poodle-affects-oodles.html SSLv3 Downgrade 26 Quelle: http://news.netcraft.com/archives/2014/10/15/googles-poodle-affects-oodles.html FREAK: < TLS 1.1 vulnerability . 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/ 27 FREAK: < TLS 1.1 vulnerability HTTPS serves of Alexa‘s Top 1 Million Domains Quelle: https://freakattack.com/ . 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 28 SSL 2.0 JA Implementierungsfehler in SSL / TLS Implementierungsfehler in SSL / TLS . Fehler erzeugt durch einzelne Entwickler / Teams innerhalb einer Bibliothek . Fehlerhafte Qualitätssicherung des Codes . Typische Softwareschwachstellen – Buffer Overflows – Control Flow Manipulation 30 Heartbleed (CVE-2014-0160) . 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 31 Heartbleed (CVE-2014-0160) 32 Quelle: http://xkcd.com/1354/ Heartbleed (CVE-2014-0160) 33 Quelle: http://xkcd.com/1354/ Heartbleed (CVE-2014-0160) „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 34 OpenSSL CCS Injection Vulnerability (CVE-2014-0224) . 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 35 Vertrauen in Zertifikatsstellen Authentisierung / Identifizierung bei TLS . 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 37 Vertrauenswürdige CAs in Browsern . Keine zentrale Datenbank . Internet Explorer / M$ CTL . Mozilla Firefox . iOS / Android . Insgesamt über 650 CAs inklusive Sub-CAs Quelle: https://www.eff.org/observatory 38 Beispiel: Aufbrechen der Verschlüsselung Browser Angreifer Webserver TLS-Verbindung 1 TLS-Verbindung 2 Gefälschtes Zertifikat Echtes Zertifikat 39 Beispiel: Aufbrechen der Verschlüsselung . Gefälschtes Zertifikat ist nicht gültig . Ist das ein Problem? 40 You Won’t Be Needing These Any More . 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 41 DigiNotar Hack Quelle: Heise . Analyse-Bericht
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages73 Page
-
File Size-