RSA-Signaturen: Acht Jahre alte Sicherheitslücke kehrt zurück
In der NSS-Bibliothek ist eine Sicherheitslücke entdeckt worden, mit der sich RSA-Signaturen fälschen lassen. Betroffen sind die Browser Chrome und Firefox, für die bereits Updates erschienen sind. Es handelt sich um eine Variante der Bleichenbacher-Attacke von 2006.

Mozilla Firefox und Chrome haben gestern Updates herausgegeben, die eine Sicherheitslücke in der Verifikation von RSA-Signaturen beheben sollen. Bislang sind die Details noch geheim, doch laut Mozilla handelt es sich um eine Variante der sogenannten Bleichenbacher-Attacke, die bereits 2006 entdeckt wurde.
Offenbar wurde die neue Lücke unabhängig voneinander von Antoine Delignat-Lavaud und von einem Forscherteam bei Intel entdeckt. Delignat-Lavaud arbeitet für das miTLS-Projekt, das sich um eine formale Verifikation der Sicherheit von TLS bemüht, und hat in der Vergangenheit bereits zahlreiche Probleme aufgedeckt, zuletzt in einem Vortrag auf der Blackhat-Konferenz.
Über die Details der Lücke herrscht bislang Unklarheit. Der entsprechende Bugreport bei Mozilla ist im Moment nicht öffentlich einsehbar. Bei McAffee gibt es einen Blogeintrag zu der Lücke, die dort als BERserk bezeichnet wird. Das soll ein Hinweis darauf sein, dass es sich um ein Problem bei der sogenannten BER-Codierung handelt. BER ist Teil des ASN.1-Standards, einer relativ komplizierten Binärdarstellung von Daten, die bei TLS und bei X.509-Zertifikaten zum Einsatz kommt. Allerdings widerspricht der Google-Entwickler Adam Langley auf Twitter der Darstellung von McAffee.
Die Bleichenbacher-Attacke betrifft nur RSA-Schlüssel, die für den sogenannten Exponenten eine sehr kleine Zahl wie 3 oder 4 nutzten. Ein öffentlicher RSA-Schlüssel besteht aus zwei Zahlen, dem (sehr großen) Modulus und dem Exponenten. Früher wurden für den Exponenten aus Performancegründen oft kleine Zahlen genutzt, drei war eine gängige Wahl. Doch inzwischen wird fast überall der Wert 65537 genutzt. Vermutlich sind solche RSA-Schlüssel nicht betroffen.
Eine ähnliche Lücke wurde offenbar auch in anderen TLS-Bibliotheken gefunden. So findet sich in der Ankündigung der CyaSSL-Version 3.2.0, die vor knapp zwei Wochen veröffentlicht wurde, ebenfalls ein Hinweis auf ein Problem mit RSA-Signaturen, das vom selben Forscherteam bei Intel entdeckt wurde. Auch in der Ankündigung der letzten GnuTLS-Version gibt es einen Eintrag, von dem manche spekulieren, dass er im Zusammenhang mit dem Problem steht. Allerdings wurde diese GnuTLS-Version nicht als Sicherheitsupdate angekündigt, somit ist das dortige Problem vermutlich nicht ausnutzbar.
Zur Sicherheit sollten alle Nutzer von Chrome und Firefox ihre Browser aktualisieren. Firefox sollte auf die Version 32.0.3 aktualisiert werden, auch für ältere Firefox-Versionen stehen Updates bereit. In Chrome trägt die korrigierte Version die Versionsnummer 37.0.2062.124. Für NSS steht die Version 3.17.1 bereit. CyaSSL wird nur selten genutzt. Wer diese Bibliothek verwendet, sollte auf Version 3.2.0 aktualisieren. Der Fehler in GnuTLS ist vermutlich kein Sicherheitsproblem, aber um sicherzugehen, sollte hier ebenfalls ein Update auf Version 3.3.8 installiert werden.
Offenbar gab es im Vorfeld einige Konflikte über die Veröffentlichung der Sicherheitslücke. Mozilla-Entwickler Brian Smith schreibt auf Twitter, dass Intel und McAffee diese Angelegenheit in jeder möglichen Art und Weise falsch behandelt hätten.
Der ursprüngliche Angriff auf RSA-Signaturen wurde 2006 vom Schweizer Kryptographen Daniel Bleichenbacher auf der Crypto 2006-Konferenz vorgestellt. Es handelt sich dabei nicht um einen Fehler in RSA selbst, vielmehr geht es um fehlerhafte Implementierungen des Paddings. Bleichenbacher hat davon unabhängig bereits 1998 eine Sicherheitslücke in der Verschlüsselung von RSA entdeckt. Auch diese andere Bleichenbacher-Attacke taucht immer wieder auf. Im April wurde bekannt, dass Java und OpenSSL von einer Variante der 1998er Bleichenbacher-Attacke betroffen waren.
Beide Probleme haben mit dem RSA-Padding im eigentlich veralteten Standard PKCS #1 1.5 zu tun. Bereits 2002 wurde der Standard PKCS #1 2.1 veröffentlicht, der mit PSS und OAEP verbesserte Padding-Verfahren für RSA bereithält. Allerdings werden diese bis heute in vielen Produkten nicht eingesetzt. TLS unterstützt PKCS #1 2.1 überhaupt nicht, bei Zertifikaten nach dem X.509-Standard sind PSS-Signaturen zwar möglich, werden aber von niemandem genutzt.
Nachtrag vom 26. September 2014, 11:39 Uhr
Ursprünglich hatten wir geschrieben, dass die Lücke in NSS wahrscheinlich nur geringe Auswirkungen habe, da nur wenige RSA-Schlüssel einen Exponenten 3 nutzten. Allerdings gibt es im Zertifikatsstore von Firefox und Chrome sechs Zertifizierungsstellen, die einen solchen problematischen RSA-Schlüssel nutzen. Damit ist diese Sicherheitslücke gravierender als es zunächst erschien.
Intel hat inzwischen eine Webseite zu BERserk online gestellt, weiterhin gibt es dort aber keine Detailinformationen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Das Update auf die neue NSS-Biliothek hat auch einen netten Vorteil: Netflix funktioniert...
Meil Lieblingsbrowser Seamonkey bekam heute das Update auf 2.29.1. Wer Thunderbird wegen...
Das ist falsch: http://tools.ietf.org/html/rfc4880#section-13.1