thumb

In der jüngeren Vergangenheit sind verschiedene etablierte und von den Browser-Herstellern als vertrauenswürdig anerkannte Zertifizierungsdiensteanbieter (CSPs) angegriffen und in mindestens zwei Fällen (Comodo und Diginotar) auch kompromittiert worden. Dabei ist es den Angreifern gelungen, falsche SSL/TLS-Server-Zertifikate auszustellen, mit denen z.B. in grossem Stil Man-in-the-Middle (MITM) Angriffe durchgeführt werden können.

Im Rahmen dieser Technologiebetrachtung wird nachfolgend aufgezeigt, was passiert ist und welche Auswirkungen die Angriffe auf die Ausgestaltung von heutigen und zukünftigen Public Key Infrastrukturen (PKIs) möglicherweise haben werden.
Der Beitrag wurden von der Schweizerischen „Melde- und Analysestelle Informationssicherung (Melani)“ zur Verfügung gestellt.

Angriffe
Nachdem während Jahren die Sicherheit von CSPs und PKIs diskutiert worden ist und dabei primär sowohl die (kryptografische) Fälschungssicherheit von Zertifikaten als auch die Resistenz gegenüber falsch ausgegebenen Code-Signierzertifikaten im Mittelpunkt der Diskussion gestanden sind, hat Comodo /1/ im März 2011 bekanntgegeben, dass es Angreifern gelungen ist, über mindestens zwei kompromittierte italienische Reseller (Globaltrust.it und InstantSSL.it) neun falsche SSL/TLS-Server-Zertifikate auszustellen. Diese Bekanntgabe hat international grosses Aufsehen erregt und die Sicherheitsdiskussion neu angestossen. Die Bekanntgabe der niederländischen Firma Diginotar /2/, dass sie im Juli 2011 auch Opfer eines grossangelegten Angriffs geworden sei, hat die Diskussion weiter verschärft. Interessanterweise ist Diginotar nicht nur von KPMG auditiert und zertifiziert worden, sondern sie betreibt mit PKIoverheid auch eine PKI für den niederländischen Staat (dieser Teil ist vom Angriff allerdings nicht betroffen gewesen). Im Falle von Diginotar sind 513 falsche SSL/TLS-Server-Zertifikate ausgestellt worden. Zum Teil handelt es sich dabei um Extended Validation (EV) Zertifikate, so dass hier durchaus von einem ernstzunehmenden Vorfall im PKI-Bereich gesprochen werden muss. Kurze Zeit nach Bekanntwerden des Vorfalls hat Vasco Diginotar liquidiert. In beiden Fällen haben die betroffenen Firmen zunächst argumentiert, dass sie Opfer einer Advanced Persistent Threat (APT) geworden seien, und dass möglicherweise sogar staatliche Stellen hinter den Angriffen stehen würden. Spätere Untersuchungen haben aber gezeigt, dass die Angriffe weit weniger spektakulär verlaufen sind als ursprünglich angenommen, und dass einmal mehr nicht gepatchte Server-Systeme und zu wenig gut kontrollierte Internet-Verbindungen die Angriffe ermöglicht haben.

Auswirkungen
Der sichere Einsatz von Kryptosystemen mit öffentlichen Schlüsseln (sog. „Public Key“-Kryptografie) steht und fällt mit der Sicherheit der entsprechenden CSPs und PKIs /3/. Entsprechend ist die Sicherheit von CSPs und PKIs immer schon ein Thema gewesen, mit dem sich Sicherheitstechniker befasst haben. Im Mittelpunkt des Interesses sind dabei Szenarien gestanden, bei denen entweder Zertifikate (über Schwachstellen in der Kollisionsresistenz der eingesetzten kryptografischen Hash-funktionen /4/) gefälscht oder Code-Signierzertifikate missbraucht werden. Im zweiten Fall erlaubt – wie der Stuxnet-Wurm gezeigt hat – ein solches Zertifikat z.B. das Einbringen von Malware in Form digital signierter Treibersoftware in ein Betriebssystem.

Die jüngsten Angriffe auf CSPs haben nun aber gezeigt, dass auch die Kompromittierung eines CSP zwecks Ausgabe falscher Zertifikate eine reale Bedrohung darstellt. Wie einleitend erwähnt, lassen sich mit Hilfe von falschen SSL/TLS-Server-Zertifikaten grossflächige MITM-Angriffe durchführen. Wenn sich ein Internet-Banking-Kunde mit Hilfe des Secure Sockets Layer (SSL) oder Transport Layer Security (TLS) Protokolls auf einen Bankenserver verbinden will und es einem Angreifer gelingt, den Kunden auf einen von ihm kontrollierten Server umzuleiten und dem Browser im Rahmen des SSL/TLS-Verbindungsaufbaus ein gültiges Zertifikat zuzustellen, dann wird der Browser dieses Zertifikat ohne Rückfrage akzeptieren und der Angreifer kann sich als MITM in die Kommunikationsbeziehung zwischen Browser und Server einbringen. Er hat dann die volle Kontrolle über die übertragenen Daten und kann diese auch entschlüsseln und im Klartext aufzeichnen. Damit können solche Angriffe genutzt werden, um staatliche Überwachungen im Internet durchzusetzen. So sind wahrscheinlich auch die falschen Diginotar-Zertifikate im Iran zur Überwachung der Kommunikation von Oppositionellen in sozialen Netzwerken (insbesondere Facebook und Twitter) genutzt worden.

