23.01.2013 16:36
Megas erster Krypto-Fauxpas
Der Cloud-Speicherdienst Mega von Kim "Kimble" Dotcom setzt auf ein cleveres Konzept, den eigenen Code nachzuladen. Doch die Krypto-Funktionen, die dessen Integrität sicher stellen sollen, sind dazu völlig ungeeignet und lassen sich einfach austricksen, wie das Blog fail0verflow dokumentiert. Dieser Fauxpas lässt nichts gutes für den Rest der Krypto-Infrastruktur ahnen.
Die zentrale HTML-Datei des Mega-Servers enthält die Namen einer ganzen Reihe von JavaScript-Dateien wie 'base64_0.js' und 'crypto_0.js', die von externen Servern eines Content Distribution Networks (CDN) nachgeladen werden. Dabei zeigt etwa die derzeit genutzte URL https://eu.static.mega.co.nz/ unter anderem auf Server, die beim AfriNIC in Mauritius angesiedelt sind. Um sicher zu stellen, dass der nachgeladene Code auch tatsächlich unverändert ist, enthält die Steuerdatei zu jeder Datei eine Art Prüfsumme, die sie vor dem Ausführen des Codes checkt.
Dazu benutzt Mega statt etablierter Hash-Verfahren wie SHA256 den Krypto-Algorithmus CBC-MAC mit einem im JavaScript-Code fest einprogrammierten Schlüssel (111111, 222222, 333333, 444444). Jedoch findet sich schon in der Wikipedia-Beschreibung zu CBC-MAC der deutliche Hinweis, dass sich diese Message Authentication Codes sehr einfach fälschen lassen, wenn der verwendete Schlüssel bekannt ist. Das bedeutet konkret, dass jeder, der einen dieser CDN-Server kontrolliert – oder den Betreiber zur Mithilfe bewegen kann – den nachgeladenen Code ganz einfach manipulieren könnte, ohne dass dies einen Fehler hervorruft. Damit wäre dann die gesamte Mega-Infrastruktur kompromittiert und Anwender ließen sich beliebig ausspionieren. Das Blog fail0verflow stellt im Rahmen seiner Analyse Megafail eine einfache Demo bereit, mit der man selbst gültige JavaScript-Dateien erstellen kann, die gezielt den CBC-MAC einer zuvor hochgeladenen Mega-Datei produzieren.
Derartige Anfängerfehler beim Einsatz von Krypto-Funktionen werfen ein schlechtes Licht auf das Versprechen, die Daten der Anwender durch den Einsatz von lokaler Verschlüsselung im Browser zu schützen.
Mehr Informationen über Funktionsweise und mögliche Probleme des neuen Cloud-Speicher-Dienstes fasst ein Artikel auf heise Security zusammen:
(ju)
Cross-Site-Scripting (XSS) ist eine der größten Plagen, mit denen Webmaster zu kämpfen haben. Der neue Standard "Content Security Policy" soll endlich Abhilfe schaffen.
Wie schwer ist es, einen Hotelsafe zu knacken? heise Security hat es spontan ausprobiert – mit einem überraschenden Ergebnis.
Die Weboberfläche zur Verwaltung von ProLiant- und Integrity-Servern enthält eine kritische Sicherheitslücke.
Eine Lücke, viele Updates: Adobe hat ein kritisches Sicherheitsloch gestopft und neue Flash- und Air-Versionen für sämtliche Plattformen veröffentlicht.
Am Juni-Patchday hat Microsoft zahlreihe Lücken in Windows, Internet Explorer und Office geschlossen. Eine Rechteausweitungslücke, für die bereits ein Exploit im Netz kursiert, hat die Redmonder Softwareschmiede dabei jedoch offenbar ausgelassen.