Fallstudie zu illegalen Kapitalflüssen: LI.FI-Angriff
Hintergrund des Falls
Am 16. Juli 2024 erlebte Li.Fi, eine Cross-Chain-Brücke und DEX-Aggregator, eine erhebliche Sicherheitsverletzung, bei der der Li.Fi Diamond Contract ausgenutzt wurde. Verschiedene Stablecoins und andere Vermögenswerte im Wert von etwa 11,6 Millionen US-Dollar wurden von Benutzern gestohlen. Der Angreifer konnte Gelder von Benutzern abziehen, die dem angegriffenen Vertrag unendliche Genehmigungen erteilt hatten.
- Adresse des Angreifers: 0x8b3cb6bf982798fba233bca56749e22eec42dcf3
- Anfälliger Vertrag: 0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae
- Beispiele für Angriffstransaktionen: 0xd82f, 0x86fe, 0x606a
Die Schwachstelle lag in der Funktion depositToGasZipERC20() des GasZipFacet-Vertrags. Der GasZipFacet-Vertrag wurde fünf Tage vor dem Angriff vom LI.FI-Team bereitgestellt, um die Gasbetankung für Brückentransaktionen zu ermöglichen. Die Funktion depositToGasZipERC20() enthielt ein vom Benutzer kontrolliertes Argument _swapData, das später an den Funktionsaufruf LibSwap.swap() übergeben wurde. Unglücklicherweise enthielt LibSwap.swap einen Low-Level-Aufruf, der beliebige Funktionen mit dem vom Angreifer kontrollierten Argument _swapData angegebenen Ziel und den Aufrufdaten ausführen konnte. Der Angreifer nutzte diese "Arbitrary Call Vulnerability" (Schwachstelle für beliebige Aufrufe) aus, um nicht autorisierte Überweisungen von Benutzern durchzuführen, die dem Li.Fi Diamond Contract eine unendliche Genehmigung erteilt hatten.
Analyse des Geldflusses
Am 16. Juli 2024 initiierte der Angreifer fast hundert Transaktionen, die die Schwachstelle für beliebige Aufrufe ausnutzten, und transferierte innerhalb von 30 Minuten ungefähr 11 Millionen US-Dollar in Stablecoins (USDT, USDC, DAI) an die Adresse 0x8b3c. Fast alle abgezweigten Stablecoins wurden anschließend schnell gegen den nativen Ethereum-Token ETH getauscht. Die vom Angreifer genutzten DEXs umfassten unter anderem Uniswap und Metamask Swap. Beispiele für Tauschtransaktionen: 0xdf9b, 0x11d, 0xb4a4.
Ein Beispiel für den Geldfluss innerhalb einer Tauschtransaktion 0x8e27, die mit Metamask Swap Spender interagierte. Der Angreifer tauschte die illegal erworbenen 333.258 USDT gegen 97,16 ETH. Alle Pools und Proxies werden deutlich mit MetaSleuth angezeigt.

Innerhalb von zwei Stunden nach dem Angriff wurden alle gestohlenen Vermögenswerte an nachgelagerte Adressen des Angreifers transferiert, und von der ursprünglichen Angreiferadresse war nichts mehr übrig. Insgesamt gibt es 32 nachgelagerte Adressen, die direkt mit der Adresse 0x8b3c verbunden sind (d. h. eine Hop-Entfernung von der ursprünglichen Angreiferadresse). Von diesen erhielten 15 Adressen nur 0,1 ETH von der Angreiferadresse. Bis zum 22. Oktober 2024 wurden die von diesen 15 Adressen gehaltenen ETH nicht mehr transferiert. Die restlichen Adressen haben die restlichen großen Mengen illegaler Gelder verarbeitet.
Teil des Geldflusses von den Opferadressen zu den vom Angreifer kontrollierten nachgelagerten Adressen:

Nachdem die illegalen Gelder an die nachgelagerten Adressen eine Hop-Entfernung von der Adresse 0x8b3c transferiert worden waren, begann der Angreifer, die Gelder weiter in Chargen zu verschieben. Der Transfer- (Geldwäsche-) Prozess dauerte fast drei Monate. Fast alle illegalen Gelder wurden schließlich an Tornado Cash (99,9 %) transferiert, und ein kleiner Teil wurde an die Börse eXch zur direkten Auszahlung gesendet. Insgesamt 114 Transaktionen nutzte der Angreifer, um mit dem Tornado Cash Router zu interagieren. Beispiele für Transaktionen, die illegale Gewinne an Tornado Cash transferierten: 0x07de, 0xfe82, 0x6a47, 0x8ea6. Beispiele für Transaktionen, die illegale Gewinne an eXch transferierten: 0xaa89, 0x7e65, 0x8572, 0x625c, 0x2dd2, 0xda71.
Ein Teil des Geldflusses von Layer-2-Adressen (2 Hops von der ursprünglichen Angreiferadresse 0x8b3c) zu Layer-4-Adressen:

Die erste groß angelegte Charge von Überweisungen erfolgte in der ersten Woche nach dem Angriff, zwischen dem 16. und 22. Juli. Der Angreifer transferierte illegal erworbene Vermögenswerte im Wert von rund 500.000 US-Dollar von der Adresse 0x6a6d an Tornado Cash. Die Überweisung illegaler Gelder durch den Angreifer wies deutliche Merkmale auf: Er verlagerte die Gelder an nachgelagerte Adressen, die weit von der Angreiferadresse entfernt waren (Hochrisiko-Adresse), und leitete schrittweise einen Teil an Tornado Cash. In der ersten Charge erreichte der längste Übertragungspfad bis zu 20 Hops. Der Angreifer nutzte extrem tiefe Geldwäschepfade, um die illegalen Geldflüsse zu verschleiern. Zwischen August und Oktober wurden die restlichen illegalen Gelder schrittweise mit denselben Merkmalen in Transferchargen an Tornado Cash transferiert.
Ein Beispiel für eine Transfercharge, die Gelder von der Adresse 0x8e85 (ein Hop von 0x8b3c) an den Tornado Cash Router transferiert:

Wie die Abbildung zeigt, transferierte der Angreifer zwischen dem 13. und 16. August 2024 schrittweise 206 ETH über einen 12-Hop-Pfad an Tornado Cash. An der Adresse 0xe9f7 teilte der Angreifer 204 ETH in zwei Transaktionen auf: 100 ETH wurden an Tornado Cash gesendet, während 104 ETH an weitere Geldwäscheadressen weitergeleitet wurden. Dieses Aufteilungsmuster war während des gesamten Transferprozesses konstant. Das heißt, der Angreifer verwendete bei jeder Interaktion mit Tornado Cash eine neue, tiefere Adresse.
Bekämpfungsbemühungen
Zwei Tage nach dem Angriff veröffentlichte LI.FI offiziell einen Bericht über den Vorfall, in dem behauptet wurde, dass sie die anfällige Vertragsfacet auf allen Chains erfolgreich deaktiviert und jeden weiteren unbefugten Zugriff verhindert hätten. LI.FI initiierte einen Entschädigungsplan und erstattete den betroffenen Benutzern die vollen Kosten zurück. Für die Wiederbeschaffung der abgezweigten Vermögenswerte erklärten sie, dass sie weiterhin mit Strafverfolgungsbehörden und relevanten Dritten, einschließlich Sicherheitsteams aus der Branche, zusammenarbeiten würden, um die abgezweigten Gelder zu verfolgen und zu versuchen, sie wiederzuerlangen. Bis zum 22. Oktober 2024 wurden fast alle illegalen Gelder an Tornado Cash transferiert, und Li.Fi hat noch keine Tracking-Berichte veröffentlicht.
Einige relevante Adressen und Transaktionen
| Adressen | Transaktionen | Illegale Geldflüsse |
|---|---|---|
| 0x8e85eace2fa757c1d97c5ebfb8b0622e5f23c5a1 | 0xe237, 0x0d23 | 206,49 ETH |
| 0xcb7c341dc6172b642dcf4a14015be70a27e5b31e | 0x050c, 0x37d4 | 873.568 USDT + 36,48 ETH |
| 0x7b93fa16c04cdcf91949d4f5f893f740992ae57e | 0x57ea, 0x52ac | 332,02 ETH |
| 0x3462d2523cded523ad47c14111aa1dcbe7773675 | 0xc66d, 0xc0ff | 120,55 ETH |
| 0xd0be9c4c84068a9964c3781f540f703c300db268 | 0x0c3b, 0x1670 | 275,38 ETH |
Der Überblick über den Geldfluss:

Mehr erfahren Sie in MetaSleuth: https://metasleuth.io/result/eth/0x14c1597cc833783ed8ac08ecc9b704b0a398201d?source=c8cd3609-0402-45eb-bb9e-2f710bd66554



