Electrum 4.8.3 behebt böswilligen Server-Angriff, der Bitcoin-Fee-Bumps als Waffe einsetzte
Wichtige Erkenntnisse
- •Electrum Version 4.8.3, am 23. Oktober getaggt und begleitet von einem öffentlichen Sicherheitshinweis am 24. Oktober, behebt eine Schwachstelle, die bösartigen Servern erlaubte, gefälschte ausgehende Transaktionen mit ungültigen Signaturen im Wallet-Verlauf eines Nutzers anzuzeigen.
- •Der Angriff missbrauchte Replace-by-Fee: Wenn ein Nutzer die Gebühr einer eingeschleusten Nullgebühren-Transaktion erhöhte, autorisierte die neue Signatur die veränderte Zahlung an eine von Angreifern kontrollierte Adresse.
- •Zwei Nutzer meldeten Vorfälle; einer, der am 18. Oktober die Gebühr einer gefälschten Transaktion erhöhte, verlor einen nicht offengelegten Betrag.
- •Die Behebung verifiziert Signaturen bei unbestätigten Transaktionen, die Münzen von eigenen Adressen der Wallet ausgeben, während eingehende unbestätigte Transaktionen unvalidiert bleiben, da Electrum keine vollständige Konsens-Engine besitzt.
- •Nutzer von Versionen vor 4.8.3 sollten aktualisieren oder vor der Genehmigung jeder Transaktion, einschließlich Fee-Bumps, Ausgabeadressen und Beträge auf dem Signierbildschirm manuell bestätigen.

