Der Angriff auf das Drift-Protokoll war kein Hack im herkömmlichen Sinne. Es wurde kein Fehler oder Ähnliches entdeckt. kraken eines privaten Schlüssels. Darüber hinaus wurde weder ein Flash-Loan-Exploit noch ein manipuliertes Orakel verwendet. Stattdessen nutzte ein Angreifer eine legitime Funktion innerhalb SolanaMithilfe sogenannter „dauerhafter Nonces“ wurde der Sicherheitsausschuss von Drift irregeführt, um Transaktionen vorab zu genehmigen, die erst Wochen später, zu einem Zeitpunkt und in einem Kontext, den die Unterzeichner nie beabsichtigt hatten, ausgeführt wurden. Das Ergebnis war eine Veruntreuung von mindestens 270 Millionen US-Dollar, die innerhalb einer Minute abgeschlossen war, aber über eine Woche vorbereitet wurde.
In Solana enthält jede Transaktion einen „aktuellen Blockhash“, einen Zeitstempel, der belegt, dass die Transaktion kürzlich erstellt wurde. Dieser Blockhash ist etwa 60 bis 90 Sekunden gültig. Wird die Transaktion innerhalb dieses Zeitraums nicht an das Netzwerk gesendet, wird sie ungültig. Diese Sicherheitsfunktion verhindert, dass alte, veraltete Transaktionen später erneut ausgeführt werden.
Dauerhafte Nonces umgehen diese Sicherheitsfunktion. Sie ersetzen den ablaufenden Blockhash durch eine feste „Nonce“, einen Einmalcode, der in einem speziellen On-Chain-Konto gespeichert wird. Dadurch bleibt die Transaktion gültig, bis sie jemand absendet. Diese Funktion entstand aus einer berechtigten Notwendigkeit heraus. Hardware-Wallets, Offline-Signatursysteme und institutionelle Verwahrungslösungen benötigen die Möglichkeit, Transaktionen vorzubereiten und zu genehmigen, ohne sie innerhalb von 90 Sekunden absenden zu müssen.
Unbegrenzt gültige Transaktionen stellen jedoch ein Problem dar. Wenn jemand heute eine Transaktion signiert, kann diese gemäß den fest im System verankerten Regeln erst nächste Woche oder nächsten Monat ausgeführt werden. Der Unterzeichner hat keine Möglichkeit, die Genehmigung nach Erteilung zu widerrufen, es sei denn, das Nonce-Konto wird manuell aktualisiert – ein Vorgang, den die meisten Benutzer nicht überwachen.
Das Protokoll von Drift basierte auf einem „Security Council Multisig“, einem System, bei dem mehrere Personen (in diesem Fall fünf) die Kontrolle teilen und für jede Aktion mindestens zwei Genehmigungen erforderlich sind. Multisigs sind eine gängige Sicherheitspraxis im DeFi-Bereich und beruhen auf der Annahme, dass die Kompromittierung einer einzelnen Person nicht ausreicht, um Gelder zu stehlen.
Der Angreifer musste jedoch keine Schlüssel kompromittieren. Es reichten zwei Signaturen aus, die er sich durch, wie Drift es beschreibt, „unautorisierte oder irreführende Transaktionsgenehmigungen“ beschaffte. Das bedeutet, dass die Unterzeichner vermutlich davon ausgingen, eine routinemäßige Transaktion zu genehmigen.
Die von Drift in einem Beitrag auf X veröffentlichte Chronologie zeigt, dass am 23. März vier dauerhafte Nonce-Konten erstellt wurden. Zwei davon waren mit legitimen Mitgliedern des Drift-Sicherheitsrats verknüpft, die anderen beiden wurden vom Angreifer kontrolliert. Dies bedeutet, dass der Angreifer bereits gültige Signaturen von zwei der fünf Ratsmitglieder erlangt hatte, die in dauerhaften Nonce-Transaktionen festgehalten wurden, die nicht ablaufen würden.
Am 27. März führte Drift eine geplante Migration des Sicherheitsrats durch, um ein Ratsmitglied auszutauschen. Der Angreifer passte sich an. Bis zum 30. März tauchte ein neues dauerhaftes Nonce-Konto auf, das mit einem Mitglied des erneuerten Multisignatur-Netzwerks verknüpft war. Dies deutete darauf hin, dass der Angreifer die erforderliche Zwei-von-Fünf-Zustimmungsschwelle innerhalb der neuen Konfiguration erneut erreicht hatte.
Am 1. April führte der Angreifer die Aktion aus. Zunächst führte Drift eine legitime Testabhebung vom Versicherungsfonds durch. Etwa eine Minute später übermittelte der Angreifer die vorab signierten, dauerhaften Nonce-Transaktionen. Zwei Transaktionen, die durch vier Slots auf der Solana-Blockchain getrennt waren, genügten, um eine bösartige Administratorüberweisung zu erstellen, zu genehmigen und auszuführen.
Innerhalb weniger Minuten hatte der Angreifer die vollständige Kontrolle über die Protokolle von Drift erlangt. Diese Kontrolle wurde genutzt, um einen betrügerischen Auszahlungsmechanismus zu implementieren und die Tresore zu leeren.
On-Chain-Forscher verfolgten die Geldflüsse in Echtzeit. Die von Sicherheitsforscher Vladimir S. zusammengestellte Aufschlüsselung der gestohlenen Vermögenswerte belief sich auf rund 270 Millionen US-Dollar, verteilt auf Dutzende von Token. Die größte Kategorie bildeten JPL-Token mit 155,6 Millionen US-Dollar, gefolgt von USDC (60,4 Millionen US-Dollar), CBBTC (11,3 Millionen US-Dollar, Coinbase-verschlüsselte Bitcoin), USDT (5,65 Millionen US-Dollar), Ether (4,7 Millionen US-Dollar), DSOL (4,5 Millionen US-Dollar), WBTC (4,4 Millionen US-Dollar), FARTCOIN (4,1 Millionen US-Dollar) sowie kleineren Beträgen in JUP, JITOSOL, MSOL, BSOL, EURC und anderen Token.
Die primäre Wallet des Angreifers wurde acht Tage vor dem Angriff über das NEAR-Protokoll aufgeladen, blieb aber bis zum Ausführungstag inaktiv. Die gestohlenen Gelder wurden auf Zwischen-Wallets transferiert, die erst einen Tag zuvor über Backpack, eine dezentrale Kryptobörse mit Identitätsprüfung, aufgeladen worden waren. Dies kann den Ermittlern offenbar einen Anhaltspunkt liefern. Von dort wurden die Gelder über Wormhole, eine Cross-Chain-Bridge, an Ethereum-Adressen weitergeleitet. Diese Ethereum-Adressen waren zuvor mit Tornado Cash, dem genehmigten Privacy Mixer, aufgeladen worden.
ZachXBT, ein bekannter On-Chain-Forscher, stellte fest, dass über 230 Millionen US-Dollar in USDC in mehr als 100 Transaktionen über Circles CCTP (Cross-Chain Transfer Protocol) von Solana zu Ethereum transferiert wurden. Er kritisierte Circle, den zentralen Emittenten von USDC, dafür, die gestohlenen Gelder nicht innerhalb von sechs Stunden nach Beginn des Angriffs gegen Mittag (Ostküstenzeit) eingefroren zu haben.
Der Angriff erinnerte auch an jüngste Social-Engineering-Versuche und nutzte bereits bekannte Taktiken, wie ein Nutzer namens „Temmy“ in einem Social-Media-Beitrag schrieb. „Das haben wir schon oft gesehen“, so der Nutzer.
„Bybit. 1,4 Milliarden Dollar. Der Angreifer kompromittierte die Signaturinfrastruktur und verleitete Unterzeichner zur Autorisierung schädlicher Transaktionen. Gleiches Prinzip. Social Engineering. Keine Verschlüsselung. Ronin Bridge. 625 Millionen Dollar. Kompromittierte Validator-Schlüssel. Gleiche Geschichte. Cetus-Protokoll. 223 Millionen Dollar. Andere Methode, aber dasselbe Ergebnis. Hunderte Millionen weg“, heißt es in dem Beitrag.
Das Versagen lag in der menschlichen Sicherheitsebene um die Mehrfachsignatur. Dauerhafte Nonces ermöglichten es dem Angreifer, den Zeitpunkt der Genehmigung vom Zeitpunkt der Ausführung um mehr als eine Woche zu trennen, wodurch eine Lücke entstand, in der der Kontext des signierten Dokuments nicht mehr mit dem Kontext übereinstimmte, in dem es verwendet wurde.
Alle Einlagen in Drifts Kredit- und Darlehensprodukten, Tresoreinlagen und Handelsfonds sind betroffen. DSOL-Token, die nicht bei Drift hinterlegt sind, einschließlich der beim Drift-Validator eingesetzten Vermögenswerte, sind nicht betroffen. Die Vermögenswerte des Versicherungsfonds werden abgehoben und gesichert. Das Protokoll wurde eingefroren und die kompromittierte Wallet aus dem Multisignatur-Netzwerk entfernt.
Dies ist somit der dritte größere Angriff in den letzten Monaten, der nicht mit einer Code-Schwachstelle einherging. Social Engineering und operative Sicherheitslücken scheinen zunehmend die Wege zu sein, über die Gelder DeFi-Protokolle verlassen, anstatt Fehler in Smart Contracts.
Der Durable-Nonce-Vektor ist besonders gefährlich, weil er eine Funktion angreift, die aus gutem Grund existiert und schwer zu verteidigen ist, ohne die Funktionsweise von Multisig-Genehmigungen auf Solana grundlegend zu verändern.
Die offene Frage, die Drift in seiner bevorstehenden detaillierten Nachbesprechung beantworten muss, ist, wie zwei verschiedene Multisig-Mitglieder Transaktionen genehmigen konnten, die sie nicht verstanden, und ob irgendwelche Tools oder Schnittstellenänderungen persistente Nonce-Transaktionen als einer zusätzlichen Überprüfung bedürfend hätten kennzeichnen können.
Was sind die wichtigsten Lehren, die aus diesem Angriff gezogen werden können?
Der Angriff verdeutlicht die Notwendigkeit verbesserter Sicherheitsvorkehrungen und erhöhter Wachsamkeit im Umgang mit Multisignatur-Strukturen, insbesondere hinsichtlich potenziell angreifbarer Merkmale wie persistenter Nonces. Darüber hinaus erfordert er mehr Transparenz und Aufklärung über die Risiken von Genehmigungsprozessen im DeFi-Bereich.
Wie wirkt sich dieser Angriff auf das Vertrauen der Anleger in DeFi aus?
Die Auswirkungen dieses Angriffs auf das Vertrauen der Anleger könnten erheblich sein. Wiederholte Ausnutzungen ohne erkennbare Code-Schwachstellen zeigen, dass menschliches Versagen und Social Engineering eine ernsthafte Bedrohung darstellen, die zu erhöhter Vorsicht bei den Anlegern führen könnte.
Welche Maßnahmen können Protokolle ergreifen, um ähnliche Angriffe in Zukunft zu verhindern?
Protokolle können strengere Kontrollmechanismen nutzen, wie z. B. Benachrichtigungen beim Signieren anomaler Transaktionen, und die Implementierung einer Multi-Faktor-Authentifizierung für wichtige Transaktionen kann ebenfalls dazu beitragen, die Wahrscheinlichkeit erfolgreicher Social-Engineering-Angriffe zu verringern.