Skip to content

SSL-Angriff mit Folgen

Seit knapp 2 Wochen besitzt irgend jemand "gefälschte" SSL-Zertifikate für einige prominente Domainnamen. Wobei "gefälscht" nicht ganz richtig ist, denn die Zertifikate an sich wurden vom herausgebenden Zertifizierungsdienst völlig korrekt signiert. Nur hätten sie nie signiert werden dürfen, da sie nicht vom tatsächlichen Domain-Inhaber beantragt wurden. Teilweise wurde das als "SSL-GAU" bezeichnet. Das ist aber in doppelter Hinsicht falsch. Zum einen ist es kein Unfall, sondern ein Angriff, und zum anderen wäre es wenn schon, dann eher ein Super-GAU, da die vorgesehenen Schutzmaßnahmen nicht ausreichten. Und die Folgen sind auch noch nicht wirklich abzusehen. Aber immer schön der Reihe nach...

Worum geht es überhaupt?

Die Protokolle Secure Sockets Layer (SSL) und sein Nachfolger Transport Layer Security (TLS), die auch zum Schutz von HTTPS-Verbindungen eingesetzt werden, verwenden X.509-Zertifikate, um die Identität ihrer Kommunikationspartner zu prüfen. Dazu enthalten z.B. die Webbrowser eine vorkonfigurierte Liste vertrauenswürdiger Zertifizierungsdienste (Certificate Authority, CA). Den von diesen CAs ausgestellten Zertifikaten vertrauen die Browser ohne weitere Prüfung, bei allen anderen Zertifikaten muss der Benutzer deren Nutzung erst erlauben. Die Zertifizierungsdienste sind in der Theorie alle vertrauenswürdig, in der Praxis kann man da bei einigen schon anderer Ansicht sein, aber das ist für das aktuelle Problem nicht wirklich von Belang.

Einer dieser Zertifizierungsdienste ist das Unternehmen Comodo, dass dazu gebracht wurde, gefälschte Zertifikate auszustellen. Der Tor-Entwickler Jacob Appelbaum hat am 22. März als erster auf das Problem hingewiesen: Er hat festgestellt, dass zuerst für Chromium und dann für Firefox zusätzliche Prüfungen der Zertifikate implementiert wurden. Beide Browser prüfen nun, ob die Seriennummern der Zertifikate auf einer internen Blacklist stehen. Allerdings blockieren Chrome und Firefox teilweise unterschiedliche Seriennummern.

Jacob Appelbaum überwachte daraufhin die Zertifikatssperrlisten (Certificate Revocation List, CRL), auf denen die Zertifizierungsdienste gesperrte Zertifikate veröffentlichen. Dabei fand er heraus, dass alle über die neuen Funktionen gesperrten Zertifikate von Comodo ausgegeben wurden.

Ebenfalls am 22. März veröffentlichten die Firefox-Entwickler einen recht nichtssagenden Eintrag im Mozilla Security Blog und machten darauf aufmerksam, dass Firefox nach einem Update mehrere gefälschte SSL-Zertifikate blockiert. Dass das zu wenig war und die Benutzer besser informiert werden müssen, hat man inzwischen eingesehen.

Mangelhafte Schutzmaßnahmen

In der Theorie ist die Public-Key-Infrastruktur der X.509-Zertifikate gut gegen solche Angriffe geschützt: Zurückgezogene Zertifikate werden auf den Zertifikatssperrlisten veröffentlicht und können über das Online Certificate Status Protocol (OCSP) online geprüft werden. In der Praxis lässt sich dieser Schutz unterlaufen, da sowohl die Abfrage der CRL als auch die Prüfung über das OCSP blockiert werden können, ohne dass die Browser in der Standardeinstellung eine Fehlermeldung ausgeben (siehe z.B. hier für die Reaktion auf "Verbindungsfehler" und "Defeating OCSP With The Character '3'" von Moxie Marlinspike (PDF) für einen Angriff auf das OCSP).

