Das Problem
Vielleicht haben Sie schon gehört, dass vor kurzem eine schwerwiegende Schwachstelle in Apples Implementierung von SSL entdeckt wurde. Apple hat nicht viele Details genannt, aber Sicherheitsforscher, die mit dem Problem vertraut sind, haben erklärt, dass der Fehler die Möglichkeit eines Man-in-the-Middle-Angriffs (MITM) eröffnet. Das bedeutet, dass nicht gepatchte Systeme Passwörter, Kreditkartennummern oder andere sensible Informationen ausspucken können, ohne dass der Benutzer weiß, dass seine Verbindung unsicher ist. Zum Zeitpunkt der Erstellung dieses Artikels ist ein Patch für iOS 7 verfügbar, aber nicht für Mac OS X-Rechner.
Man-in-the-Middle-Angriffe auf SSL sind keineswegs neu; tatsächlich habe ich vor neun Jahren auf der RSA-Konferenz 2005 einen Vortrag über einen Malware-gestützten Man-in-the-Middle-Angriff gehalten, den einer unserer Kunden entdeckt hatte, über unsere Analyse der Funktionsweise und darüber, was man tun kann, um ihn zu verhindern.
A Fix
Aus den wenigen Informationen, die bisher zur Verfügung gestellt wurden, geht hervor, dass iOS- und Mac-Nutzer nicht viel dagegen tun können, bis ein Patch veröffentlicht und installiert wird. Aber können Organisationen sicher sein, dass die Benutzer, die mit ihnen kommunizieren, keine MITM-Opfer sind? In vielen Fällen kann die Antwort "ja" lauten, und zwar mit Hilfe von clientseitigen SSL Zertifikaten.
Um zu sehen, wie es funktioniert, schauen wir uns zunächst an, wie ein Man-in-the-Middle-Angriff funktioniert. In den meisten Fällen, in denen SSL verwendet wird, ist nur ein Zertifikat auf dem Server erforderlich, wie unten dargestellt:
Um erfolgreich zu sein, muss der Vermittler in der Lage sein, den Kunden davon zu überzeugen, dass er direkt mit dem gewünschten Endpunkt kommuniziert. Dies sollte eigentlich unmöglich sein, wenn SSL richtig implementiert ist (was anscheinend das Problem von Apple war) und angemessene Vertrauensanker beibehalten werden (was manchmal leichter gesagt als getan ist). Wenn beides nicht eingehalten wird, werden Man-in-the-Middle-Angriffe möglich.
Aber bei der gegenseitigen oder clientseitigen SSL verlangt der Server, dass die Client ebenfalls ein Authentifizierungszertifikat vorlegt. In diesem Fall erhält der Server eine gewisse Sicherheit, dass er direkt mit dem Client kommuniziert:
Jetzt wird die Aufgabe der Angreifer mindestens doppelt so schwierig, denn sie müssen beide Enden der Verbindung davon überzeugen müssen, dass sie direkt miteinander kommunizieren und nicht nur mit einem.
Natürlich wird dieses spezielle Problem mit Apple iOS und Mac OS X irgendwann gepatcht werden und verschwinden. Aber es wird mit ziemlicher Sicherheit nicht das letzte Aber es wird mit Sicherheit nicht das letzte Mal sein, dass wir von einem möglichen Man-in-the-Middle-Angriff hören, und clientseitige Zertifikate können helfen, MITM-Angriffe abzuwehren, wenn sie das nächste Mal auftauchen . Es ist zum Beispiel erwähnenswert, dass die Forderung des Servers nach einem Client-Zertifikat den Angriff verhindert, selbst wenn der Client-Rechner noch nicht gepatcht und anderweitig anfällig ist.
Schutz des privaten Schlüssels
Bei jeder digitalen Zertifikatsimplementierung dreht sich alles um die privaten Schlüssel; wenn unser Mann in der Mitte im obigen Diagramm Zugriff auf den privaten Schlüssel des Kunden erhält, ist er wieder im Geschäft. Technologien wie On-Device Key Generation (ODKG) können dabei helfen, da sie die Orte einschränken, an denen private Schlüssel erfasst oder offengelegt werden können. Wenn Schlüssel außerhalb des Geräts generiert werden, was in mobilen oder BYOD-Szenarien häufig der Fall ist, sind sie überall dort gefährdet, wo sie erstellt, übertragen, gespeichert oder archiviert werden. Aus diesem Grund legt CSS so viel Wert auf die Aktivierung von ODKG in Szenarien, in denen dies sonst nur schwer möglich ist - einschließlich iOS- und Mac-Geräte.