Steffen Ullrich GeNUA mbh HTTPS. The Days After



Ähnliche Dokumente
Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

CCC Bremen. R.M.Albrecht

Ist das so mit HTTPS wirklich eine gute Lösung?

Guide DynDNS und Portforwarding

Verteilte Systeme Unsicherheit in Verteilten Systemen

Verteilte Systeme. Übung 10. Jens Müller-Iden

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Public-Key-Infrastrukturen

Programmiertechnik II

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Informatik für Ökonomen II HS 09

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Nachrichten- Verschlüsselung Mit S/MIME

Was meinen die Leute eigentlich mit: Grexit?

CCC Bremen R.M.Albrecht

Welchen Weg nimmt Ihr Vermögen. Unsere Leistung zu Ihrer Privaten Vermögensplanung. Wir machen aus Zahlen Werte

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Installationsanleitung für die h_da Zertifikate

Bürgernetze Main-Spessart

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Das Leitbild vom Verein WIR

Installationsanleitung SSL Zertifikat

Alle gehören dazu. Vorwort

Fragen und Antworten. Kabel Internet

-Verschlüsselung mit S/MIME

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

SSL-Zertifikate. ausgestellt bzw. bezogen von den Informatikdiensten. Dieter Hennig. 25. November ETH Zürich. SSL-Zertifikate.

Professionelle Seminare im Bereich MS-Office

STRATO Mail Einrichtung Mozilla Thunderbird

Freie Zertifikate für Schulen und Hochschulen

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

Java Script für die Nutzung unseres Online-Bestellsystems

Helmut Kleinschmidt. Pflicht ab

Sichere für Rechtsanwälte & Notare

Primzahlen und RSA-Verschlüsselung

Wie räume ich mein Profil unter Windows 7 auf?

Leichte-Sprache-Bilder

vorab noch ein paar allgemeine informationen zur d verschlüsselung:

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Netzwerk Management Potentielle Systemausfälle bereiten Ihnen Sorgen?

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Zertifikatssperrliste(n) in Active Directory veröffentlichen

Anleitung. Schritt für Schritt: iphone und ipad. Richten Sie Ihr -Konto mit Ihrem iphone oder ipad Schritt für Schritt ein.

Man liest sich: POP3/IMAP

Collax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper

Allgemeine Erläuterungen zu

ANYWHERE Zugriff von externen Arbeitsplätzen

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

COMPUTER MULTIMEDIA SERVICE

Zeitstempel für digitale Dokumente. Ein neuer Dienst in der DFN-PKI

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Windows 10 > Fragen über Fragen

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Das Persönliche Budget in verständlicher Sprache

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

SFTP SCP - Synology Wiki

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Microsoft Update Windows Update

Die Post hat eine Umfrage gemacht

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Reporting Services und SharePoint 2010 Teil 1

FTP-Leitfaden RZ. Benutzerleitfaden

Betriebssysteme und Sicherheit Sicherheit. Signaturen, Zertifikate, Sichere

Das Experiment mit der Digitalen Signatur

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

-Verschlüsselung mit Geschäftspartnern

Handbuch ZfEditor Stand

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Neues aus der DFN-PKI. Jürgen Brauckmann

Serviceanweisung Austausch Globalsign Ausstellerzertifikate

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Kontakt: Bundesdruckerei GmbH Oranienstraße 91, D Berlin Tel +49 (0) Fax +49 (0)

Einrichtung eines -Zugangs mit Mozilla Thunderbird

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

OP-LOG

Die Invaliden-Versicherung ändert sich

Zimmertypen. Zimmertypen anlegen

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Erste Vorlesung Kryptographie

plus Flickerfeld bewegt sich nicht

Mail encryption Gateway

WINDOWS 10 Upgrade. Beispiel: Desktop-Ausschnitt von vorhandenem WIN 8.1 (rechte Ecke der Taskleiste)

Sicherheitszertifikate der DKB AG und ihrer Partner

Erste Schritte mit TeamSpeak 3

Online Newsletter III

5. Testen ob TLS 1.0 auf Ihrem System im Internet-Explorer fehlerfrei funktioniert

Horstbox VoIP. Stefan Dahler. 1. HorstBox Konfiguration. 1.1 Einleitung

Anwendungsbeispiele Sign Live! Secure Mail Gateway

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

INFOBLATT FÜR DAS NEU AUFSETZEN IHRES COMPUTERS

Anleitung: Einrichtung der Fritz!Box 7272 mit VoIP Telefonanschluss

Transkript:

Steffen Ullrich GeNUA mbh HTTPS The Days After

about:me Steffen Ullrich seit 15 Jahren Perl seit 10 Jahren bei GeNUA mbh Arbeit an Hochsicherheitsfirewalls mit Perl seit 2006 Maintainer von IO::Socket::SSL Autor von Mail::SPF::Iterator, Net::SSLGlue, Net::SIP, Net::INET6Glue, Net::PcapWriter...

Überblick über Vortrag was ist HTTPS existierende Implementationen was ist HTTPS nicht aktuelle Probleme und mögliche Lösungen

Was ist HTTPS

HTTPS - Grundidee Alice will bei Bob einkaufen sicherstellen, das Bob wirklich Bob ist Bob zeigt Alice Ausweis Alice checkt, ob der Ausweis für Bob ist Alice checkt, ob der Ausweis aktuell ist Alice vertraut Herausgeber von Ausweis CArl Alice checkt, ob CArl den Ausweis entwertet hat Verbindung verschlüsseln, damit keiner Kontendaten abhört

HTTPS - Theorie Bestandteile von HTTPS HTTP Secure - TLS (ehemals SSL) Identifizierung Verschlüsselung

HTTPS - Theorie cryptografische Grundlagen TLS Public-Key Cryptographie: RSA... symetrische Verschlüsselung: DES, RC4, AES... Hash: MD2, MD5, SHA-1... Signierung: DSA... Mathematik stabil, sicher nur für bestimmte Zeit

HTTPS - Theorie administrative Grundlagen TLS: PKI Eigentümer Herausgeber: Certificate Agency (CA) Gültigkeitsbeschränkungen Revocation Zertifikat: X.509 Namen: Subject, CN, subjectaltname... Gültigkeitszeitraum Basic Constraints, Key Usage CRL, OCSP signiert von CA

PKI - Theorie CArl builtin Bob.com Booble.com Bobay.com van CArl CRL OCSP CRL OCSP CRL OCSP CRL OCSP Bob.com Bob.org CRL OCSP Booble.org Bob.com CRL OCSP

HTTPS - Theorie administrative Grundlagen HTTPS Namensprüfung in CA und Client nötig in Theorie Hostnamen lt. DNS RFC2818: CN, subjectaltname, Wildcards und Praxis nationale Gepflogenheiten (*.co.uk, *.de..) IDN Homographs, Typosquatter...

HTTPS - Theorie Alice will via Browser beim Server von Bob einkaufen: https://www.bob.com Server zeigt Browser Zertifikat Check, ob Zertifikat für Server ist - Namensüberprüfung Checkt, ob Zertifikat aktuell ist - Gültigkeitszeitraum Browser vertraut CA von Zertifikat, da builtin Browser checkt, ob CA den Ausweis entwertet hat - Revocation Verbindung verschlüsseln

Implementierungen

TLS/HTTPS - Implementierungen OpenSSL (nur TLS, nicht HTTPS) Mozilla NSS Microsoft SSPI Chrome, Opera, Safari, Adobe, JSSE... GnuTLS diverse Implementationen für embedded Systeme u.v.m

HTTPS - Browser viele Zertifikate für Root-CA fest im Browser bzw. zentral im OS eingebaut CRLs werden nur wenn explizit gewünscht benutzt OCSP Anfragen üblich, aber fail soft (außer bei EV-Zertifikaten)

HTTPS - Perl Net::SSLeay (OpenSSL), IO::Socket::SSL TLS + u.a. RFC2818 CRL Check gegen lokale Files, kein Holen basierend auf CRLDistributionPoints kein OCSP LWP>6.0 nutzt IO::Socket::SSL mit Mozilla::CA für strikte Überprüfungen per Default div. Schnittstellen zu anderen TLS Implementierungen (NSS...), aber eher unbedeutend

HTTPS - Python httplib2 OpenSSL Namensprüfung RFC2818 ähnlich (prüft CN auch wenn subjectaltname) CRL/OCSP genauso schlecht wie in Perl eigener CA-Store mit ausgewählten Root-CA twisted benutzt pyopenssl (OpenSSL) keine Namensprüfung? CRL/OCSP auch schlecht..

HTTPS - Ruby net::http OpenSSL RFC2818 konforme Namensprüfung CRL/OCSP so schlecht wie bei den anderen auf irgendwo vorhandene CAs angewiesen

