Am 17. Januar 2024 wurde Socket Protocol laut Überwachungsdaten der Sicherheitsrisikoplattform EagleEye von Beosin Opfer eines Call-Injection-Angriffs, der zu einem erheblichen Diebstahl von Geldern autorisierter Benutzer führte. Derzeit hat der Angreifer die gestohlenen Gelder in ETH umgewandelt und in seiner Adresse gespeichert.

Nach dem Angriff bestätigte Socket in einer offiziellen Bestätigung die Sicherheitsverletzung und setzte die betroffenen Verträge umgehend aus.

Gleichzeitig veröffentlichte MetaMask auf der X-Plattform einen Beitrag, in dem es hieß, dass MetaMask Bridge-Benutzer nicht von der Socket-Sicherheitslücke betroffen seien. MetaMask betonte ihre einzigartige Architektur bei der Entwicklung von Cross-Chain-Bridge-Verträgen, um solche Angriffe abzuschwächen.

Schwachstellenanalyse

Die Hauptursache für diesen Vorfall ist ein unsicherer Aufruf in der performAction-Funktion des Socket-Vertrags. Trotz fehlender Prüfungen der Parameter fromToken und toToken beschränkt die Funktion Token-Adressen effektiv auf WETH und schließt andere ERC20-Adressen aus, wodurch die Fälschung dieser Parameter indirekt verhindert wird.

Ein kritischer Fehler der Funktion liegt jedoch in den fehlenden Einschränkungen des Betragsparameters. Wenn der Anrufer einen Betrag von 0 angibt, wird die Prüfbedingung der Funktion immer erfüllt, ohne dass die Einzahlungs- und Auszahlungsfunktionen von WETH aufgerufen werden müssen. Dies ermöglicht das Einschleusen abnormaler Daten durch den Anruf, was zur Ausnutzung der Sicherheitslücke führt.

Angriffsprozess

Um die Schwachstelle zu verstehen, wollen wir untersuchen, wie der Angreifer den Angriff ausgeführt hat:

  1. Erstellung eines böswilligen Vertrags:

  • Um den Angriff einzuleiten, hat der Angreifer zunächst einen bösartigen Vertrag erstellt.

    2. Abfragen und Berechtigungsprüfungen:

    • Anschließend führte der Angreifer mehrere Abfragen der WETH-Guthaben von verschiedenen Adressen aus durch.

    • Darüber hinaus überprüfte der Angreifer die autorisierte Menge für den Socket: Gateway-Vertrag, der jeder Adresse zugeordnet ist.

    • Anschließend rief der Angreifer den Socket: Gateway-Vertrag auf.

      3. PerformAction-Funktionsaufruf mit Transferfrom-Signatur:

      • Beim Aufruf der Funktion „performAction“ hat der Angreifer den Parameter „swapExtraData“ als 0x23b872dd angegeben…

      • Diese Daten entsprechen der Funktionssignatur von „transferfrom“ und weisen auf einen direkten Aufruf der „transferfrom“-Funktion des Tokens hin.

4. PerformAction-Funktionsaufruf mit Transferfrom-Signatur:

  • Beim Aufruf der Funktion „performAction“ hat der Angreifer den Parameter „swapExtraData“ als 0x23b872dd angegeben…

  • Diese Daten entsprechen der Funktionssignatur von „transferfrom“ und weisen auf einen direkten Aufruf der „transferfrom“-Funktion des Tokens hin.

5. WETH-Überweisung durch den Angreifer:

  • Durch zahlreiche Operationen übertrug der Angreifer WETH von unzähligen Benutzern an seine eigene Adresse.

6. Übertragung autorisierter USDT auf ähnliche Weise:

  • Der Angreifer verwendete eine ähnliche Methode, um für den Vertrag autorisierte USDT an seine eigene Adresse zu überweisen.

7. Einbindung anderer Token:

  • Der Angriff wurde auf andere Token wie WBTC, DAI und MATIC ausgeweitet.

Zum Zeitpunkt des Schreibens wurden etwa 3,3 Millionen US-Dollar gestohlen, wobei ein Teil der Gelder gegen ETH getauscht und in der Adresse des Hackers gespeichert wurden. Beosin Trace überwacht weiterhin die gestohlenen Gelder.

Socket gibt in einem Update zur X-Plattform an, dass der Betrieb wiederhergestellt wurde, betroffene Verträge ausgesetzt wurden und die Situation vollständig unter Kontrolle ist. Die Interoperabilität mit Bungee-Bridging und den meisten Front-End-Bridgings der Partner wurde wiederhergestellt. Eine detaillierte Analyse des Ereignisses und die nächsten Schritte werden in Kürze bekannt gegeben.

Socket gibt eine Erinnerung heraus: „Seien Sie vorsichtig bei gefälschten Socket-Konten, die in Ihren Antworten Phishing-Versuche unternehmen. Bitte überprüfen Sie das Konto sorgfältig, bevor Sie etwas unternehmen.“

Dieser Vorfall dient als Erinnerung daran, der Sicherheit Priorität einzuräumen. Zu Beginn des Jahres 2024 haben sich bereits zahlreiche Sicherheitsvorfälle ereignet. Beosin, ein weltweit führendes Blockchain-Sicherheitsunternehmen, bietet eine umfassende Palette an Blockchain-Sicherheitsprodukten und -diensten an, die Code-Sicherheitsprüfungen vor Projektstart, Echtzeitüberwachung von Sicherheitsrisiken, Warnungen und Prävention, Wiederherstellung von Kryptowährungsvermögen, Sicherheitskonformität KYT/AML und mehr umfassen. Wir setzen uns für die sichere Entwicklung des Web3-Ökosystems ein. Bei Bedarf können Sie uns gerne kontaktieren.

Kontakt

Wenn Sie Blockchain-Sicherheitsdienste benötigen, können Sie uns gerne kontaktieren:

Offizielle Website Beosin EagleEye Twitter Telegram Linkedin