1.5.7 Angriffe auf HTTPS

Bei der Übertragung von Webseiten wird HTTPHyperText Transfer Protocol oftmals mit SSLSecure Sockets Layer/TLSTransport Layer Security kombiniert, um die Verbindung abzusichern. Allerdings bestehen hierbei für Angreifer Manipulationsmöglichkeiten, die nur für einen aufmerksamen Benutzer zu entdecken sind.

Bei einem Szenario (siehe Präsentationen von Black Hat Security Konferenz 2009), das sich z.B. in einem Internet-Cafe ereignen könnte, hat ein Angreifer als Man-in-the-Middle (siehe Kommunikationsszenarien) die Möglichkeit, die Kommunikationsinhalte zu manipulieren. Der Nutzer ruft eine Webseite mit normalem HTTP ab, die dann Links auf einen nur per HTTPSHyperText Transfer Protocol Secure zugänglichen Bereich enthält, der ein Login über ein Formular erfordert. Der Angreifer manipuliert diesen Link und ändert das HTTPS zu HTTP. Der Nutzer schickt dann das ausgefüllte Formular zum Angreifer, der nun mit diesen Daten eine HTTPS-Verbindung zum Webserver aufbaut. Der MitM kann somit in der Folge die eigentlich verschlüsselte Kommunikation mitlesen und auch manipulieren. Für den Benutzer ist die Manipulation nur dadurch erkennbar, dass im Browser nicht https, sondern nur http steht und auch das Schlosssymbol fehlt. Der Angreifer könnte ggf. sogar das FavIcon ändern, so dass hier ein Schloss dargestellt würde. Im Falle von Banken mit Extended Validation Certificates fällt die Manipulation jedoch mehr auf, da hier normalerweise dieses spezielle Zertifikat von den Browser deutlicher hervorgehoben wird.

Gegen diese Art von Angriffen kann auf der Server-Seite ein Schutz realisiert werden, wenn dort festgelegt wird, dass die Seite immer per HTTPS erreicht werden soll. Dieses kann mit HSTSHTTP Strict Transport Security Headern erreicht werden, was aber nur dann funktioniert, falls die Webseite beim ersten Aufruf nicht manipuliert ist und die Einstellung dann im Webbrowser gespeichert bleibt (siehe Seite 50 in iX14).

Mit einer speziellen Webseite können sich Domains registrieren, die nur per HTTPS erreichbar sein sollen. Diese Liste gilt für Chrome, Firefox und Safari.

Weitere Schwachpunkte bei HTTPS haben mit einer unzureichenden Validierung von Zertifikation zu tun (siehe weitere Präsentation).

Außerdem kann es Programmierfehler in Browsern geben, durch die gefälschte Zertifikate nicht erkannt werden (siehe Intel Security-Bericht über eine unzureichende Zertifikatvalidierung im Firefox Browser).