HTTPS - Mono(C#) kein OpenSSL, eigene Implementation Namensprüfung RFC2818 konform eigener leerer CA-Store (kann Mozillas Zertifikate importieren) weder CRL noch OCSP Unterstützung? man mono: not implemented yet

HTTPS - Java zuviele Java-Implementationen JSSE eigene TLS-Implementation javax.net.ssl HttpsURLConnection: lt. Dokumentation RFC2818 konform OCSP/CRL wohl irgendwie mit Security.setProperty möglich (Dokumentation hübsch aber unbrauchbar)

Was ist HTTPS nicht

Was ist HTTPS nicht stellt nicht sicher, dass Bob die empfangenen Daten sicher verwahrt Bob keine bösen Absichten hegt Alice Rechner nicht kompromittiert wurde CArl keinen Ausweis für den falschen Bob ausstellt d.h. nimmt an, dass die Guten 100% gut und perfekt sind und die Bösen nur wenig Mittel haben

Der GAU

Am Anfang gab es nur CArl CArl Bob.com Booble.com Bobay.com

CArl hatte das Monopol volle Kontrolle wer ein Zertifikat bekommt welche Zertifikate im Umlauf freie Preisgestaltung intransparent wenn man die Sicherheit auf das Notwendigste beschränkt ist der Profit höher merkt ja keiner

Dann kamen noch CAroline, CAssandra, CAputt,... CArl CAroline Bob.com Booble.com Bobay.com Nob.com Nooble.com Nobay.com CAputt CAssandra Hop.com Hoppel.com Horay.com Not.com Noodle.com Noway.com

Lemon Market ein Wettbewerb zwischen den CAs entstand die Preise gingen runter Sicherheit aus Kostengründen minimiert und damit auch der Aufwand um Bob von Mallory zu unterscheiden fehlende Transparenz kaschiert Probleme nicht klar, welche Zertifikate ausgestellt sind nicht klar, welche zurückgezogen (nur SN)

Willkommen in der Realität die Guten waren leider nur 99% gut und es gab viel zu viele davon die Angriffsfläche war gross genug und man konnte sich das einfachste Ziel vornehmen

p0wned! 03/2011 Comodo 07/2011 DigiNotar live.com, google.com, yahoo.com, skype.com, addons.mozilla.com... - aktiv in Iran verwendet CArl CAroline Bob.com Booble.com Bobay.com Nob.com Nooble.com Nobay.com Bob.com Nob.com CAputt CAssandra Hop.com Hoppel.com Horay.com Not.com Noodle.com Noway.com

Schadensbegrenzung in der Theorie einfach CRL erstellen in der Praxis Updates an vielen Stellen: kompletter Browser: Firefox, Chrome, Safari, MSIE, Opera,??? Betriebssystem Java, Acrobat Reader, Mozilla::CA manuelles Löschen aus Monos CA-Store Upgrade SSL-aware Firewalls bestimmt noch was vergessen...

Überraschung?

proaktive vs. reaktive Sicherheit proaktive Sicherheit ist teuer aber man sieht nichts für sein Geld (Y2K) (und mal ehrlich, wer versteht das schon alles?) Risiko muss fühlbar sein, damit man reagiert starke Sicherheit politisch umstritten eigene Wirtschaft soll geschützt werden aber fremde ausspioniert kriminelle Aktivitäten müssen verfolgbar sein für die jeweilige Definition von kriminell

Risiko fühlbar machen... (unvollständig) 2002: MSIE nutzt jedes Zertifikat ohne Basic Constraints CA als Zwischenzertifikat, Verisign liefert die Zertifikate dazu, 2011: Bug taucht in ios wieder auf 2008: Zertifikat mit MD5 Kollisionen (Problem seit 90er Jahre bekannt) CAs verlassen das sinkende MD5 Schiff CVE-2008-2809: Spoofing via user-trusted subjectaltname (seit 2004 bekannt) 2008: Thawte erstellt Zertifikat für internen Server www.live.com, Comodo für mozilla.com

Risiko fühlbar machen... (unvollständig) 2009: null-prefix *\00doxpara.com, sslsniff 2009: OCSP Attacken soft fail 2009: sslstrip Reaktion HSTS 2009: Renegotiation Attacke 2010: EFF SSL Observatory zeigt Chaos der CA 03/2011: Comodo Hack Reaktion Certificate-Pinning in Chrome 07/2011: DigiNotar Hack hatten selber keine Ahnung, was erstellt wurde 2011: BEAST (Problem seit 2006 oder sogar 2002 bekannt)

The Days After

Fixit! Was waren die Probleme nochmal? jeder darf alles auch andere mit allen Rechten ausstatten schwächstes Glied bestimmt Stärke unzureichender Revokationsmechanismus fehlende Transparenz keine effektive Bestrafung möglich, wenn groß genug (lock in) reaktive statt proaktive Sicherheit

Fixit! - Jeder darf alles Einschränkung, welche CA welche (Toplevel)Domains zertifizieren darf analog zu DNS (evtl. sogar gleiche Betreiber) verständlicher, wem man vertraut Unterstützung in HTTPS-Implementationen erforderlich (evtl. Zusatzinfo in Root-Zertifikaten) führt evtl. zu neuer Monopolstellung erhöht Preis, nicht zwingend Sicherheit evtl. durch regelmäßige Neuausschreibungen verhinderbar

Fixit! - Jeder darf alles Verteilung Zertifikate per DNSSec theoretisch man kann nur Zertifikate für eigene Domains verteilen DNS Betreiber bisher nicht für Sicherheit berühmt Länder-Root-Keys in staatlicher Hand CA optional Support für DNSSec in OS und Routern muss verbessert werden Unterstützung in HTTPS-Implementationen nötig

Fixit! - Jeder darf alles CA darf nur eingeschränkte Rechte weitergeben Sub-CA darf nicht die gleichen oder mehr Rechte als CA haben, d.h. darf nur konfigurierte Subdomains signieren muss in HTTPS Implementationen forciert werden

Fixit! - schwächstes Glied bestimmt Stärke mehrere CAs signieren Zertifikat Güte abhängig davon, wer und wie viele signiert haben reicht wenn von ausreichend beteiligten CA revoked

Fixit! - schwächstes Glied bestimmt Stärke unabhängige Notare CA optional Perspectives/Convergence schon geringe Durchdringung erhöht Hackschwelle einige glaubwürdige Notare reichen initial certs.googlednstest.com kein DNSSec, Antwort fälschbar

Fixit! - schwächstes Glied bestimmt Stärke hartcodiertes Pinning Domain an CA in Chrome als Antwort auf Comodo Hack eingeführt hat DigiNotar Hack entdeckt automatisches Pinning Zertifikat bei erster Nutzung wenn geändert, dann meckern FF Erweiterterung Certificate Patrol

Fixit! - Revocation aktuelle Situation: riesige CRLs mangelhafter OCSP Support CRL/OCSP URL steht in Zertifikat selber Revocation für Seriennummer, intransparent keine Positivauskunft, dass Zertifikat bekannt, nur Negativauskunft, dass nicht revoked OCSP überall implementieren, Möglichkeit für Positivauskunft bei CA bereitstellen

Fixit! - fehlende Transparenz CAs müssen alle Zertifikate veröffentlichen suchbar per Name suchbar per SN um CRL zuordnen zu können Prozess muß garantieren, das keine Zertifikate heimlich bleiben können

Fixit! - nur die Kleinen werden bestraft wenn Zertifikat nicht mehr fix an eine CA gebunden, können auch die Großen bestraft werden mangelnde Sicherheit wird Wettbewerbsnachteil

Fixit! - nur die Kleinen werden bestraft Möglichkeit einführen, CA-Signaturen nachträglich zu befristen, d.h. nur Zertifikate signiert vor.. werden akzeptiert ausgestellte Zertifikate vor GAU bleiben erhalten, aber für neue muß auch große CA erstmal Hausaufgaben machen CA könnte versuchen zu tricksen (wird aber bemerkt, sofern mehr als Einzelfälle)

Fixit! - reaktive vs. proaktive Sicherheit brauchen mehr Leute wie Moxie Marlinspike regelmäßige, unabhängige Audits der CAs keine Soft-Fails (OCSP..) koordiniertes Vorgehen Browserhersteller, da ohne Browsersupport CA fast wertlos vorgeschlagene Ansätze miteinander kombinieren erhöht Robustheit und senkt Angriffsfläche

was davon nach Perl wäre wirklich Zeit endlich mal OCSP einzubauen dummerweise OpenSSL Doku nicht vorhanden oder schrecklich Verifikation gegen certs.googlednstest.com sollte einfach machbar sein Implementation Convergence Concept Protokoll wohl nur implementiert, nicht dokumentiert

neue Probleme am Horizont. TLS überall gewünscht mehr Power nötig: Load Balancing, CDN,... viele viele Server weltweit verteilt mit gleichem Zertifikat wie halte ich den private Key sicher wie stelle ich fest, wenn der Key kompromittiert ist und wie gelangt die Info zum Anwender

In eigener Sache wir suchen Perl-, OpenBSD-,.. Entwickler und Interessierte an Forschung.

Fragen??