Flexibler Aggregator für 2 Millionen US-Dollar über die „SelfSwap“-Funktion gehackt

Der Multichain-Börsenaggregator Dexible wurde von einem Exploit getroffen, wodurch Kryptowährungen im Wert von 2 Millionen US-Dollar verloren gingen, wie aus einem Post-Mortem-Bericht vom 17. Februar hervorgeht, der vom Team auf dem offiziellen Discord-Server des Projekts veröffentlicht wurde.

Ab dem 6. Februar um 35:17 Uhr UTC zeigt das Dexible-Frontend eine Popup-Warnung über den Hack, wenn Benutzer zu ihm navigieren.

Um 6:17 Uhr UTC berichtete das Team, dass es „einen potenziellen Hack auf Dexible v2-Verträge“ entdeckt habe und das Problem untersuche. Ungefähr neun Stunden später veröffentlichte es eine zweite Erklärung, dass es nun wisse, dass „2,047,635.17 $ von 17 Händleradressen ausgebeutet wurden. 4 im Mainnet, 13 im Arbitrum.“

Ein Post-Mortem-Bericht wurde um 4:00 Uhr UTC als PDF-Datei herausgegeben und auf Discord veröffentlicht, und das Team sagte, es arbeite „aktiv an einem Sanierungsplan“.

In dem Bericht gibt das Team an, dass es bemerkt hatte, dass etwas nicht stimmte, als einer seiner Gründer aus damals unbekannten Gründen Krypto im Wert von 50,000 Dollar aus seiner Brieftasche entfernt hatte. Nach einer Untersuchung stellte das Team fest, dass ein Angreifer die SelfSwap-Funktion der App verwendet hatte, um Krypto im Wert von über 2 Millionen US-Dollar von Benutzern zu verschieben, die die App zuvor autorisiert hatten, ihre Token zu verschieben.

Die SelfSwap-Funktion ermöglichte es Benutzern, die Adresse eines Routers und damit verbundene Anrufdaten anzugeben, um einen Token gegen einen anderen auszutauschen. Es war jedoch keine Liste mit vorab genehmigten Routern in den Code geschrieben. Der Angreifer nutzte diese Funktion also, um eine Transaktion von Dexible zu jedem Token-Vertrag zu leiten und die Token der Benutzer aus ihren Wallets in den eigenen Smart Contract des Angreifers zu verschieben. Da diese böswilligen Transaktionen von Dexible stammten, das Benutzer bereits autorisiert hatten, ihre Token auszugeben, blockierten die Token-Verträge die Transaktionen nicht.

Related: NFT-Influencer wird Opfer eines Cyberangriffs und verliert $300+ CryptoPunks

Nachdem der Angreifer die Token in seinen eigenen Smart Contract aufgenommen hatte, zog er die Coins über Tornado Cash in unbekannte BNB (BNB) Geldbörsen.

Dexible hat seine Verträge pausiert und die Benutzer aufgefordert, Token-Autorisierungen für sie zu widerrufen.

Die gängige Praxis, Token-Genehmigungen für große Mengen zu autorisieren, hat manchmal zu Verlusten für Krypto-Benutzer aufgrund von fehlerhaften oder völlig böswilligen Verträgen geführt, was einige Experten dazu veranlasste, Benutzer davor zu warnen Genehmigungen regelmäßig widerrufen. Die Frontends für die meisten Web3-Apps erlauben es Benutzern nicht direkt, die Anzahl der genehmigten Token zu bearbeiten, sodass Benutzer oft das gesamte Guthaben ihrer Token verlieren, wenn sich herausstellt, dass eine App eine Sicherheitslücke aufweist. MetaMask und andere Wallets haben versucht, dieses Problem zu beheben, indem sie Benutzern erlaubten, Token-Genehmigungen im Wallet-Bestätigungsschritt zu bearbeiten, aber viele Krypto-Benutzer sind sich des Risikos, diese Funktion nicht zu verwenden, immer noch nicht bewusst.