
Mit zunehmender Verwendung von HTTPS steigt der Wunsch von Unbefugten, geschützten Verkehr zu infiltrieren. Eine Studie von
The Security Impact of HTTPS Interception aus dem Jahr 2017 ergab, dass dies eine zunehmend verbreitete Praxis ist. Die Analyse des Datenverkehrs auf Firefox-Update-Servern ergab, dass in einigen Ländern der Prozentsatz der Einführung von Agenten von Drittanbietern in HTTPS 15% erreicht.
Seit der Studie ist es unwahrscheinlich, dass sich die Situation verbessert hat. Selbst für das neueste drahtlose Sennheiser-Kopfhörermodell
muss jetzt
ein Stammzertifikat (mit unsicheren Parametern)
im System installiert werden .
Meistens gefährdet Antivirus oder Corporate Middlebox den Schutz (siehe Liste unten), aber es kann schlimmer sein. In jedem Fall ist es am besten, sicher zu wissen, wann Ihr HTTPS-Kanal tatsächlich nicht durchgängig sicher ist. Selbst wenn ein System eines Drittanbieters gut gemeinten Datenverkehr abfängt, unterstützt es häufig keine modernen Chiffren oder validiert keine Zertifikate, wodurch der allgemeine Schutz der Verbindung verringert wird. Sie können SSL-Verkehr jedoch nicht nur zu guten, sondern auch zu böswilligen Zwecken abfangen: zum Beispiel zur Zensur auf staatlicher Ebene.
HTTPS-Überwachungsprogramme fungieren als transparente Proxys, die eine TLS-Sitzung abbrechen, Inhalte überprüfen und dann eine neue Sitzung mit dem Zielserver einrichten. Sie verwenden andere Versionen von TLS-Bibliotheken als gängige Browser, sodass sie auf der Serverseite durch die Nichtübereinstimmung zwischen dem HTTP-Benutzeragenten und dem TLS-Client Hello des realen Browsers und Proxys erkannt werden können.
Hier einige praktische Erkenntnisse aus einer Studie aus dem Jahr 2017, an der Mozilla, Google, GlobalSign sowie akademische Forscher der University of Michigan, der University of Illinois in Urban-Champaign und der University of California in Berkeley teilnahmen.
Der praktische Schaden durch das Abfangen von HTTPS ist die Verschlechterung der Verschlüsselung und zusätzliche transparente Proxy-Schwachstellen. Die Autoren der Studie bewerteten eine Reihe beliebter Middleboxen anhand dieser Parameter. Wie Sie sehen, unterstützte 2017 fast die Hälfte von ihnen keine modernen Cipher Suites, und fünf registrierten schwerwiegende Sicherheitslücken. Nur 1 von 12 konnte alle benutzerdefinierten Chiffresuiten vollständig spiegeln.

Antivirenaktivitäten auf den Computern der Benutzer werden normalerweise auch auf der Serverseite erkannt. Die Studie zeigte, dass nur zwei Antivirenprogramme die Benutzerchiffren vollständig widerspiegeln, in anderen Fällen verschlechtert sich die Verschlüsselung.

Antivirenprogramme schützen vor einigen Bedrohungen und reduzieren die Verschlüsselung und fügen ihre eigenen Schwachstellen hinzu. Im Allgemeinen wird durch die Installation eines Antivirenprogramms eines Drittanbieters die Gesamtsicherheit des Systems häufig erheblich beeinträchtigt. Einige Experten empfehlen Benutzern,
Antivirenprogramme von Drittanbietern immer aus dem System zu
entfernen , da ihr invasiver und schlecht geschriebener Code es Browsern und anderen Programmen erschwert, ihre eigene Sicherheit bereitzustellen.
Auf dem Weg zwischen Client und Server können auch andere transparente Proxys funktionieren. Um diese Agenten besser erkennen zu können, hat Cloudflare kürzlich zwei neue Tools veröffentlicht:
- MITMEngine , eine kostenlose Bibliothek zum Erkennen des Abfangens von HTTPS.
- MALCOLM , ein Dashboard zum Anzeigen von Metriken zum Abfangen von HTTPS im Cloudflare-Netzwerk.
Das Hauptinteresse gilt der MITMEngine-Bibliothek. Die Entwickler
schreiben, dass sie das beliebte
Caddy Server MITM-Erkennungstool als Beispiel genommen haben. Es unterstützt eine Reihe gängiger Browser und erkennt das Abfangen von HTTPS anhand der spezifischen Fingerabdrücke von TLS-Client-Hello- und User-Agent-Nachrichten, wie oben beschrieben.
Die Entwickler versuchten, Erweiterbarkeit zu bieten, indem sie das zukünftige Hinzufügen neuer Browserversionen zum Detektor vereinfachten, die Leistung verbesserten und die Funktionalität des Detektors im Vergleich zur Caddy Server MITM-Erkennung erweiterten. Es analysiert die folgenden TLS Client Hello-Parameter und vergleicht reale Daten mit Fingerabdrücken bekannter Browser:
- TLS-Version
- Chiffresuiten;
- Erweiterungen und ihre Bedeutung;
- unterstützte Gruppen von elliptischen Kurven;
- Formate von Punkten einer elliptischen Kurve.
Tatsächlich führt MITMEngine einen teilweisen Fingerabdruck des Benutzers durch, ohne ihn zu dekanonymisieren, jedoch mit der zuverlässigen Feststellung, dass die Verbindung von einem echten Browser und nicht von einem Vermittler hergestellt wird.
Arbeitsbeispiel
Angenommen, MITMEngine sieht den folgenden Benutzeragenten von einem Benutzer:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/47.0.2526.111 Safari/537.36
Dieser Benutzeragent entspricht Chrome 47 unter Windows 7. Er wird von einer TLS-Client-Hello-Nachricht begleitet, die die folgenden Verschlüsselungssuiten in hexadezimaler Form angibt:
0000 c0 2b c0 2f 00 9e c0 0a c0 14 00 39 c0 09 c0 13 .+./.... ...9....
0010 00 33 00 9c 00 35 00 2f 00 0a .3...5./ ..
Diese Nachricht entspricht den folgenden Cipher Suites:
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
Die Standard-Chiffresuiten für Chrome 47 lauten wie folgt:
0000 c0 2b c0 2f 00 9e cc 14 cc 13 c0 0a c0 14 00 39 .+./.... .......9
0010 c0 09 c0 13 00 33 00 9c 00 35 00 2f 00 0a .....3.. .5./..
Wenn Sie genau hinschauen, können Sie sehen: Im realen Verkehr ist die Liste der Chiffren etwas kürzer als in einem echten Browser. Obwohl der Rest in derselben Reihenfolge angeordnet ist, fehlen zwei Sätze:
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcc14)
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcc13)
Es kann davon ausgegangen werden, dass der Datenverkehr vom Browser des Benutzers über einen transparenten Proxy geleitet wird, der ChaCha-Chiffren nicht unterstützt. Dies verringert den Benutzerschutz, da die AES-CBC-Verschlüsselungssuiten neben ChaCha
anfällig für Padding-Orakelangriffe sind.
In einigen Fällen können Sie mit MITMEngine sogar bestimmen, welches bestimmte Programm die Verschlechterung der HTTPS-Verbindung verursacht (im obigen Beispiel handelt es sich um Sophos Antivirus). Der Server kann den Benutzer über diese Bedrohung informieren.

