Hintergrund der Veranstaltung
Am 16. Juli 2024 wurde die bekannte kettenübergreifende Brücke und der dezentrale Tauschaggregator Li.Fi Opfer eines schweren Sicherheitsangriffs. Hacker nutzten Li.Fi Diamond Contract aus und stahlen die Kryptowährungswerte seiner Nutzer im Wert von etwa 11,6 Millionen US-Dollar (einschließlich mehrerer Stablecoins). ) gestohlen wurden. Die Adressen von Nutzern, die unbegrenzte Genehmigungsoperationen für den angegriffenen Vertrag durchgeführt hatten, wurden von den Hackern fast vollständig geleert.
- Attacker's Ether address: 0x8b3cb6bf982798fba233bca56749e22eec42dcf3
- Vulnerable contract address: 0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae
- Beispiel einer Transaktion, die den Angriff auslöste: 0xd82f, 0x86fe etherscan.io/tx/0x86fe6933f03c14f75167e560e6635a23fab59b268e68c86d60c4d46afe0aeabc), [0x606a](https://etherscan.io/tx/ 0x606a49471ebcb608bf034abd982750d626b7eaf45a963118d5aae5baae4a2da2)
Die Schwachstelle, die durch den Angriff ausgenutzt wird, existiert in der depositToGasZipERC20()
[Funktion] des GasZipFacet
-Vertrags (https://etherscan.io/address/0xf28a352377663ca134bd27b582b1a9a4dad7e534# Code), der vom Li.Fi-Team nur fünf Tage vor dem Angriff bereitgestellt wurde. Die Funktion depositToGasZipERC20
erhielt einen benutzergesteuerten Parameter _swapData
, der später an einen Aufruf der Funktion LibSwap.swap()
übergeben wurde. Unglücklicherweise enthält die Funktion LibSwap.swap()
eine zugrundeliegende Aufrufprozedur, die einen beliebigen Funktionsaufruf durchführen kann, und das Aufrufziel und die Aufrufparameter dieses zugrundeliegenden Aufrufs werden vollständig von _swapData
kontrolliert, das sich unter der Kontrolle des Angreifers befindet. Der Hacker nutzte diese "Schwachstelle bei willkürlichen Aufrufen", um erfolgreich nicht autorisierte Überweisungen zu veranlassen und alle Gelder von den Adressen der Benutzer abzuziehen, die uneingeschränkte Genehmigungsoperationen für Li.Fi Diamond Contract durchgeführt hatten.
Analyse des Geldflusses mit Metasleuth
Am 16. Juli 2024 leitete der Angreifer fast 100 Transaktionen ein und löste damit einen "willkürlichen Aufruf in dem angegriffenen Vertrag Schwachstelle" im angegriffenen Vertrag auslöste und innerhalb von 30 Minuten ca. 11,6 Mio. $ an Stablecoins (USDC, USDT, DAI usw.) übertrug, die sich auf der Kontoadresse des Opfers angesammelt hatten. Fast alle gestohlenen Stablecoins wurden dann von den Hackern schnell in den nativen Ethereum-Token ETH getauscht. Die Hacker verwendeten DEXs wie Uniswap, Metamask Swap usw. Beispiele für Swap-Transaktionen sind: [0xdf9b](https://etherscan.io/tx/ 0xdf9b2b855e5a55f4add1b95f29f4c2be6917560c30e0de11ea55270eb711886e), [0x11d](https://etherscan.io/tx/ 0x11ddeef2d279de82717272301d6f6e08795a8ac83b90972c71761e015a9c644c), [0xb4a4](https://etherscan.io/tx/ 0xb4a4cb9084043b6fe2d789de51d6a15b6ce321cb6334ca033b5824562b2f5904).
Es folgt eine vom Angreifer initiierte Swap-Transaktion 0x8e27, die die Metamask Swap Spender. Der Angreifer hat die illegal erlangten 333.258 USDT in 97,16 ETH umgewandelt. Mit Metasleuth können Sie den Geldfluss innerhalb der Transaktion deutlich sehen, einschließlich aller Token-Swap-Pools und Aggregationsagenten.
Innerhalb von zwei Stunden nach dem Angriff wurden alle gestohlenen Vermögenswerte an eine vom Angreifer kontrollierte Downstream-Adresse übertragen, über die die ursprüngliche Angriffsadresse für die Angriffstransaktion [0x8b3c](https://etherscan.io/address/ 0x8b3cb6bf982798fba233bca56749e22eec42dcf3) keine gestohlenen Token mehr enthält. Es gibt 32 Adressen, die direkt mit 0x8b3c verbunden sind (d. h. Adressen, die einen Hop von der ursprünglichen Angriffsadresse entfernt sind), von denen 15 nur 0,1 ETH des des gestohlenen Geldes. Bis zum 23. Oktober 2024 blieb eine kleine Menge ETH von diesen Adressen unüberwiesen. Über die anderen 17 Adressen wurde der größte Teil der restlichen gestohlenen Gelder gewaschen.
Die nachstehende Abbildung veranschaulicht den Geldfluss von einigen der Opferadressen zu nachgelagerten Adressen, die von den Angreifern kontrolliert werden:
Nachdem die Hacker die illegalen Gelder an Adressen verschoben hatten, die nur einen Schritt von der ursprünglichen Angriffsadresse 0x8b3c entfernt waren, begannen sie, die gestohlenen Gelder von diesen Adressen zu waschen und stapelweise zu transferieren. Der Geldwäsche-Transferprozess dauerte fast drei Monate, wobei fast alle (>99 %) der illegalen Gelder schließlich an Tornado Cash überwiesen wurden. wurde an die Börse eXch zur direkten Einlösung überwiesen. Insgesamt initiierten die Hacker 114 Transaktionen, um mit Tornado Cash zu interagieren. Beispiele für Transaktionen, bei denen illegale Gelder an Tornado Cash überwiesen wurden: 0x07de, 0xfe82, [0x6a47](https://etherscan.io/ tx/0x6a47684a769e4ac476506d245137839013e4526b437011d543be45886bc3713f), [0x8ea6](https://etherscan.io/tx/ 0x8ea6ca1047fd0a8cecafb38bb10a1029f82ef88932c1779de6b2a2ef5580d65e); Beispiel für eine Transaktion, bei der illegale Gelder an eXch überwiesen werden: [0xaa89](https://etherscan.io/tx/ 0xaa89e7ab86da0f57640c6b40186f41d9a074c4f365cde6541965c1c908d7ded9), [0x7e65](https://etherscan.io/tx/ 0x7e656b657609910ed45590cc855738839e44b7e0589e9e5568991d8b5ae2c498), [0x8572](https://etherscan.io/tx/ 0x8572fa167f89cdc65a8cbe5526b04024d372bd9b2ec7f9f161fbf08c71dd7f33), [0x625c](https://etherscan.io/tx/ 0x625c6c15cad716f205ed2c3d67fc91b5893f234dacf43dffa8b899940f08917a), [0x2dd2](https://etherscan.io/tx/ 0x2dd2dfda6c8db4372b39bb902f806a741b451eb38ab9d9dd0161532e69465972), [0xda71](https://etherscan.io/tx/ 0xda715e9430bd82a40fb3b15caa7bbf4e51d00a11e6bf93f0c2c777a1689503ea).
Die folgende Abbildung zeigt den Transferpfad eines Teils der Gelder von der Geldwäsche-Adresse der Schicht 2 (zwei Sprünge von der Adresse des ursprünglichen Angriffs) zur Geldwäsche-Adresse der Schicht 4 (vier Sprünge von der Adresse des ursprünglichen Angriffs):
Die ersten großen Überweisungen erfolgten innerhalb einer Woche nach dem Angriff, zwischen dem 16. Juli und dem 22. Juli. Die Angreifer transferierten illegale Gelder im Wert von etwa 500.000 US-Dollar von der Adresse 0x6a6d zu Tornado Cash. Die illegalen Geldtransfers der Angreifer zeigten ein Die illegalen Geldtransfers der Angreifer wiesen ein eindeutiges Muster auf: Sie verschoben Gelder an nachgelagerte Adressen, die weit von der Angriffsadresse entfernt waren (Hochrisikoadressen), und zahlten nach und nach einen Teil der Gelder bei Tornado Cash ein. Der längste Transferpfad bei den ersten Überweisungen betrug 20 Hops. Die Angreifer nutzten extrem tiefe Geldwäschepfade, um die illegalen Geldströme zu verschleiern. Zwischen August und Oktober wurden die restlichen illegalen Gelder nach und nach in Stapeln mit denselben Merkmalen an Tornado Cash überwiesen.
Bei einem Beispiel eines Überweisungsstapels verschob der Hacker die Adresse 0x8e85 (eine Entfernung von der Adresse [0x8b3c](https://etherscan.io/ Adresse/0x8b3cb6bf982798fba233bca56749e22eec42dcf3) einen Sprung entfernt), bei der Schwarzgeld an Tornado Cash überwiesen wird, die oben beschriebenen Merkmale aufweist:
Wie in der Abbildung zu sehen ist, hat der Angreifer zwischen dem 13. August und dem 16. August 2024 schrittweise 206 ETH über einen 12-Hop langen Pfad an Tornado Cash übertragen. bei Adresse 0xe9f7 0xe9f7cd0c410257850324d86536bd165cf4306e80) teilten die Angreifer die 204 ETH in zwei Transaktionen auf: 100 ETH wurden an Tornado Cash gesendet und die verbleibenden 104 ETH wurden an eine tiefere Geldwäscheadresse überwiesen. Dieses Aufteilungsmuster zieht sich durch die gesamte Überweisung, wobei der Angreifer für jeden Vorgang, an dem Tornado Cash beteiligt ist, eine neue, tiefere Adresse verwendet.
Offizielle Maßnahmen und aktueller Fortschritt
Zwei Tage nach dem Angriff veröffentlichte LI.FI offiziell einen [Vorfallsbericht] (https://li.fi/knowledge-hub/incident-report-16th-july/), in dem sie behaupteten, dass sie alle Vertragsmodule in der Kette, die von demselben Angriff hätten betroffen sein können, erfolgreich deaktiviert hätten, um jeden weiteren unbefugten Zugriff auf Benutzeradressen zu verhindern. LI.FI initiierte einen Entschädigungsplan und entschädigte die betroffenen Nutzer vollständig. In Bezug auf die Wiederbeschaffung der gestohlenen Vermögenswerte hat LI.FI mitgeteilt, dass es weiterhin mit den Strafverfolgungsbehörden und relevanten Dritten, einschließlich Sicherheitsteams innerhalb der Branche, zusammenarbeiten wird, um die gestohlenen Gelder aufzuspüren und wiederzuerlangen. Mit Stand vom 22. Oktober 2024 sind fast alle illegalen Gelder an Tornado Cash überwiesen worden, aber Li.FI muss noch einen Bericht zur Rückverfolgbarkeit erstellen.
Einige relevante Adressen und Transaktionen zur Geldwäsche
Adressen | Transaktionen | Illegale Geldflüsse |
---|---|---|
0x8e85eace2fa757c1d97c5ebfb8b0622e5f23c5a1 | [0xe237](https://etherscan.io/tx/ 0xe2379835bfd6985949e741562d23e1e3fae892546d7a7d68c3812e1319f26415), [0x0d23](https://etherscan.io/tx/ 0x0d23ba0e8b53787893d7ba8bf0de75fafb2b81d13377ae19b22ff8ab812d0608) | 206.49 ETH |
0xcb7c341dc6172b642dcf4a14015be70a27e5b31e | [0x050c](https://etherscan.io/tx/ 0x050c935a0fb442aa5b4b669c7fa84bbf88bf3f6a43c50eb176d472cd4ac1d3d9), [0x37d4](https://etherscan.io/tx/ 0x37d411e434f6a5124a5e615f767dcbfc668d68355f8baac2ec5fd7ff4050ee94) | 873.568 USDT + 36,48 ETH |
0x7b93fa16c04cdcf91949d4f5f893f740992ae57e | [0x57ea](https://etherscan.io/tx/ 0x57eaa1a8acf151230f19c38a1c8470d93baf7341e45ddcb20cf7d586332cf992), 0x52ac | 332.02 ETH |
0x3462d2523cded523ad47c14111aa1dcbe7773675 | [0xc66d](https://etherscan.io/tx/ 0xc66d0bb572f8d7589c029f73d1c317d087bb29bfb9d72bebce2baf695620655f), [0xc0ff](https://etherscan.io/tx/ 0xc0ffe4343e7adad323fa5169e375148828818c070f46da9cd00080e16cc024b4) | 120.55 ETH |
0xd0be9c4c84068a9964c3781f540f703c300db268 | [0x0c3b](https://etherscan.io/tx/ 0x0c3b0192ec5730a9b608c965f7e5c2361e03704a762adcea18204c26262a2ef3), [0x1670](https://etherscan.io/tx/ 0x1670fbf41c53fc0e4382b98555fb7e9d1e1b519608b999581b0485755d6d712f) | 275.38 ETH |
Using [Metasleuth](https://metasleuth.io/result/eth/0x14c1597cc833783ed8ac08ecc9b704b0a398201d?source=c8cd3609-0402-45eb-bb9e- 2f710bd66554), um ein detailliertes Diagramm des Geldflusses zu erstellen:
Untersuchen Sie den gesamten illegalen Geldfluss im Detail in Metasleuth: https://metasleuth.io/result/eth/0x14c1597cc833783ed8ac08ecc9b704b0a398201d?source=c8cd3609-0402-45eb- bb9e-2f710bd66554