Wenn – wie in den vorliegenden Fällen – falsche Zertifikate ausgegeben werden, dann gilt es zunächst einmal zwei Punkte zu beachten:
• Auf der einen Seite versagen für solche Zertifikate alle im Einsatz stehenden Zertifikatsrevoziermechanismen auf der Basis von Sperrlisten (CRLs und/oder OCSP-Abfragen). Ein falsches (d.h. fälschlicherweise ausgegebenes) Zertifikat ist nicht zwingend gesperrt und entsprechend ist es auch nicht als solches erkennbar. Hier bräuchte es eine Unterscheidungsmöglichkeit für autorisierte (d.h. berechtigterweise ausgegebene) und nicht autorisierte Zertifikate. Allenfalls könnte hier ein „Whitelisting“ oder eine Art „Clearance“ korrekt abgewickelter Bestell- und Bezahlprozesse weiterhelfen. Allerdings wären solche Ansätze auch nicht resistent gegenüber Insider-Angriffen.
• Auf der anderen Seite hat sich gezeigt, dass das (zentralistische und hierarchische) Vertrauensmodell von ITU-T X.509 grundsätzlich problematisch ist. Wird in diesem Modell ein CSP bzw. eine als vertrauenswürdig anerkannte Root CA kompromittiert, dann sind davon alle Entitäten betroffen, die sich auf diese CA berufen (im Extremfall können das alle Internet-Benutzer sein). Sicherheitstechnisch sitzen alle im gleichen Boot und die Wahrscheinlichkeit, dass eine Root CA kompromittiert wird, steigt mit der Länge der Liste. Werden z.B. n Root CAs CA1,...,CAn als vertrauenswürdig anerkannt und wird jede dieser Root CAs mit einer Wahrscheinlichkeit pi (für Root CAi) kompromittiert, dann entspricht die Wahrscheinlichkeit P, dass keine Root CA kompromittiert wird, dem Produkt aller (1 - pi) für i = 1,...,n, d.h. P = Πi=1,...,n(1 - pi).
Wenn für alle Root CAs die Wahrscheinlichkeit pi gleich ist, dann lässt sich P auch als (1-pi)n berechnen. Umgekehrt beträgt die Wahrscheinlichkeit 1-P, dass Probleme (im Sinne von mindestens einer kompromittierten Root CA) auftreten. Damit ist ein Simulationsmodell gegeben, mit dem man unter anderem zeigen kann, dass sich für realistische Werte für pi bzw. p die Wahrscheinlichkeit, dass Probleme auftreten, mit steigendem n relativ schnell 1 annähert. Für p = 0.01 und n = 100 (n = 200) beträgt die Wahrscheinlichkeit z.B. bereits 0.64 (0.87).

Nach diesen Vorbemerkungen stellt sich die Frage, welche Vorkehrungen man treffen kann, um unter den gegebenen Umständen MITM-Angriffe bestmöglichst zu verhindern. Weil es nur wenig Lösungsansätze zur Verhinderung von MITM-Angriffen gibt, wird man versuchen müssen, MITM-Angriffe für den Angreifer möglichst schwer und aufwändig zu machen. Dabei gilt es zu unterscheiden, ob man am Vertrauensmodell Änderungen vornehmen kann oder nicht.
• Kann man am Vertrauensmodell keine Änderungen vornehmen, dann empfiehlt es sich, mit vorwiegend leeren Listen vertrauenswürdiger Root CAs bzw. mit einer selektiven Aufnahme von nur bestimmten Root CAs zu arbeiten. Google nutzt diese Möglichkeit bereits seit Chrome Version 13 unter dem Begriff „Public Key Pinning“. Will man den Ansatz auf beliebige Domänen verallgemeinern, dann bietet sich eine Verbindung zum Domain Name System (DNS) an. So ist z.B. im Rahmen der IETF-Arbeitsgruppe DNS-based Authentifcation of Named Entities (Dane) eine Möglichkeit entwickelt und für die Einreichung in die Internet-Standardisierung vorbereitet worden /5/, mit der man im DNS für Domänen bestimmte Zertifikate und/oder öffentliche Schlüssel festlegen und damit autorisieren kann. Kompromittierte CSPs können dann nicht mehr Server-Zertifikate für beliebige Domänen ausstellen, so dass sich die Auswirkungen von erfolgreichen Angriffen in Grenzen halten lassen. Die Abfragen entsprechender TLSA Resource Records sind dann ihrerseits idealerweise mit DNS Security (DNSSEC) abzusichern.

