Am 9. April 2023 wurde SushiSwap aufgrund eines nicht verifizierten externen Parameters zum Ziel eines Exploits. Der Gesamtschaden beträgt etwa 3,3 Millionen US-Dollar.
Als führendes Protokoll auf Ethereum mit einer beträchtlichen Nutzerbasis sind solche Top-Protokolle immer noch anfällig dafür, bei Vertragsaktualisierungen ernsthafte neue Probleme einzuführen. Dies ist eine Erinnerung für die DeFi-Community, dass Sicherheit immer oberste Priorität haben sollte. Darüber hinaus wurde dieser Sicherheitsvorfall durch den Versuch eines Whitehat-Sicherheitsforschers, Gelder zu retten, ausgelöst, was zu erheblichen Debatten in der Community führte. Wir geben eine kurze Einführung in diesen Vorfall und heben ihn als einen der zehn wichtigsten Sicherheitsvorfälle des Jahres 2023 hervor.
Hintergrund
SushiSwap
SushiSwap, ein bekanntes DEX, startete einen Vampirangriff auf Uniswap und erzielte damit enorme Erfolge. Auf seinem Höhepunkt erreichte sein TVL 8 Milliarden US-Dollar, und er liegt immer noch bei rund 400 Millionen US-Dollar.
Genehmigung
Kurz gesagt: die Erlaubnis für einen Vertrag, einen bestimmten Token aus Ihrer Wallet abzurufen und zu übertragen.
Aus Bequemlichkeitsgründen fragen viele Verträge standardmäßig nach unbegrenzten Genehmigungen. Viele Nutzer, die sich um Sicherheitsrisiken sorgen, zahlen nur kleine Beträge in verschiedene Protokolle ein. Diese Nutzer erteilen jedoch den Protokollen eine Genehmigung für unbegrenzte Gelder. Wenn ein Protokoll kompromittiert wird, können alle genehmigten Token im Konto verloren gehen.
Die Schwachstelle
Nicht verifizierter externer Parameter
Die Funktion processRoute() des RouteProcessor2-Vertrags gewährt Benutzern die vollständige Kontrolle über den Aufrufablauf (Parameter route).
Und in uniswapV3SwapCallback() wird der Parameter from von safeTransferFrom() aus der vom Benutzer bereitgestellten route dekodiert.
Dadurch verloren Benutzer, die den RouteProcessor2-Vertrag genehmigt hatten, ihre Vermögenswerte.
Der Angriffsprozess
Dieser Vorfall beinhaltete mehrere Angriffstransaktionen, aber wir verwenden die erste Angriffstransaktion als Beispiel. Transaktion: 0x43ff7e01423044cfb501b4fe9ef1386725c0ddc117dadd6e6620cb68bdeaf4f9
- Der Angreifer rief die anfällige
processRoute()-Funktion desRouteProcessor2-Vertrags mit einem sorgfältig konstruierten langen Argumentrouteauf.
processRouteInternal()erstellt basierend auf der vom Benutzer bereitgestellten Route einenInputStream.
- Die Transaktion folgte der
routedes Angreifers bis zum Erreichen vonswapUniV3(). Beachten Sie, dass derpoolaus demstreamdekodiert wird, was bedeutet, dass der Angreifer kontrollierte, in welchempoolerswap()durchführte, und ihn alslastCalledPoolfestlegte.
- Dies rief den vom Angreifer bereitgestellten bösartigen Vertrag auf, der dann einfach bösartige
calldataübergab, um zurück zumuniswapV3SwapCallback()vonRouteProcessor2aufzurufen. uniswapV3SwapCallback()erfordert die Überprüfung vonmsg.sender, aber dalastCalledPoolbereits auf den bösartigen Vertrag gesetzt worden war, umging der Hacker die Überprüfung. Wichtig ist, dass der ParameterfromvonsafeTransferFrom()aus den vom Angreifer konstruiertencalldatadekodiert wurde.
- Die Vermögenswerte des Opfers wurden an den vom Angreifer bereitgestellten bösartigen Vertrag übertragen.
Kontroverse Whitehat-Rettung
Es ist erwähnenswert, dass ein Whitehat mit dem Benutzernamen @trust__90 dieses Problem identifizierte und versuchte, Gelder zu retten, aber dieser Rettungsversuch verursachte eine Katastrophe.
- Übertragung von Transaktionen über den Mempool anstelle eines privaten RPC.
- Versuch, nur 100 Ether statt aller gefährdeten Gelder zu retten.
Dies öffnete die Tür für MEV-Bots und andere Angreifer, mehrere Nachahmer-Transaktionen auszuführen und so die meisten Gelder abzuschöpfen. Nach diesen Ereignissen sah sich @trust__90 Gegenwind ausgesetzt und versuchte, seine Handlungen zu verteidigen.
People are saying all kinds of terrible things while being uninformed so allow me to share more details.
— Trust (@trust__90) April 10, 2023
I've initiated coordination privately with Immunefi officials 3 hours before the white-hack. 90 minutes later, I realized the asset is currently used by the frontend and…
BlockSec Rettung
Bei diesem Angriff haben wir auch 100 Ether gerettet und die Gelder an das Opfer, 0xsifu, zurückgegeben.
Bis heute haben wir über 20 reale Hacks erfolgreich vereitelt und Vermögenswerte im Wert von mehr als 14.000.000 US-Dollar gerettet.Hey, @0xsifu We have successfully blocked an attack transaction and rescued 100 Ether. Please get in touch with us.
— BlockSec (@BlockSecTeam) April 9, 2023
Sicherheitsempfehlungen
Upgrades sollten immer geprüft werden
Es ist eine Erinnerung für die DeFi-Community, dass Sicherheit immer oberste Priorität haben sollte. Audits sind keine Garantie für Sicherheit, aber die Abwesenheit eines Audits gewährleistet sicherlich keine Sicherheit.
Abhilfemaßnahmen für das Approve-Problem
Das Jahr 2023 brachte zahlreiche Vorfälle mit Genehmigungsangriffen hervor, und wir nutzen diese Gelegenheit, um die Bedeutung der Verwaltung von Genehmigungen erneut hervorzuheben. Eine Sicherheitspraxis ist, nur die notwendigen Beträge zu genehmigen oder, falls die Bequemlichkeit Priorität hat, einen etwas höheren Betrag als nötig zu genehmigen.
BlockSecs MetaSuites bietet eine bequeme Funktion zur Diagnose von Genehmigungen. Darüber hinaus können Tools wie Revoke Cash verwendet werden, um Genehmigungsstatus regelmäßig zu überprüfen.
Überwachungs- und automatische Reaktionsmechanismen einführen
Ethereum ist ein dunkler Wald, und jeder in der DeFi-Community ist verschiedenen Risiken und Herausforderungen ausgesetzt, selbst Sicherheitsexperten. Im Jahr 2023 haben wir Phalcon Security eingeführt, das branchenweit erste automatisierte Reaktionssystem, das nicht nur zur Überwachung von Angriffen, sondern auch zur aktiven Abwehr von Bedrohungen in Echtzeit entwickelt wurde. Phalcons kampferprobte Fähigkeiten haben ihre Wirksamkeit bewiesen, indem sie über 20 reale Hacks erfolgreich vereitelt und Vermögenswerte im Wert von mehr als 14.000.000 US-Dollar gerettet haben. Diese Innovation stellt sicher, dass alle Stakeholder ruhiger schlafen können, in dem Wissen, dass proaktive Maßnahmen zum Schutz ihrer Investitionen vorhanden sind.
Lesen Sie andere Artikel dieser Reihe:
- Einleitung: Zehn "großartige" Sicherheitsvorfälle im Jahr 2023
- #1: MEV-Bots durch Ausnutzung von Schwachstellen im Flashbots Relay ernten
- #2: Euler Finance Incident: Der größte Hack des Jahres 2023
- #3: KyberSwap Incident: Meisterhafte Ausnutzung von Rundungsfehlern mit äußerst subtilen Berechnungen
- #4: Curve Incident: Compilerfehler erzeugt fehlerhaften Bytecode aus unbedenklichem Quellcode
- #5: Platypus Finance: Drei Angriffe mit einem glücklichen Zufall überstanden
- #6: Hundred Finance Incident: Katalysator für die Welle von Präzisionsproblemen in anfälligen geforkten Protokollen
- #7: ParaSpace Incident: Ein Wettlauf gegen die Zeit, um den bisher kritischsten Angriff der Branche abzuwehren
- #9: MEV Bot 0xd61492: Vom Jäger zum Gejagten in einem genialen Exploit
- #10: ThirdWeb Incident: Inkompatibilität zwischen vertrauenswürdigen Modulen deckt Schwachstelle auf



