Eine von außen ausnutzbare Sicherheitslücke gefährdet Nutzer der Wallet-Programme Electrum (Bitcoin), Electron Cash (Bitcoin Cash) und Electrum-LTC (Litecoin). Angreifer könnten den Anwender deanonymisieren und im Extremfall das Guthaben stehlen.
Angreifer könnten über eine präparierte Webseite Nutzer der Wallet-Clients Electrum für Bitcoin (BTC), Electron Cash für Bitcoin Cash (BCH/BCC) und Electrum-LTC für Litecoin (LTC) deanonymisieren und schlimmstenfalls sämtliche Wallets inklusive Guthaben stehlen.
Betroffen sind die Electrum-Versionen 2.6 bis 3.0.4, alle Versionen von Electron Cash bis einschließlich 3.1.1 und alle Versionen von Electrum-LTC bis einschließlich 3.0.5. Anwender sollten ihre Clients schleunigst aktualisieren, da sich die Sicherheitslücke aus der Ferne, mit geringem Aufwand und vom Nutzer unbemerkt ausnutzen lässt. Alle drei Projekte haben am gestrigen Montag Abend oder am heutigen Dienstag fehlerbereinigte Versionen ihrer Programme veröffentlicht.
Server-Dienst trotz Client-Modus
Die Sicherheitslücke besteht darin, dass aufgrund eines Fehlers in Electrum seit Version 2.6 auch dann der integrierte JSON-RPC-Server gestartet wird, wenn ein Anwender Electrum auf dem Desktop mit GUI nutzt ? und zwar ungeschützt ohne Notwendigkeit zur Authentifizierung. Eigentlich wird die JSON-RPC-Schnittstelle nur im Server-Betrieb benötigt, um etwa in Web-Shops Bitcoin-Zahlungen zu ermöglichen. Als Electron Cash und Electrum-LTC aus den Electrum-Quellen geforkt wurden, erbten die neuen Programme dieselbe Sicherheitslücke.
Gefährlich wird es dann, wenn ein beliebiger Web-Browser und eines der Wallet-Programme gleichzeitig laufen ? eine Standardvorgehensweise, wenn man mit einer der Krypto-Währungen bezahlt und dazu die Zahlungsadresse von einem Shop in den Wallet-Client kopiert. Ist der Shop manipuliert und enthält einen angepassten JavaScript-JSON-Client, den der Browser ausführt, kann der JSON-Client lokal nach dem Port des JSON-RPC-Servers von Electrum & Co. scannen und, sobald gefunden, die Kontrolle über das Wallet-Programm übernehmen. Der Benutzer bekommt von alldem nichts mit.
Deanonymisierung und Wallet-Klau
Zu den Möglichkeiten, die der JSON-RPC-Server dem Angreifer bietet, zählen unter anderem die Abfrage des Kontostands des aktuell geöffneten Wallets (auch wenn dieses verschlüsselt ist), den Abruf des Master Public Key (MPK, xpub), mit dem sich sämtliche benutzten und unbenutzten Adressen des Wallets generieren und so vergangene wie künftige Zahlungen identifizieren lassen, und das Öffnen anderer Wallets, die auf dem Rechner gespeichert und nicht verschlüsselt sind.
Sollte ein Wallet nicht mit einem Passwort geschützt sein, könnten Angreifer außerdem beliebige Zahlungen vornehmen oder die Wallet-Seed stehlen, womit sich eine Kopie des Wallets mit vollem Zugriff auf das Guthaben erstellen lässt.
Die Electrum-Entwickler empfehlen Anwendern, neue Wallets zu erstellen und das Guthaben der alten dorthin zu transferieren. So ist das Guthaben selbst für den Fall sicher, dass Angreifer ein passwortloses Wallet kopiert oder das Passwort eines geschützten Wallets geknackt haben.
Anonym mit neuen Wallets
Um künftig anonym wieder bezahlen zu können, hilft dieser Rat allerdings nur zum Teil: Der Geldtransfer auf das neue Wallet wird in der Blockchain für jedermann sichtbar gespeichert, sodass anschließende Zahlungen vom neuen Wallet weiterverfolgt werden könnten. Um die Historie zu brechen, ist es nötig, das Guthaben in eine andere Währung zu tauschen oder das Geld über einen sogenannten Mixer umzuleiten.
Angesichts der aktuell horrenden Transfer-Fees bei Bitcoin, bei mehreren kleinen Beträgen auf verschiedenen Adressen kommen schnell 50 bis 100 Euro an Gebühren zusammen, ist aktuell keine der Lösungen für Anwender attraktiv. Die Auswirkungen der Sicherheitslücke spürt also jeder unmittelbar an seinem Geldbeutel.
Server-Betreiber müssen nicht akut in Panik ausbrechen: Sie nutzen den JSONRPC-Zugang bewusst und haben (hoffentlich) ohnehin Vorkehrungen getroffen, dass dieser nicht missbraucht werden kann. Für künftige Versionen von Electrum, Electron Cash und Electrum-LTC werden die Shops allerdings angepasst werden müssen, um sich dann mit Benutzernamen und Passwort zu authentifizieren.