Neuen Versionen von Chrome (17. März) und Firefox (22. März) enthalten die zusätzliche Prüfung gegen eine interne Blacklist, Microsoft hat ein Update für Windows bereitgestellt, so dass die Zertifikate vom System erkannt werden, für Opera und Safari gibt es bisher kein Update. Erschwerend kommt hinzu, dass die Prüfung der Zertifikate in Mac OS X ausgeschaltet ist. Das lässt sich aber ändern: Im Programm "Schlüsselbundverwaltung" (im Ordner "Dienstprogramme") muss in den Einstellungen im Reiter "Zertifikate" für OCSP und CRL jeweils "Bester Versuch" und für Priorität "OCSP" ausgewählt werden, um die Prüfung der Zertifikate einzuschalten.

Was ist denn nun passiert?

Kommen wir zur wichtigsten Frage: Was ist da eigentlich passiert? Comodo hat inzwischen ein Stellungnahme und einen ausführlichen Bericht über den Vorfall veröffentlicht. Demnach wurde eine Registrierungsstelle (Registration Authority, RA), bei der die Zertifikate beantragt werden, erfolgreich angegriffen.

Eine RA prüft die Richtigkeit der Daten im gewünschten Zertifikat und genehmigt dann ggf. den Zertifikatsantrag, der dann durch den Zertifizierungsdienst signiert wird. In diesem Fall wurde ein Benutzerkonto der RA kompromittiert, der Angreifer konnte danach gefälschte Zertifizierungsanträge genehmigen, für die von Comodo dann zumindest zum Teil Zertifikate ausgestellt wurden.

Gefälschte Zertifikate wurden für folgende Namen beantragt und ausgestellt:

  • login.live.com
  • mail.google.com
  • www.google.com
  • login.yahoo.com (3 Zertifikate)
  • login.skype.com
  • addons.mozilla.org
  • "Global Trustee" (wer oder was auch immer das ist)

Ob alle Zertifikate den Angreifer erreichten, ist nicht bekannt. Bisher wurde nur ein Teil der Zertifikate genutzt, und das auch nur in sehr geringem Umfang - jedenfalls, soweit es an OCSP-Abfragen erkennbar ist. Aber die könnten ja blockiert worden sein.

Was soll das ganze?

Was kann der Angreifer mit den gefälschten Zertifikaten anrichten? Nun, er kann seinen eigenen Server damit als den Server der oben aufgeführten Websites ausgeben. Dazu muss er aber die für diesen Server bestimmten Daten zu seinem Server umleiten oder sich als "Man in the Middle" zwischen Benutzer und richtigem Server befinden. Ein Benutzer kann dann nicht erkennen, dass er mit dem falschen Server verbunden ist, im Webbrowser wird eine korrekte, verschlüsselte Verbindung mit dem betreffenden Server signalisiert, da der ja das passende Zertifikat präsentiert hat.

Am nützlichsten ist so ein Zertifikat für einen Angreifer, der das DNS manipulieren kann, z.B. weil er als Staat seinen ISP entsprechende Vorschriften machen kann. Es liegt daher nahe, einen staatlichen Angriff zu vermuten. Da die Angriffe zu einer iranischen IP-Adresse zurückverfolgt wurden, liegt die Vermutung nahe, dass sie auch von der iranischen Regierung ausgelöst wurden. Oder von jemanden, der möchte, dass man die verdächtigt, denn woher der Angreifer wirklich kommt, kann man nicht mit Sicherheit feststellen. Die Information, dass Webhosting-Kunden aus dem Iran (und Syrien) kein SSL verwenden dürfen (via F-Secure), ist in der Hinsicht nicht hilfreich, da es ja nicht ums Hosting, sondern um die Nutzung durch Benutzer geht. Die entscheidende Frage wäre hier "Dürfen bzw. können Internet-Nutzer im Iran auf SSL-geschützte ausländische Websites zugreifen?". Falls das geht, könnte die iranische Regierung die gefälschten Zertifikate natürlich brauchen.

Worst Case

Mal angenommen, der Angriff erfolgte im Auftrag der iranischen Regierung. Die könnte dann die ISPs im Lande zwingen, Anfragen an die aufgeführten Domainnamen auf einen staatlichen Server umzuleiten, der sich dann mit den erbeuteten Zertifikaten als "richtiger" Server ausgibt. Die Behörden können dann die übertragenen Daten belauschen und manipulieren.

