Ein bösartiger Bitcoin-Wallet-Server
Ein bösartiger Bitcoin-Wallet-Server könnte heimlich eine legitime Zahlung gegen die Transaktion eines Diebes austauschen und dann darauf warten, dass der Eigentümer den Diebstahl genehmigt. Der neueste Sicherheitspatch von Electrum schließt diese Lücke, nachdem Angreifer den Fehler ausgenutzt und Gelder gestohlen haben.
Details zum Sicherheitspatch
Electrum veröffentlichte am Samstag die Version 4.8.3 und warnte die Benutzer, sofort ein Upgrade durchzuführen, nachdem die Entwickler entdeckt hatten, dass bösartige Server eine schwerwiegende Schwachstelle ausnutzten, die alle vorherigen Versionen betraf. Der Fehler, dokumentiert im GitHub-Bericht GHSA-6jp4-8v48-cc5v, betraf die Art und Weise, wie das leichte Bitcoin-Wallet unbestätigte Transaktionen behandelte.
Electrum verlässt sich auf externe Server für Transaktionshistorien, Gebührenschätzungen und das Broadcasting von Zahlungen. Während bestätigte Transaktionen unabhängig überprüft werden, akzeptierten ältere Versionen bestimmte unbestätigte Transaktionen, ohne deren Signaturen zu verifizieren. Angreifer nutzten diese Unterscheidung aus.
Angriffsmechanismus
Ein kompromittierter Server konnte eine legitime Zahlung abfangen, deren Broadcasting verhindern und eine betrügerische Transaktion einfügen, die Gelder an eine vom Angreifer kontrollierte Bitcoin-Adresse leitete. Der Ersatz hatte ungültige Signaturen, wurde jedoch von Electrum als gewöhnliche ausstehende Zahlung angezeigt.
Die Gefahr erhöhte sich, als Benutzer versuchten, die Transaktionsgebühren über das Replace-By-Fee (RBF)-Verfahren zu erhöhen. Anstatt die Gebühr für ihre ursprüngliche Zahlung zu erhöhen, könnten die Opfer versehentlich die ersetzte Transaktion signieren und damit die Übertragung ihrer eigenen Bitcoins an den Angreifer autorisieren.
Die Täuschung ging weiter: Angreifer generierten Empfangsadressen, deren letzte vier Zeichen mit dem beabsichtigten Ziel übereinstimmten, was einen schnellen Adressvergleich weniger wahrscheinlich machte und den Wechsel entlarvte. Eine betrügerische Transaktion hatte sogar eine Nullgebühr, was das Opfer scheinbar ermutigte, die benötigte Gebührenerhöhung zur Vollziehung des Diebstahls einzuleiten.
Berichte und Reaktionen
Die Entwickler erhielten zwei private Berichte. Am 11. Oktober berichtete der Benutzer dannydeezy von der Transaktionssubstitution, obwohl der Mechanismus zur Gebührenerhöhung nicht vollständig verstanden wurde. Am 18. Oktober meldete Raju-K12 den Verlust von Geldern, nachdem er eine Gebührenerhöhung genehmigt hatte. Der zweite Bericht bestätigte, dass der Angriff nicht nur theoretisch war.
Der Patch und Empfehlungen
Der Patch, der durch den Commit 90fe308 eingeführt wurde, erfordert, dass Electrum die Signaturen für unbestätigte Transaktionen überprüft, die Münzen aus dem Wallet ausgeben. Betrügerische Transaktionen mit ungültigen Signaturen werden abgelehnt, bevor sie in die lokale Historie des Wallets eingehen.
Benutzer, die Versionen vor 4.8.3 verwenden, sollten das Update ausschließlich von electrum.org herunterladen und die kryptografischen Signaturen überprüfen. Bis zum Upgrade sollten Benutzer jede Zieladresse und den Zahlungsbetrag sorgfältig überprüfen, bevor sie signieren, auch während Gebührenerhöhungen.
Diejenigen, die sich ausschließlich mit vertrauenswürdigen, selbst gehosteten Electrum-Servern verbinden, sind nicht diesem speziellen serverbasierten Angriff ausgesetzt.
Fazit
Der Vorfall offenbart einen seltsamen Widerspruch: Ein Wallet, das zum Schutz privater Schlüssel entwickelt wurde, könnte dennoch manipuliert werden, um eine völlig gültige Signatur für eine Zahlung anzufordern, die der Eigentümer niemals beabsichtigt hatte zu leisten.
Der Hardware-Wallet-Hersteller Keystone gab am Samstag einen Datenvorfall bekannt, nachdem unbefugter Zugriff auf seine Website Namen, Versand…