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 anfällig für die Einführung ernster neuer Probleme während Vertragsaktualisierungen. Dies ist eine Erinnerung für die DeFi-Community, dass Sicherheit stets oberste Priorität haben sollte. Darüber hinaus wurde dieser Sicherheitsvorfall durch den Versuch eines Whitehat-Sicherheitsexperten zur Rettung ausgelöst, was zu erheblichen Debatten innerhalb der Community führte. Wir bieten eine prägnante 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 hält sich immer noch bei rund 400 Millionen US-Dollar.
Genehmigung
Kurz gesagt: Erlaubnis für einen Vertrag, auf einen bestimmten Token in Ihrer Wallet zuzugreifen und diesen zu übertragen.
Aus Bequemlichkeit fragen viele Verträge standardmäßig nach einer unbegrenzten Genehmigung. Viele Benutzer, die sich Sorgen über Sicherheitsrisiken machen, hinterlegen nur kleine Beträge in verschiedenen Protokollen. Diese Benutzer erteilen den Protokollen jedoch eine Genehmigung für unbegrenzte Beträge. Wenn ein Protokoll kompromittiert wird, könnten alle genehmigten Token im Konto verloren gehen.
Die Schwachstelle
Nicht verifizierter externer Parameter
Die processRoute()-Funktion des RouteProcessor2-Vertrags gibt den 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.
Infolgedessen verloren Benutzer, die dem 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 des RouteProcessor2-Vertrags mit einem sorgfältig konstruierten langen Argumentrouteauf.
processRouteInternal()erstellt einenInputStreambasierend auf der vom Benutzer bereitgestellten Route.
- 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 diesen alslastCalledPoolfestlegte.
- Dies rief den vom Angreifer bereitgestellten bösartigen Vertrag auf, der dann einfach bösartige
calldataübergab, um zurück an dieuniswapV3SwapCallback()-Funktion des RouteProcessor2 zu rufen. 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 werden an den bösartigen Vertrag übertragen, der vom Angreifer bereitgestellt wurde.
Kontroverse Whitehat-Rettungsaktion
Erwähnenswert ist, dass ein Whitehat mit dem Benutzernamen @trust__90 dieses Problem identifizierte und versuchte, Gelder zu retten, dieser Rettungsversuch jedoch eine Katastrophe auslöste.
- Verwendung des Mempools zur Übertragung von Transaktionen anstelle eines privaten RPC.
- Versuch, nur 100 Ether zu retten, anstatt alle gefährdeten Gelder.
Dies öffnete MEV-Bots und anderen Angreifern die Tür, mehrere Nachahmungstransaktionen auszuführen, wodurch die meisten Gelder effektiv abgezogen wurden. Nach diesen Ereignissen sah sich @trust__90 Gegenwind gegenüber 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 retteten wir ebenfalls 100 Ether und gaben die Gelder an das Opfer, 0xsifu, zurück.
Bis heute haben wir über 20 reale Hacks erfolgreich abgewehrt und Vermögenswerte im Wert von über 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 auditiert werden
Dies ist eine Erinnerung für die DeFi-Community, dass Sicherheit stets oberste Priorität haben sollte. Audits sind keine Garantie für Sicherheit, aber das Fehlen eines Audits gewährleistet sicherlich keine Sicherheit.
Abhilfemaßnahmen für das Genehmigungsproblem
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 besteht darin, nur die notwendigen Beträge zu genehmigen, oder wenn Bequemlichkeit Priorität hat, einen etwas höheren Betrag als benötigt zu genehmigen.
BlockSecs MetaSuites bietet eine praktische Funktion zur Diagnose von Genehmigungen. Darüber hinaus können Tools wie Revoke Cash verwendet werden, um regelmäßig den Genehmigungsstatus 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 eingeführt, das erste automatische Reaktionssystem der Branche, das nicht nur zur Überwachung von Angriffen entwickelt wurde, sondern auch zur aktiven Blockierung von Bedrohungen in Echtzeit. Phalcons kampferprobte Fähigkeiten haben sich als wirksam erwiesen und über 20 reale Hacks erfolgreich abgewehrt und Vermögenswerte im Wert von über 14.000.000 US-Dollar gerettet. 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 weitere Artikel dieser Serie:
- Lead-In: Top Ten "Awesome" Security Incidents in 2023
- #1: Harvesting MEV Bots by Exploiting Vulnerabilities in Flashbots Relay
- #2: Euler Finance Incident: The Largest Hack of 2023
- #3: KyberSwap Incident: Masterful Exploitation of Rounding Errors with Exceedingly Subtle Calculations
- #4: Curve Incident: Compiler Error Produces Faulty Bytecode from Innocent Source Code
- #5: Platypus Finance: Surviving Three Attacks with a Stroke of Luck
- #6: Hundred Finance Incident: Catalyzing the Wave of Precision-Related Exploits in Vulnerable Forked Protocols
- #7: ParaSpace Incident: A Race Against Time to Thwart the Industry's Most Critical Attack Yet
- #9: MEV Bot 0xd61492: From Predator to Prey in an Ingenious Exploit
- #10: ThirdWeb Incident: Incompatibility Between Trusted Modules Exposes Vulnerability