Dann muss natürlich auch die Nutzung von CRL und OCSP verhindert werden, sonst würden ja die gefälschten Zertifikate u.U. auffallen. Denn der Angreifer weiß ja, dass sein Angriff bemerkt wurde, da sein Zugang gesperrt wurde. Die Firefox-Entwickler haben ihre Informationen über den Angriff nicht früher veröffentlicht, weil sie Angst hatten, die Angreifer würden dann die Updates blockieren. Gute Idee, aber vermutlich falsch. Wer sich so viel Mühe macht, wird auch damit rechnen, dass die Browser-Hersteller reagieren und die Updates blockieren oder manipulieren.

Und nun?

Der Vorfall zeigt einige Probleme auf, die behoben werden müssen. Zuerst einmal würde es helfen, wenn die Programme (alle, nicht nur die Webbrowser!) bei einem Fehler in der Zertifikatsprüfung das betroffene Zertifikat zurückweisen. Wenn die CRL nicht geladen werden kann oder OCSP nicht funktioniert, darf dem Zertifikat nicht vertraut werden. Die hardcodierte Blacklist in den Browsern ist nur ein schlechter Workaround. Wie gross soll die werden? Und wie schnell wollen die Hersteller Updates veröffentlichen?

Dann muss das bisherige Geschäftsmodell der Zertifizierungsdienste geprüft werden. Wer mehrmals negativ auffällt, gehört eigentlich aus den Voreinstellungen der Programme rausgeschmissen. Einem Zertifizierungsdienst muss man zu 100% vertrauen können - es gibt keine Abstufungen wie "Dem vertraue ich nur bei unwichtigeren Websites" o.Ä.. Gibt es Zweifel an der Vertrauenswürdigkeit und/oder Zuverlässigkeit, kann man einen Anbieter nur komplett sperren.
Zu Comodo gibt es mehrere Einträge im Mozilla-Bugtracker, Konsequenzen hat das nicht. Was verständlich ist, denn wenn die Zertifikate eines Zertifizierungsdiensts nicht mehr akzeptiert werden, ist erst mal der Browserhersteller der Böse, zumindest, wenn andere Browser die Zertifikate weiterhin akzeptieren. Denn betroffen sind ja in erster Linie die harmlosen Websites, die Zertifikate des Anbieters nutzen, sowie deren Benutzer. Die kommen dann plötzlich nicht mehr auf ihre Websites, und dass nur, weil der Browser spinnt. Verständlich, dass die Browserhersteller es darauf nicht ankommen lassen.

Und zu guter Letzt stellt sich die Frage "Wem vertrauen wir eigentlich - und wieso?" Wir vertrauen den Zertifikaten, die vom Browser (oder jedem anderen Programm) akzeptiert werden. Kaum jemand hinterfragt dieses Konzept. Eigentlich ist das ein ziemlich riskanter Ansatz, wenn man bedenkt, dass man darauf sein Onlinebanking und seine sichere Kommunikation aufbaut.
Im Grunde müsste man jeden Zertifizierungsdienst persönlich prüfen, denn ob man jemanden vertraut oder nicht, muss man ja wohl letztendlich selbst entscheiden und kann diese Entscheidung nicht Dritten überlassen. Zur Zeit vertrauen wir darauf, dass die Programmhersteller den vertrauenswürdigen Zertifizierungsdiensten vertrauen. Aber wenn ich mir die Liste der von Mozilla für vertrauenswürdig gehaltenen Zertifizierungsdienste ansehe habe ich doch gewisse Zweifel, ob die alle meinen Ansprüchen genügen. Warum sollte ich einem Zertifizierungsdienst aus z.B. China unbesehen vertrauen? Es reicht doch, wenn ich denen vertraue, von denen ich (bzw. genauer: Die von mir benutzten Websites etc.) Zertifikate verwende. Alle anderen stellen ein unnötiges Risiko dar.

Außerdem wäre sicher auch hilfreich, wenn man wüsste, wer dieser ominöse "Global Trustee" ist, für den ein Zertifikat ausgestellt wurde. Das ist doch hoffentlich nicht die Domain eines Zertifizierungsdienstes? Irgendwie fürchte ich ja fast, dass doch... Hat Comodo etwa ein Zertifikat für eine Domain eines Konkurrenten signiert?

