Bethropic

Address Poisoning: Die falsche Adresse steht schon in deinem Verlauf

hollow_almanac390 Aufrufe
🌐 Originally written in English· AI translationView original

Wie der Trick funktioniert

Eine Krypto-Adresse ist lang, und niemand liest sie vollständig. Eine Bitcoin-Adresse hat etwa vierzig Zeichen, eine Ethereum-Adresse zweiundvierzig, und die allgemeine Gewohnheit ist, die ersten vier oder fünf und die letzten vier oder fünf Zeichen zu prüfen und das als Übereinstimmung zu werten. Wallets und Explorer fördern das, indem sie Adressen als 0x1a2b…9f8e anzeigen. Der Betrug baut genau auf dieser Abkürzung auf.

Der Angreifer beobachtet die Chain nach einer Adresse, die regelmäßig mit einer anderen interagiert, etwa deine Wallet, die an eine Börse oder eine Casino-Einzahlungsadresse sendet. Dann generiert er millionenfach Wallets, bis eine erscheint, deren erste und letzte Zeichen mit dem echten Ziel übereinstimmen; das ist billig, weil das Erzeugen eines Schlüsselpaars fast nichts kostet und nur wenige Zeichen passen müssen. Von diesem Doppelgänger aus sendet er deiner Wallet einen winzigen Betrag oder einen Token-Transfer im Wert von null, was ihn nur eine Gebühr kostet und sonst nichts. Bei manchen Netzwerken zeichnet ein Token-Contract bereitwillig einen Transfer von null von deiner Adresse zu seiner auf, sodass der Eintrag sogar wie etwas aussehen kann, das du selbst gesendet hast.

Jetzt enthält dein Verlauf zwei Adressen, die in jeder Liste, die abkürzt, identisch aussehen. Die echte, aus deinen tatsächlichen Transfers, und die vergiftete, aus einem Transfer, den du nie bemerkt hast. Der Angreifer tut nichts weiter. Er wartet auf den Tag, an dem du in Eile bist, den Verlauf öffnest, den letzten Transfer zur Börse findest, die Adresse aus der Zeile kopierst, die zufällig die vergiftete ist, und sendest.

Die 1.155 Bitcoin

Der Fall, der den Betrug berühmt machte, ereignete sich Anfang Mai 2024. Eine Wallet mit Wrapped Bitcoin auf Ethereum sendete einen kleinen Testtransfer an eine neue Adresse und wenige Minuten später 1.155 WBTC, damals etwa siebzig Millionen Dollar wert, an das, was der Besitzer für dieselbe Adresse hielt. War es aber nicht. Der Test war an das echte Ziel gegangen; dazwischen war ein vergifteter Transfer im Verlauf aufgetaucht, von einer Adresse, die an beiden Enden übereinstimmte, und der große Transfer wurde aus dieser Zeile kopiert.

Was folgte, war ungewöhnlich. Das Opfer veröffentlichte eine On-Chain-Nachricht mit einem Kopfgeld, Blockchain-Analysten verfolgten die Gelder, während sie getauscht und bewegt wurden, und etwa zehn Tage später gab der Angreifer fast alles in Ether zurück. Dieses Ende ist die Ausnahme. Im gewöhnlichen Fall ist der Transfer einfach weg, weil eine Blockchain-Transaktion keine Rückabwicklung, keine Rückbuchung und keine Gegenpartei hat, die man fragen könnte. Tether hat gelegentlich Stablecoins eingefroren, die an bekannte Betrugsadressen gesendet wurden, was eine Eigenschaft des Contracts dieses einen Emittenten ist und nicht der Chain.

Der Testtransfer bewies, dass die Adresse richtig war. Der große Transfer wurde aus einer anderen Zeile kopiert. Was schiefging, in zwei Sätzen

Die Lektion ist nicht, dass das Opfer unvorsichtig war. Es tat das Empfohlene, zuerst einen kleinen Test. Der Betrug besiegte den Test, weil der Test eine Kopie der Adresse verifizierte und der echte Transfer eine andere verwendete. Jede Verteidigung, die die Adresse einmal prüft und danach der Zwischenablage, dem Verlauf oder der Autovervollständigung vertraut, hat dasselbe Loch.

Woher eine Adresse hier kommt

Auf dieser Seite ist die Einzahlungsadresse nichts, was du je selbst eingegeben hast, und nichts, was man in einem Verlauf sucht. Öffne die Wallet, wähle die Coin und das Netzwerk, und das Einzahlungsfenster fragt beim Wallet-Dienst die Adresse ab, die zu deinem Konto auf diesem Netzwerk gehört. Es zeigt die vollständige Zeichenfolge, einen Kopieren-Button, der genau diese Zeichenfolge in deine Zwischenablage schreibt, und einen QR-Code, der dieselbe Zeichenfolge für eine Handy-Wallet kodiert. Falls die Coin ein Destination Tag oder Memo braucht, wird das Tag in einem eigenen Feld mit eigenem Kopieren-Button angezeigt, und die Adresse allein reicht nicht aus; der Netzwerkartikel erklärt, warum.

ENGINE-VERIFIZIERTcomponent/common/popup/wallet/deposit.tsx: loadDepositAddr fordert die Adresse für die gewählte Coin und das Netzwerk an und speichert address, tag und coinConfirmations aus der Antwort (eine veraltete Antwort wird verworfen, falls sich Coin oder Netzwerk während der Wartezeit geändert haben); copyAddr schreibt depositAddr mit navigator.clipboard.writeText in die Zwischenablage und zeigt einen Toast; copyTag macht dasselbe für das Tag; der QR-Code wird aus demselben depositAddr-Wert gerendert. Die Adresse wird abgerufen, nie eingegeben oder aus dem Verlauf erinnert.

