Eine Sicherheitslücke in einer Bitcoin-Wallet ermöglichte es bösartigen Servern, Nutzer dazu zu verleiten, beim Versuch, Transaktionen zu beschleunigen, Zahlungen an Angreifer zu signieren. Entwickler bestätigten mindestens einen Fall, in dem Geld gestohlen wurde.
Electrum, eine der ältesten Software-Wallets von Bitcoin, hat die Schwachstelle am Samstag offengelegt, wobei einige Server es bereits ausnutzten. Die Entwickler erhielten im Oktober zwei Meldungen, darunter eine von einem Nutzer, der Gelder verlor, nachdem er eine vermeintlich routinemäßige Erhöhung der Transaktionsgebühren genehmigt hatte.
Der Angriff nutzte aus, wie Electrum mit Bitcoin-Zahlungen umgeht, die vom Netzwerk noch nicht bestätigt wurden.
Im Gegensatz zu einem vollständigen Bitcoin-Knoten verlässt sich Electrum auf externe Server, um Transaktionshistorien abzurufen und Zahlungen zu senden. Vor der Behebung vertraute die Wallet darauf, dass diese Server ausstehende Transaktionen meldeten, ohne zu überprüfen, ob deren Signaturen gültig waren.
Ein Angreifer, der einen dieser Server kontrolliert, könnte eine Zahlung abfangen, bevor sie das Bitcoin-Netzwerk erreicht, und diese in der Historie der Wallet durch eine gefälschte Transaktion ersetzen. Diese Ersetzung gab die Coins des Nutzers an eine Adresse aus, die vom Angreifer kontrolliert wird, wobei ungültige Signaturen verwendet wurden, die Electrum nicht erkennen konnte.
Doch die Wallet zeigte die gefälschte Zahlung anschließend als ausstehend an, und die Falle schlug zu, als Nutzer versuchten, den Vorgang zu beschleunigen.
Bitcoin ermöglicht es, unbestätigte Transaktionen durch Versionen mit höheren Gebühren zu ersetzen, eine Funktion, die als Replace-by-Fee bezeichnet wird. Wenn ein Nutzer diese Option auswählte, könnte Electrum die betrügerische Transaktion nehmen und eine gültige Ersatztransaktion signieren, die die Münzen an den Angreifer sendet.
In einem gemeldeten Fall enthielt die bösartige Transaktion überhaupt keine Gebühr, wodurch sie als blockiert erschien. Angreifer erzeugten zudem Empfangsadressen, deren letzte vier Zeichen mit dem legitimen Ziel übereinstimmten, was den Austausch bei einer schnellen Überprüfung schwerer erkennbar machte.
Der erste Bericht, eingereicht am 11. Oktober, betraf eine Two-of-Three-Multisignatur-Wallet, die zwei Trezor-Hardwaregeräte verwendete. Der Nutzer hatte die legitime Zahlung auf beiden Geräten überprüft, bemerkte jedoch später eine andere ausgehende Transaktion im Verlauf der Wallet (der Nutzer meldete dabei keinen Verlust von Geldern).
Ein zweiter Nutzer berichtete am 18. Oktober, dass er die Gebühr für eine ersetzte Transaktion erhöht habe und dabei Geld verloren habe. Die Entwickler haben weder die gestohlene Summe bekanntgegeben noch die bösartigen Server identifiziert.
Als Reaktion darauf veröffentlichte Electrum am 24. Oktober die Version 4.8.3, die Signaturprüfungen für unbestätigte Transaktionen hinzufügte, die Münzen aus der eigenen Wallet des Nutzers ausgeben. Frühere Versionen bleiben jedoch gegenüber dem berichteten Angriff verwundbar, wenn sie mit bösartigen Servern verbunden sind.
coindesk.com