• Kann man am Vertrauensmodell Änderungen vornehmen, dann kommen grundsätzlich neue Lösungsansätze in Frage. Hier böte sich ein Vertrauensmodell an, in dem Kompromittierungen auch nur lokale Auswirkungen haben. Ein solches Modell muss zwingend verteilt sein und dynamische Vertrauensbeziehungen unterstützen /6/. Forscher der Carnegie Mellon Universität haben z.B. gezeigt, dass Angriffe meist lokal stattfinden, und dass man falsche Zertifikate deshalb im Abgleich mit geografisch verteilten Notariatsdiensten feststellen kann. Auf dieser Idee basierend haben sie 2008 mit Perspectives /7/ eine Prototypimplementierung als Firefox-Erweiterung entwickelt. Die Idee ist 2011 von Moxie Marlinspike aufgegriffen worden, der mit Convergence ebenfalls eine Firefox-Erweiterung entwickelt und an der Black Hat-Konferenz vorgestellt hat. Es wird sich zeigen, ob derart verteilte Ansätze eine brauchbare Alternative zu konventionellen ITU-T X.509-basierten PKIs darstellen.

Schlussfolgerungen und Ausblick
Wie jedes sozio-technische System verfügt auch ein CSP über Schwachstellen und Verwundbarkeiten, die im Rahmen von Angriffen adressiert und (mehr oder weniger gezielt) ausgenutzt werden können. Dabei beziehen sich die Schwachstellen und Verwundbarkeiten weniger auf die eingesetzten kryptografischen Verfahren und Mechanismen als auf die Schnittstellen zu den entsprechenden Zertifikatsausstell- und -ausgabeprozessen. Angriffe sind hier denkbar und – wie die jüngsten Angriffe dokumentieren – auch realisierbar. Als Analogie kann man einen Notengeldfälscher betrachten: Dieser kann entweder Notenscheine fälschen oder – was allerdings komplizierter und aufwändiger ist – in eine Notendruckzentrale einbrechen und die dort installierten Maschinen zur Ausgabe von regulären Notenscheinen missbrauchen. Es liegt auf der Hand, dass die zweite Möglichkeit zwar schwieriger zu realisieren dafür aber umso einträglicher ist. Ein analoger Angriff ist jetzt im PKI-Bereich gelungen und es ist möglich und wahrscheinlich, dass solche und ähnliche Angriffe in Zukunft wieder gelingen werden. Entsprechend lohnt es sich, solche Möglichkeiten in die Überlegungen zur Ausgestaltung zukünftiger PKIs mit einzubeziehen.

www.melani.admin.ch

/1/ Comodo (http://www.comodo.com) ist ein weltweit führender CSP, der unter anderem auch verschiede-ne Klassen von SSL/TLS-Server-Zertifikaten ausgibt. Schätzungen zufolge liegt der Marktanteil von Comdo hier weltweit bei 20 – 25 Prozent.
/2/ Diginotar B.V. (http://www.diginotar.nl) ist eine Tochterfirma von Vasco Data Security International, Inc. (Vasco) gewesen.
/3/ In diesem Sinne stellen die CSPs bzw. PKIs eine Achillesverse der „Public Key“-Kryptografie dar.
/4/ Dieser Punkt wird z.B. in der „Technologiebetrachtung: Kollisionsresistenz und Brechung kryptografi-scher Hashfunktionen“ vom 4. August 2010 vertieft.
/5/ Internet-Draft, Using Secure DNS to Associate Certificates with Domain Names for TLS, September 27, 2011, draft-ietf-dane-protocol-12
/6/ Moxie Marlinspike hat im Rahmen eines Vortrages an der diesjährigen Black Hat-Konferenz dafür den Begriff „trust agility“ also „Vertrauensagilität“ geprägt.
/7/ http://perspectives-project.org

Abkürzungen
APT Advanced Persistent Threat
CRL Certificate Revocation List
CSP Certification Service Provider
DANE DNS-based Authentication of Named Entities
DNS Domain Name System
DNSSEC DNS Security
EV Extended Validation
IETF Internet Engineering Task Force
ITU International Telecommunication Union
MITM Man-in-the-Middle
OCSP Online Certificate Status Protocol
PKI Public Key Infrastruktur
RR Resource Record
SSL Secure Sockets Layer
TLS Transport Layer Security