Das gibt dir eine einzige verlässliche Quelle für das Empfangsende: das Fenster, das sie abgerufen hat. Das Sendeende ist deine eigene Wallet, und dort muss sich die Gewohnheit ändern, weil die Seite nicht sehen kann, was du dort einfügst.

Die Regeln

  • Kopiere niemals eine Empfangsadresse aus einem Transaktionsverlauf. Weder deinem eigenen noch dem eines Explorers. Kopiere sie von der Stelle, die sie ausgestellt hat: dem Einzahlungsfenster hier, dem Empfangsbildschirm deiner eigenen Wallet, der Adresse, die dir die Gegenpartei über einen Kanal geschickt hat, dem du vertraust.
  • Prüfe die Mitte, nicht nur die Enden. Vergiftete Adressen sind so gebaut, dass sie mit den ersten und letzten Zeichen übereinstimmen. Lies auch einen Block von Zeichen aus der Mitte der Zeichenfolge, oder vergleiche das Ganze nebeneinander.
  • Nutze eine Whitelist, falls deine Wallet oder Börse eine hat. Eine gespeicherte Adresse, die einmal verifiziert wurde und nur mit Verzögerung geändert werden kann, besiegt den Zwischenablage-Trick vollständig.
  • Behandle unerwartete winzige oder Null-Wert-Transfers als Warnsignal, nicht als Geschenk. Sie sind das Gift, das gepflanzt wird. Interagiere nicht damit und kopiere nichts aus diesen Zeilen.
  • Sende einen kleinen Test, und sende dann den echten Betrag aus derselben Quelle der Adresse, nicht aus der Verlaufszeile des Tests. Der Test beweist die Adresse, die du kopiert hast; er segnet nicht das, was du als Nächstes kopierst.
  • Denk daran, was eine Bestätigung ist. Sobald der Transfer bestätigt ist, ist er endgültig, und kein Support auf beiden Seiten kann ihn zurückholen.

Dieser Artikel beschreibt ein Betrugsmuster und den Einzahlungsablauf der Seite. Es ist keine Garantie: Die Seite kann die Adresse verifizieren, die sie dir anzeigt, nicht die, die du in deine eigene Wallet einfügst. Wenn du Gelder an eine falsche Adresse gesendet hast, kontaktiere den Support mit dem Transaktions-Hash; eine Wiederherstellung ist selten möglich, aber der Nachweis hilft.

FAQ

Was ist Address Poisoning?

Ein Betrug, bei dem ein Angreifer eine Adresse generiert, die am Anfang und Ende mit deiner oder einer häufig genutzten Zieladresse übereinstimmt, und dann eine winzige oder wertlose Überweisung sendet, damit sie in deinem Verlauf erscheint. Wenn du später die Adresse aus dieser Zeile kopierst, gehen deine Gelder an den Angreifer.

Wie hat jemand dadurch 1.155 Bitcoin verloren?

Im Mai 2024 sendete eine Wallet einen kleinen Test an die richtige Adresse und kopierte dann für die große Überweisung die Adresse aus einer vergifteten Verlaufszeile, die an beiden Enden übereinstimmte. Die 1.155 WBTC gingen an den Angreifer; sie wurden etwa zehn Tage später nach einer Belohnung und öffentlichem Tracing zurückgegeben, was selten vorkommt.

Kann eine falsche Überweisung rückgängig gemacht werden?

Nein. Eine bestätigte Blockchain-Transaktion kann nicht rückgängig gemacht werden. Ein Stablecoin-Emittent kann Tokens an einer bekannten Betrugsadresse manchmal einfrieren, aber das ist eine Eigenschaft des Vertrags eines einzelnen Emittenten, nicht der Chain.

Wo sollte ich die Einzahlungsadresse auf dieser Seite kopieren?

Aus dem Einzahlungsfenster, das die Adresse für dein Konto, deine Coin und dein Netzwerk vom Wallet-Dienst abruft und eine Kopieren-Schaltfläche sowie einen QR-Code für genau diese Zeichenfolge anzeigt. Wenn der Coin ein Tag benötigt, kopiere es ebenfalls aus seinem eigenen Feld.

Was ist die einfachste Verteidigung?

Eine Regel: Kopiere niemals eine Empfangsadresse aus einem Transaktionsverlauf. Kopiere sie von der Stelle, die sie ausgegeben hat, überprüfe Zeichen auch in der Mitte und nicht nur an den Enden, und nutze eine Whitelist, wo eine existiert.

QUELLEN & REFERENZEN

  • CoinDesk, Mai 2024 — Berichterstattung über den Verlust von 1.155 WBTC durch Address Poisoning und die anschließende Rückgabe der Gelder
  • Etherscan Knowledge Base — „Address Poisoning“ und Warnungen zu Zero-Value-Token-Überweisungen
  • Betkyo Client-Quellcode: component/common/popup/wallet/deposit.tsx (Adressabruf, Kopieren, Tag und QR-Code)
Address Poisoning: Die falsche Adresse steht schon in deinem Verlauf

Kommentare (1)

  • northcompass78

    Damn, so they're basically banking on people being lazy with copy-pasting? That's a solid social engineering attack.