Eine schwerwiegende Schwachstelle in der Electrum-Bitcoin-Wallet wurde in Version 4.8.3 behoben, nachdem Angreifer einen Weg gefunden hatten, Bitcoins Replace-by-Fee-Mechanismus in eine Route zum Diebstahl signierter Transaktionen zu verwandeln. Der Electrum-Entwickler SomberNight offenlegte das Problem in einem Sicherheitshinweis vom 24. Oktober und erklärte, dass einige Server den Angriff in der Praxis durchführten. Zwei Nutzer meldeten Vorfälle; einer verlor Gelder.
Der Angriff benötigt die Signatur des Eigentümers
Ein bösartiger Server kann das Bitcoin niemandes allein ausgeben. Die von ihm eingeschleuste gefälschte Transaktion trägt ungültige Signaturen, sodass das Netzwerk sie zurückweisen würde. Was der Angreifer benötigt, ist eine gültige Signatur des Wallet-Eigentümers, und die Falle ist darauf ausgelegt, eine über eine Gebührenerhöhung zu erhalten.
Replace-by-Fee (RBF) beschleunigt eine ausstehende Bitcoin-Zahlung, indem sie durch eine neue Version mit höherer Gebühr ersetzt wird. Für den Nutzer fühlt es sich wie das Anpassen einer Einstellung an. Für das Netzwerk ist es eine völlig neue Transaktion, und deren Signierung autorisiert jedes Ziel und jeden Betrag darin. Wenn die Transaktion, die „gebumped" wird, bereits verändert wurde, genehmigt die neue Signatur die veränderte Version.
Der Köder ist eine Zahlung, die festgehangen erscheint. In dem Fall, in dem ein Nutzer Geld verlor, erstellte der Server seine Fälschung mit einer Gebühr von null, was Entwicklern zufolge darauf abzielte, einen Fee-Bump auszulösen. Eine Transaktion ohne Gebühr bleibt unbestätigt, und die Erhöhung der Gebühr ist die übliche Reaktion.
Wie ein bösartiger Server die Falle stellte
Electrum ist eine Light Wallet: Sie lädt nicht die gesamte Blockchain herunter undifiziert sie nicht selbst. Laut seiner Dokumentation verbindet sich die Wallet typischerweise mit etwa zehn Servern, verlässt sich aber für Transaktionsverlauf und Broadcasting auf einen Hauptserver. Die anderen liefern hauptsächlich Blockheader und Gebührenschätzungen. Der Sicherheitshinweis stellt fest, dass das Vertrauen in den Hauptserver bei unbestätigten Transaktionen Teil des dokumentierten Designs von Electrum ist. Neu ist eine praktische Methode, dieses Vertrauen in Diebstahl zu verwandeln. Dieser Kompromiss ist der Kontext des Angriffs: Die Auslagerung der Verifikation macht eine Light Wallet leicht, bedeutet aber auch, dass der Verlauf, den ein Nutzer sieht, nur so zuverlässig ist wie der Hauptserver, der ihn liefert — und vor 4.8.3 konnte ein ausgehender Eintrag mit ungültigen Signaturen in diesem Verlauf erscheinen, als wäre er echt.
Bis zum Signierschritt ist nichts verloren. Eine gültige digitale Signatur kann die falsche Zahlung autorisieren, wenn die zum Signieren vorgelegte Transaktion verändert wurde — und genau das liefert der Fee-Bump.
Was die beiden Opfer sahen
Der erste Bericht kam am 11. Oktober vom Nutzer dannydeezy. Die Zahlung wurde von einer 2-von-3-Multisignatur-Wallet gesendet, die durch zwei Trezor-Hardwaregeräte gesichert war, und kombinierte 31 Eingaben in eine Ausgabe. Der Nutzer prüfte das Ziel auf beiden Trezors und sendete dann. Electrums Verlauf zeigte anschließend den gesamten Betrag, unbestätigt, zu einer unbekannten Adresse unterwegs, bevor der Eintrag zu „Local" wechselte. Nichts erreichte jemals den Mempool.
Die Fälschung war sorgfältig konstruiert. Sie verwendete dieselben Eingaben und kopierte die Signaturdaten der echten Transaktion Byte für Byte, sodass alle 62 Signaturen mit der echten Zahlung übereinstimmten und keine mit der Fälschung. Sie sendete fast alles an eine Adresse, die auf „GyQ3" endete — dieselben vier Zeichen wie das echte Ziel — und gab einen kleinen Betrag an eine der eigenen Adressen der Wallet zurück, imitiert als normales Wechselgeld. Die Gebühr war nahezu null. Da der Nutzer nicht erneut signierte, blieb die echte Transaktion gültig und ungesendet, und es ging kein Geld verloren.
Die Entwickler identifizierten die Fee-Bump-Route erst, als ein zweiter Nutzer, Raju-K12, am 18. Oktober meldete, dass er Geld verloren hatte, nachdem er die Gebühr einer gefälschten Transaktion erhöht hatte. Der Betrag wurde nicht offengelegt.
-
- Okt: Erster privater Bericht, ohne den Fee-Bump-Aspekt
-
- Okt: Zweiter Bericht, nach einem Verlust durch einen Fee-Bump
-
- Okt: Version 4.8.3 getaggt mit der Behebung
-
- Okt: Binärdateien veröffentlicht und Sicherheitshinweis publiziert
Was 4.8.3 behebt — und was nicht
Die Behebung veranlasst Electrum, die Signaturen jeder unbestätigten Transaktion, die Münzen von eigenen Adressen der Wallet ausgibt, zu verifizieren, bevor sie zum Verlauf hinzugefügt wird. Eine gefälschte ausgehende Zahlung mit ungültigen Signaturen wird nun abgelehnt statt angezeigt, was diese Angrroute schließt.
Die Prüfung ist bewusst schmal gehalten. Eingehende unbestätigte Transaktionen werden weiterhin nicht validiert, und der Sicherheitshinweis erklärt warum: Electrum besitzt keine vollständige Konsens-Engine, und die Prüfung fremder Eingaben würde bedeuten, deren unbestätigte übergeordnete Transaktionen zurückzuverfolgen, bis zu bereits geminten. Bestätigte Transaktionen wurden bereits durch vereinfachte Zahlungsversicherung (SPV) verifiziert, die sie gegen Blockheader prüft.
Nutzer, die sich nur mit Servern verbinden, denen sie vertrauen — etwa ihren eigenen — waren nicht betroffen. Diese Ausnahme gilt nicht für den öffentlichen Server, den eine Wallet zufällig als Hauptverbindung wählt.
Bevor Sie erneut etwas signieren
- Auf 4.8.3 aktualisieren. Laden Sie sie von Electrums offizieller Website herunter und verifizieren Sie die Signatur der Datei gemäß den dortigen Anweisungen.
- Die vollständige Adresse prüfen. Vergleichen Sie sie mit der ursprünglichen Rechnung oder Zahlungsanforderung, nicht mit dem Wallet-Verlauf, den der Angreifer kontrolliert.
- Auf dem Gerätebildschirm bestätigen. Prüfen Sie Beträge und Gebühren bei jeder neuen Signatur. Trezors RBF-Anleitung und Sendeanleitung weisen beide Nutzer an, die aktualisierten Details auf dem Gerät zu überprüfen.
- Festgehangen oder verändert? Stopp. Schlagen Sie die ursprüngliche Transaktions-ID in einem unabhängigen Block-Explorer nach, bevor Sie irgendetwas bumpen. Im ersten Bericht hatte die echte Zahlung das Netzwerk nie erreicht.
Wer noch nicht aktualisieren kann, findet im Sicherheitshinweis einen Workaround: Prüfen Sie bei jeder Signierung einer Transaktion — Fee-Bump oder nicht —, ob die Ausgabeadressen und Beträge genau den Erwartungen entsprechen. Versionen vor 4.8.3 führen die neue Signaturprüfung nicht durch, sodass für Nutzer älterer Versionen diese manuelle Verifikation der einzige Schutz gegen diese Route ist. Der Patch schließt diese spezifische Route, aber Electrum verlässt sich weiterhin auf seinen Hauptserver für unbestätigte Daten, sodass der Bildschirm, auf dem eine Zahlung genehmigt wird, die letzte Kontrolle bleibt.
Dieser Artikel dient ausschließlich Informationszwecken und stellt keine Finanz- oder Anlageberatung dar.
Quelle: Coindoo