1 Veranstaltungsübersicht

Am 18. Juli 2024 wurden mehr als 230 Millionen US-Dollar aus einer Multi-Signatur-Wallet der indischen Kryptowährungsbörse WazirX gestohlen. Dieses Multi-Signatur-Wallet ist ein Safe{Wallet}-Smart-Contract-Wallet. Der Angreifer veranlasste die Unterzeichner mit mehreren Signaturen, eine Vertragsaktualisierungstransaktion zu unterzeichnen. Der Angreifer übertrug die Vermögenswerte in der Brieftasche direkt über den aktualisierten Vertrag und übertrug schließlich alle Vermögenswerte von mehr als 230 Millionen US-Dollar.

2 Analyse des Angriffsprozesses

Hinweis: Die folgende Analyse basiert auf Post-Event-Berichten von WazirX und Liminal, On-Chain-Daten und öffentlichen Informationen im Internet. Es können unvollständige Informationen oder Fehler vorliegen, die zu voreingenommenen Analyse-Schlussfolgerungen führen können. Die Analyseergebnisse dienen nur als Referenz und unterliegen den nachfolgenden Untersuchungsergebnissen des beteiligten Herstellers.

Ursprünglicher Link:

  • WazirX-Blog: https://wazirx.com/blog/wazirx-cyber-attack-key-insights-and-learnings/

  • Liminal Custody-Blog: https://www.liminalcustody.com/blog/update-on-wazirx-incident/

2.1 Multi-Signatur-Wallet-Konfiguration und Angriffsprozess

Nach Angaben beider Parteien nutzt WazirX Safe (früher bekannt als Gnosis Safe) für die Fondsverwaltung und wird über Liminal koordiniert. Das Safe Wallet verwendet eine 4/6-Signaturmethode, bei der 5 private Schlüssel von WazirX-Mitgliedern über Hardware-Wallets verwaltet werden und 1 privater Schlüssel von Liminal über HSM verwaltet wird.

Unter normalen Verfahren initiiert WazirX Transaktionsübertragungen über die Webseite der Liminal-Plattform, und die Übertragungsadresse wird durch die von der Liminal-Plattform verwaltete Adress-Whitelist eingeschränkt. Nachdem drei der fünf Unterzeichner von WazirX bestätigt hatten, dass die Transaktion korrekt war, unterschrieben sie mit der Hardware-Wallet. Nachdem die Liminal-Plattform drei Signaturen gesammelt hat, verwendet sie HSM, um die endgültige Signatur hinzuzufügen und die Transaktion in die Kette einzufügen. Der On-Chain-Angriffstransaktion nach zu urteilen, enthält die Angriffstransaktion tatsächlich drei rechtliche Signaturen, und die vierte Signatur ist der Transaktionsinitiator (d. h. Liminal), was mit der offengelegten Wallet-Verwaltungsstruktur übereinstimmt.

Wenn man die Berichte von Liminal und WazirX kombiniert, sieht der Prozess zur Initiierung dieser bösartigen Multi-Signatur-Transaktion wie folgt aus:

  1. Der Angreifer induziert WazirX-Signaturtransaktionen auf unbekannte Weise (einschließlich, aber nicht beschränkt auf Zero-Day-Netzwerkangriffe, Social-Engineering-Angriffe usw.).

  2. Drei Mitglieder von WazirX meldeten sich über Lesezeichen usw. bei der Liminal-Plattform an. Nachdem sie die Google- und MFA-Verifizierung bestanden hatten, stellten sie fest, dass es sich bei den zu signierenden Transaktionen um 2 GALA- und 1 USDT-Transfertransaktion handelte, die mit einer Hardware-Wallet signiert wurden. Doch was das Opfer tatsächlich unterzeichnete, war keine Token-Transfer-Transaktion, sondern eine Vertrags-Upgrade-Transaktion für eine Multi-Signatur-Wallet. Aufgrund der Inkonsistenz zwischen dem tatsächlichen Transaktionsinhalt und der angeblichen Übertragungstransaktion lehnte die Liminal-Plattform jeweils drei Transaktionen ab.

  3. Bisher hat der Angreifer die Unterschriften von drei Mitgliedern für die Vertragsaktualisierungstransaktion gesammelt und die böswillige Vertragsaktualisierungstransaktion erneut mit drei korrekten Signaturen an die Liminal-Plattform übermittelt.

  4. Nachdem die Liminal-Plattform überprüft hat, ob die Signatur korrekt ist, initiiert sie die Transaktion als vierter Unterzeichner. Nachdem die Transaktion in die Kette hochgeladen wurde, wird der Wallet-Vertrag aktualisiert und die Kontrolle an den Angreifer übertragen.