Warum denn nun "Super-GAU"?

Wäre es ein Unfall, wäre es ein Super-GAU, da die vorhandenen Schutzmaßnahmen nicht ausreichen und die Browser-Entwickler aushelfen mussten. Übrigens betrifft das Problem nicht nur die Browser, sondern alles, was über SSL/TLS abgesichert wird. Microsoft hat es entsprechend auch allgemein und nicht nur im Internet Explorer behoben, und Jacob Appelbaum hat ein Update für den Tor Browser angekündigt. Auch für andere Programme wären jetzt Updates fällig.

Carsten Eilers

Trackbacks

Dipl.-Inform. Carsten Eilers am : Der SSL-Hack - schlimmer geht immer

Vorschau anzeigen
Es gibt einige Neuigkeiten zu den bei Comodo erschlichenen SSL-Zertifikaten: Ein Hacker hat die Verantwortung für den Angriff übernommen und behauptet, eine weitere Certificate Authority angegriffen zu haben. Comodo hat Angriffe auf zwei

Dipl.-Inform. Carsten Eilers am : Falsche Zertifikate für Google und andere - ist SSL tot?

Vorschau anzeigen
Aus aktuellem Anlass heute ein anderes als das angekündigte Thema: Der holländische Zertifizierungs-Dienstleister (Certificate Authority, CA) DigiNotar hat SSL- und Extended Validation SSL (EVSSL)- Zertifikate für mehrere Domains

Dipl.-Inform. Carsten Eilers am : Das RAT, das aus dem Stuxnet kam

Vorschau anzeigen
Mehrere Antiviren-Hersteller haben einen neuen Schädling entdeckt, der teilweise als Stuxnet-Ableger bezeichnet wird. Da ist aber zumindest etwas irreführend. Der Duqu genannte neue Schädling weist einige Parallelen zu Stuxnet auf,

Dipl.-Inform. Carsten Eilers am : SSL - Der nächste Nagel im Sarg?

Vorschau anzeigen
Es gibt mal wieder schlechte Nachrichten über SSL. Diesmal wurde mal keine Zertifizierungsstelle gehackt, stattdessen haben Forscher festgestellt, dass die Prüfung von Zertifikaten in anderer Software als Webbrowsern ziemlich mangelhaft

Dipl.-Inform. Carsten Eilers am : Code Signing - Auch Schadsoftware kann signiert sein

Vorschau anzeigen
Oracles Antwort auf Javas ständige Sicherheitsprobleme: Der Einsatz von Code Signing. Vorerst gibt es nur mehr oder weniger ausführliche Warnungen vor nicht oder falsch signierten Applets, irgendwann sollen dann nur noch signierte Apple

Dipl.-Inform. Carsten Eilers am : Der SIM-Karten-Hack und Lenovos MitM-Zertifikat - Schlimmer geht immer!

Vorschau anzeigen
Es gibt neue Informationen zum SIM-Karten-Hack und der ein MitM-Zertifikat installierenden Adware auf Lenovo-Notebooks. Und wie üblich keine guten, denn Sie wissen ja: Schlimmer geht immer. Das schreit natürlich nach einem Kommentar.

Dipl.-Inform. Carsten Eilers am : SSL/TLS - Mal wieder einige schlechte Nachrichten!

Vorschau anzeigen
Heute gibt es mal wieder einige Nachrichten rund um SSL/TLS und das Zertifikatssystem. Natürlich schlechte. Gab es dazu eigentlich auch mal gute Nachrichten? Erinnern kann ich mich gerade an keine. Eine CA verspielt das in sie gesetzte Ve

Dipl.-Inform. Carsten Eilers am : Einige Angriffe auf CAs im Überblick

Vorschau anzeigen
Das größte Problem bei der Sicherheit von SSL/TLS allgemein und HTTPS im besonderen ist und bleibt das bestehende Zertifizierungssystem. Es gibt einfach zu viele CAs, denen die Browser und Betriebssysteme ab Werk vertrauen. Stellt eine di