Das SSL-Dilemma

Das SSL-Dilemma

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    73 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us