Laut WazirX verwenden Unterzeichner Hardware-Wallets, um private Schlüssel aufzubewahren. Der Angreifer sammelte außerdem die Unterschriften von drei Unterzeichnern, indem er Überweisungstransaktionen fälschte. Daher wird gefolgert, dass die privaten Schlüssel der drei WazirX-Manager nicht durchgesickert sind. Ebenso gibt es in Liminal keinen Verlust privater Schlüssel, andernfalls muss der Angreifer die letzte Transaktion nicht über die Liminal-Plattform initiieren.

Andererseits hat der Unterzeichner laut WazirX über Lesezeichen auf die richtige Liminal-Plattform zugegriffen und eine Google- und MFA-Verifizierung durchgeführt. Die Liminal-Plattform zeichnete außerdem Protokolle von drei ungewöhnlichen Transaktionen auf, sodass ebenfalls ausgeschlossen werden kann, dass WazirX sich auf einer gefälschten Phishing-Seite der Liminal-Plattform angemeldet hat, um Signaturen zu sammeln. Darüber hinaus wird nach den vorläufigen forensischen Ergebnissen der von WazirX offengelegten Ausrüstung auch davon ausgegangen, dass die Ausrüstung der drei Unterzeichner von WazirX nicht angegriffen wurde.

Zusammenfassend lässt sich sagen, dass eine mögliche Angriffsmethode darin besteht, dass der Angreifer die Browser-Frontend-Seite des WazirX-Opfers durch einen Man-in-the-Middle-Angriff, einen XSS-Angriff oder andere Zero-Day-Angriffe kapert und den legitimen Transaktionsinhalt fälscht, der dem WazirX angezeigt wird Opfer. Nachdem der Angreifer die Unterschriften von drei WazirX-Opfern gesammelt hatte, übermittelte er die endgültige Vertrags-Upgrade-Angriffstransaktion über die bestehende Sitzung an die Liminal-Plattform und lud sie erfolgreich in die Kette hoch, nachdem er die Risikokontrolle der Liminal-Plattform bestanden hatte.

2.2 Durch Angriffe aufgedeckte Probleme

Laut der oben genannten Analyse haben sowohl WazirX als auch Liminal bestimmte Probleme bei dem Vorfall aufgedeckt.

Die Risikokontrolle der Grenzplattform ist nicht streng:

  • Aus der Angriffstransaktion in der letzten Kette ist ersichtlich, dass die Liminal-Plattform die Vertragsaktualisierungstransaktion unterzeichnet und in die Kette hochgeladen hat. Die Strategie der Plattform zur Whitelist-Übertragungsrisikokontrolle hat nicht die ihr gebührende Rolle gespielt.

  • Aus den von der Liminal-Plattform veröffentlichten Protokollen geht hervor, dass die Plattform drei verdächtige Transaktionen entdeckt und abgelehnt hat, die Benutzer jedoch nicht sofort benachrichtigt oder Wallet-Transfertransaktionen eingefroren hat.

WazirX hat den Inhalt der Hardware-Wallet-Signatur nicht sorgfältig geprüft:

  • Der im Hardware-Wallet angezeigte Inhalt ist der eigentliche zu signierende Transaktionsinhalt. Beim Signieren einer Multi-Signatur-Transaktion vertraute der WazirX-Unterzeichner der auf der Liminal-Seite angezeigten Transaktion und signierte direkt, ohne sorgfältig zu prüfen, ob der zu signierende Inhalt in der Hardware-Wallet mit der auf der Liminal-Seite angezeigten Transaktion übereinstimmte. Dadurch wurde die Signatur bereitgestellt der vom Angreifer geforderten Vertragsaktualisierungstransaktion.