#8: SushiSwap-Zwischenfall: Tollpatschiger Rettungsversuch führt zu Nachahmer-Angriffen

Am 9. April 2023 wurde SushiSwap wegen eines nicht verifizierten externen Parameters gehackt. Der Verlust beträgt ca. 3,3 Mio. US-Dollar.

#8: SushiSwap-Zwischenfall: Tollpatschiger Rettungsversuch führt zu Nachahmer-Angriffen

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

  1. Der Angreifer rief die anfällige processRoute()-Funktion des RouteProcessor2-Vertrags mit einem sorgfältig konstruierten langen Argument route auf.
  2. processRouteInternal() erstellt einen InputStream basierend auf der vom Benutzer bereitgestellten Route.
  3. Die Transaktion folgte der route des Angreifers bis zum Erreichen von swapUniV3(). Beachten Sie, dass der pool aus dem stream dekodiert wird, was bedeutet, dass der Angreifer kontrollierte, in welchem pool er swap() durchführte, und diesen als lastCalledPool festlegte.
  4. Dies rief den vom Angreifer bereitgestellten bösartigen Vertrag auf, der dann einfach bösartige calldata übergab, um zurück an die uniswapV3SwapCallback()-Funktion des RouteProcessor2 zu rufen.
  5. uniswapV3SwapCallback() erfordert die Überprüfung von msg.sender, aber da lastCalledPool bereits auf den bösartigen Vertrag gesetzt worden war, umging der Hacker die Überprüfung. Wichtig ist, dass der Parameter from von safeTransferFrom() aus den vom Angreifer konstruierten calldata dekodiert wurde.
  6. 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.

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.

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:

Sign up for the latest updates