
Quelle: Certik Chinese Community
16. Januar 2024,Socket Tech wurde angegriffen und verloren etwa 3,3 Millionen US -DollarWesenDer Angreifer verwendet einen SockelvertragSicherheitsanfälligkeit in der Datenüberprüfungs -VerbindungDie Mittel des Benutzers, die den autorisierten Vertrag durch böswillige Dateneingaben gestohlen haben.Dieser Angriff brachte Verluste auf 230 Adressen, und der größte Verlust von Einzeladressen betrug etwa 656.000 US -Dollar.
Hintergrundeinführung
Socket ist ein interoperables Protokoll, das Cross -Chain -Sicherheit, effiziente Daten und Vermögensübertragung bedient.Der Socket Gateway -Vertrag ist der Zugangspunkt für die gesamte Interaktion mit der Socket -Liquiditätsschicht. .
Drei Tage vor dem Hacking -Angriff führte der Socket -Vertragsadministrator den Befehl addroute aus und fügte dem System eine neue Route hinzu.Der Zweck des Hinzufügens von Routen besteht darin, die Funktion des Socket -Gateways zu erweitern.Aber ich habe versehentlich eine Schlüssellücke eingeführtWesen
Die folgende Abbildung ist ein Aufzeichnung über das Hinzufügen von Routing über den Vertragsadministrator:
Gliederung
1. Um 15:03 Uhr am 16. Januar, Peking -Zeit, wurde die Brieftasche des Angreifers auf die vom Angriff verwendeten Mittel übertragen.
2.Diese Mittel werden verwendet, um zwei Verträge zu erstellen und auszuführen, um die Lücken von Socket zu verwendenWesenDer erste Vertrag richtet sich an den USDC in der Adresse der Socketgateway -Adresse (der Screenshot lautet wie folgt).127 Opfer wurden mit etwa 2,5 Millionen US -Dollar getäuscht.
3. Als nächstes zielt der zweite Vertrag auf Weth, USDT, WBTC, Dai und Matic in der Adresse des Opfers.Infolgedessen verloren die anderen 104 Opfer das Vermögen: Vermögenswerte:
-42.48 Weth
-347,005.65 USDT
-2.89 WBTC
-13,821.01 Dai
-165,356,99 Matic
4. Der Angreifer wandelt USDC und USDT in ETH um.
Verwundbarkeit
Die vom Angreifer verwendeten Schwachstellen existieren in der neu hinzugefügten Routing -Adressadress -Routeaddress.
Die ursprüngliche Funktion der Performaktionsfunktion in dieser Adresse besteht darin, die Funktion des Verpackens und Auspackens zu unterstützen.
Jedoch,In dieser Funktion steckt eine Schlüssellücke: Rufen Sie unter der Situation ohne Überprüfung externe Daten direkt über SWAPEXTRADATA in .call () und direkt auf undDies bedeutet, dass ein Angreifer jede böswillige Funktion ausführen kannWesen
Bei diesem Vorfall machte der Angreifer einen böswilligen Swapextradata -Eingang, um die Übertragung von Funktionen auszulösen.Der böswillige Anruf nutzte die Genehmigung des Benutzers des Socketgateway -Vertrags durch den Benutzer und hat ihnen Mittel gestohlen.
Obwohl der Vertrag sicherstellt, dass sich der Benutzerbetrag korrekt ändert, nachdem die Informationen aufgerufen wurden, indem die Guthabenprüfung geprüft wird, um sicherzustellen, dass sich die Benutzerbilanz ändert. Die Funktion wird jedoch nicht berücksichtigt, dass der Angreifer den Betrag auf 0 festlegt.
Stellen Sie den Angriffsprozess wieder her
1. Verwenden Sie einen Angriffsvertrag, um 0x00000196 () im Socket Gateway -Vertrag anzurufen.
2.Fallback () verwendet die sechs -bis -Make -Signatur 196, um Lücken aufzurufen.
3. In der folgenden Screenshot können wir den vom Angreifer verwendeten falschen Eingang sehen.
4. Als nächstes rufen Sie WrapedTokenWapperImpl.Performaction () für den Swap an.
5. Ohne Überprüfung wird der falsche Swapextradata von FromToken (Weth) akzeptiert und ausgeführt.
6. Der Angreifer führt den obigen Vorgang wiederholt aus, bis das Vermögen des Opfers erschöpft ist.Nachdem die böswillige Transaktion aufgetaucht war, bezeichnete die Steckdose schnell als Disableroute, wodurch das Routing der zuvor anfälligen Anfälligkeit blockiert und die größere Angriffsgruppe verhindert wird.
7. Am 23. Januar kündigte Socket an, 1032 ETHs geborgen zu haben, und kündigte am 25. an, dass es alle Verluste ausgleichen werde.Dieses Ereignis ist gelöst.
Ereigniszusammenfassung
In einem von unbegrenzten Benutzern autorisierten Routing -Vertrag sind böswillige CallData -Angriffe nicht ungewöhnlich.
Ähnliche Angriffe in der Vergangenheit umfassenDexible und Hector BridgeWesen
Am 17. Februar 2023 wurde der dezentrale Austausch Dexible angegriffen und mehr als1,5 Millionen US -DollarWesenSicherheitsdienstprogramme geben die böswillige CallData in die Funktion fill () von Dexible ein, um Benutzervermögen zu stehlen.
Am 2. Juni 2023 wurde das Hector Network -Protokoll angegriffen.Der Angreifer setzte einen falschen USDC -Vertrag ein und verabschiedete den böswilligen Calldata, um 652.000 reale USDCs aus dem Vertrag des Opfers zu übertragen.
Die Blockchain -Polymerplattform verwendet normalerweise eine Reihe von Brücken und Routing -Verträgen, um die Liquidität zu verbessern und die Verluste zu verringern.Diese komplizierte Verpackung kann jedoch mehr Probleme in die Sicherheit bringen.