Vertrauenswürdigkeit von HTTPS

IT-Sicherheitsforscher der EFF.org kamen bereits 2009 in der wiss. Arbeit Certified Lies - Detecting and Defeating Government Interception Attacks against SSL zu dem Schluss, dass Geheim­dienste schwer erkennbare man-in-the-middle Angriffe mit gültigen SSL-Zertifikaten durch­führen können. Diese Angriffe können routinemäßig ausgeführt werden.
"Certificate-based attacks are a concern all over the world, including in the U.S., since governments everywhere are eagerly adopting spying technology to eavesdrop on the public. Vendors of this technology seem to suggest the attacks can be done routinely."
Anbieter von fertige Appliances für diesen auch als "Lawful SSL Interception" bezeichneten Angriff findet man beim Stöbern in den SpyFiles von Wikileaks.

Auf der Messe für Überwachungstechnik ISS World jährlich im März in Dubai wurden im Track 4: Encrypted Traffic Monitoring and IT Intrusion die neuesten Techniken zu SSL-Interception und TLS-Downgrade ANgriffen präsentiert.

Für staatliche Schnüffler gibt es mehrere Möglichkeiten, um diese Technik mit gültigen SSL-Zertifikate für schwer erkennbare man-in-the-middle Angriffe zu kombinieren:
  1. Für einen großflächiger Angriff gegen iranische Internet Nutzer wurden im August 2011 mehrere CAs gehackt, um gültige SSL-Zertifikate zu erstellen (DigiNotar, Comodo, InstantSSL und zwei Sub-Registrare von Comodo). Bei DigiNotar wurden 531 Zertifikate kompromittiert. Neben den Webseiten von Google, Yahoo, Mozilla, Skype, TorProject.org u.a. waren auch die Webdienste von MI6, CIA und Mossad betroffen.
  2. Certification Authorities könnten unter Druck gesetzt werden, um staatlichen Stellen SubCA-Zertifikate auszustellen, mit denen die Zertifikate für man-in-the-middle Angriffe signiert werden könnten. Ein Kommentar zum TürkTRUST Desaster von Adi Shamir:
    I think you will see more and more events like this, where a CA under pressure from a government will behave in strange ways.
    Im Juni 2014 signierte die staatliche indische Certification Authority (NIC) gefälschte SSL-Zertifikate für Google Dienste und Yahoo!. 45 gefakte Zertifikate wurden nach­gewiesen. Ob es um eine staatliche Überwachung, einen Hackerangriff oder einen Konfigurationsfehler(?) handelt, ist unklar.
  3. Die Anbieter von Webdiensten können zur Herausgabe der eigenen Zertifikate und Keys gezwungen werden, wie am Beispiel des E-Mail Providers Lavabit bekannt wurde. Die betroffenen Provider sind zum Stillschweigen verpflichtet. Der Angreifer kann mit diesen Zertifikate einen Angriff auf die SSL-Verschlüsselung durchführen, der nicht mehr erkennbar ist.
  4. Verisign ist nicht nur die größte Certification Authority. Die Abteilung NetDiscovery von Verisign ist ein Global Player in der Überwachungstechnik und unterstützt die Behörden und westliche Geheimdienste seit 2002 bei SSL Interception.
Kriminelle Subjekte haben ebenfalls nachgewiesen, dass sie für man-in-the-middle Angriffe auf die SSL-Verschlüsselung gültige Zertifikate verwenden können (bspw. beim Angriff auf das Bitcoin Forum). Man kann sich so einfach als Unberechtigter ein gültiges SSL-Zertifikat für einen Server ausstellen zu lassen, wenn man die richtigen Mail-Account kontrolliert. Für die Ausstellung Domain-validierte SSL-Zertifikate werden die E-Mail Adressen ssladministrator@domain.tld, webmaster@domain.tld, postmaster@domain.tld oder ssladmin@domain.tld u.a. akzeptiert. Eine unverschlüsselte E-Mail mit einem Verification Link an eine der E-Mail Adressen ist die einzige Prüfung auf Rechtmäßigkeit durch die CAs.

Die Software für einen man-in-the-middle Angriff mit den gefälschten Zertifikaten gibt es auch als Open Source, z.B. den mitm-proxy oder dsniff.

Verbesserung der Vertrauenswürdigkeit von HTTPS

Es gibt einige Möglichkeiten, die Vertrauenswürdigkeit der HTTPS-Verschlüsselung zu verbessern und Angriffe mit falschen Zertifikaten zu erschweren.
  1. Zertifikate speichern: Beim ersten Besuch der Webseite wird das SSL-Zertifikat gespeichert. Bei späteren Besuchen wird das aktuelle Zertifikat mit dem gespeicherten Zertifikat verglichen. Bei seltsamen Abweichungen wird eine Warnung angezeigt, die der Surfer allerdings bewerten muss. (Add-ons: Certificate Patrol, JonDoFox)

    Dieses Verfahren liefert bei großen Serverfarmen wie Google, Twitter, Facebook usw. viele False Positives (falsche Warnungen), weil keine einheitlichen Zertifikate für alle Server eingesetzt werden. Außerdem muss der Nutzer selbst prüfen, ob ein evtl. Austausch der Zertifikate vom Webmaster vorgenommen wurde.
  2. Vergleich mit Anderen: Beim Besuch einer HTTPS-verschlüsselten Webseite wird das Zertifikat mit den Ergebnissen an anderen Punkten der Welt verglichen. Wenn alle Teilnehmer des Netzes das gleiche Zertifikat sehen, ist es wahrscheinlich Ok. Diese Vergleich kann mit einer zeitlich begrenzten Speicherung kombiniert werden.
    (Firefox Add-ons: HTTPS-Everywhere, Perspectives, Convergence)

    Obwohl die Idee auf den ersten Blick einleuchtend ist, gibt es einige Probleme bei großen Serverfarmen wie Google, Facebook, Amazon, PayPal... Diese Serverfarmen verwenden nicht immer ein einheitliches Zertifikat. Das führt zu Verwirrung bei einem externen Beobachter und zu inkonsistenten Ergebnissen der Notary Server.
  3. Certificate Pinning: Nur der Betreiber einer Webseite kann wirklich wissen, welche Zertifikate gültig sind. Diese Information muss unabhängig vom Webserver verteilt und durch die Browser ausgewertet werden. Das ist ein besserer Weg, als der Vergleich mit externen Beobachtern oder der Speicherung in einer lokalen Datenbank.
    • Google hat die Fingerprints der Zertifikate seiner Webseiten fest im Browser Chrome codiert. Damit wurden die Angriffe auf die SSL-Verschlüsselung im Iran und Indien aufgedeckt. Dieses Verfahren skaliert aber nicht für eine große Anzahl HTTPS-verschlüsselter Webseiten.
    • DANE ist ein Standard, der im Januar 2014 verbschiedet wurde. Die Fingerprints der SSL-Zertifikate werden vom Webmaster im TLSA-Record via DNSSEC verteilt. Inzwischen gibt es einige Webseiten, die DANE anbieten. Um die Zertifikate zu verifizieren benötigt man ein Browser Add-on (z.B. den DNSSEV/TLSA-Validator), da die aktuellen Webbrowser das (noch) nicht selbst können.
Lizenz: Public Domain