
Am 16. Januar 2024 wurde Socket Tech angegriffen und verlor rund 3,3 Millionen US -Dollar.Der Angreifer nutzte die Lücken in der Datenüberprüfungssitzung in einem Socket -Vertrag, um die Benutzerfonds des autorisierten Vertrags durch böswillige Dateneingaben zu stehlen.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 versehentlich eine Schlüssellücke einführte.
Die folgende Abbildung ist ein Aufzeichnungen ü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 zur Verwendung von Lücken von Socket zu erstellen und auszuführen.Der erste Vertrag richtet sich an USDC (Screenshot wie folgt) in der Adresse der Socketgateway -Adresse;
>
3. Als nächstes zielt der zweite Vertrag auf die WETH, USDT, WBTC, DAI und Matic in der Adresse des Opfers.Infolgedessen verloren die anderen 104 Opfer die folgenden Vermögenswerte:
-42.47526105 Weth
-347,005.65 USDT
-2.88962154 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.In dieser Funktion wird jedoch eine wichtige Anfälligkeit angezeigt: Benutzer rufen externe Daten direkt über Swapextradata in der .call () ohne Überprüfung auf, was bedeutet, dass Angreifer willkürliche böswillige Funktionen ausführen können.
>
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 sechseckige Signatur 196, um Lücken zu nennen.
>
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 der Sockel schnell als Disableroute, wodurch das Routing der zuvor vorhandenen Lücken blockiert und den größeren Angriffsbereich 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 umfassen Dexible und Hector Bridge.Am 17. Februar 2023 wurde der dezentrale Austausch Dexible angegriffen und verlor mehr als 1,5 Millionen US -Dollar.Sicherheitsdienstprogramme 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.Wir freuen uns zu sehen, dass der Vorfall der Sockel gelöst werden kann, und Certik wird weiterhin für eine umfassende Prüfung und Prüfung für die Plattform verpflichtet, verschiedene aggregierte Risiken verringert und das Sicherheitsniveau des Community -Trusts und der gesamten Branche verbessert.