Die Cross-Chain-Bridge von zkLink Nova wurde letzte Nacht gehackt; ein gefälschtes Batch-Zertifikat ließ rund 780.000 US-Dollar durch
Am 28. Oktober um 22:21 UTC wurde in einer Transaktion aus dem Ethereum-Verwahrvertrag von zkLink Nova rund 780.000 US-Dollar abgezogen, das entspricht 6:21 Uhr heute Morgen Pekinger Zeit. Blockaid schlug zuerst Alarm und sagte, der Angriff laufe noch; der Haupt-Verwahrvertrag war zu diesem Zeitpunkt noch nicht pausiert. SlowMist schätzte den Schaden nach Analyse auf rund 783.100 US-Dollar.
zkLink Nova ist ein aggregiertes Layer-3-Netzwerk mit finaler Abwicklung auf Ethereum. Wenn Nutzer von Nova zurück zu Ethereum auszahlen, muss der Verwahrvertrag zuerst ein sogenanntes batch root prüfen, also eine Art Fingerabdruck für einen ganzen Batch an Transaktionen; nur wenn der Vertrag ihn akzeptiert, wird freigegeben. Das Problem lag darin, wer diesen Fingerabdruck in den Vertrag schreiben durfte.
Die Analyse von SlowMist verweist auf die Funktion claimMessage im Arbitrator-Vertrag. Dabei wurde finalizeMessageHash nicht bereinigt, und es wurde auch nicht verlangt, dass jeder Callback eine frische Authentifizierung hat. Der Angreifer nutzte zuerst einen Relay-Vertrag, den jeder aufrufen kann, um einen legitimen Hash einzuschleusen, und änderte dann das Ziel auf das Ethereum-Gateway, sodass der Schritt zum Synchronisieren des batch root so aussah, als käme er vom legitimen Gateway. Sobald die Identität erfolgreich vorgetäuscht war, gelangte das gefälschte Root von Batch 116409 in den Vertrag, alle von ihm eingereichten Auszahlungsnachweise stimmten, der Verwahrvertrag ließ alles durch, und die ganze Sache wurde in einer einzigen Transaktion erledigt; die Blocknummer war 26294188.
Insgesamt wurden 12 Token-Arten abgezogen. Der größte Posten war Puffer pufETH: 245,74 Stück, ungefähr 615.000 US-Dollar, also fast 80 Prozent. Der Rest bestand aus 22,43 ETH, 12,57 ezETH, 18.113 USDC sowie kleinen Mengen anderer Token. Weniger als eine Stunde später hatte der Angreifer bereits 123,26 ETH über Curve getauscht und danach in drei Tranchen etwa 303 ETH auf drei Adressen überwiesen. Eine andere Angriffsadresse zog später ebenfalls über dieselbe Bridge etwa 216,4 Millionen ZKL im Wert von rund 42.000 US-Dollar ab.
Die eigentliche Lehre für Kleinanleger liegt nicht in der Summe. 780.000 US-Dollar sind nicht viel; im April dieses Jahres waren es beim Vorfall mit Kelp DAO 292 Millionen US-Dollar. Wirklich wichtig ist der Pfad. Ein öffentlich aufrufbarer Relay-Vertrag wurde als Autorisierungsstelle missbraucht, und ein einmal nicht bereinigter temporärer Wert ließ die Verifikationskette mitten drin auseinanderfallen. Die Geldbörse erkannte die falsche Person als berechtigt an, und egal wie viel Vermögen drin lag, es war kaum aufzuhalten. Zum Zeitpunkt des Schreibens hatte zkLink noch keine öffentliche Stellungnahme veröffentlicht, nicht bestätigt, ob pausiert wurde, und auch keinen Entschädigungsplan genannt. Jetzt noch Auszahlungen zu erzwingen, könnte bedeuten, noch einmal durch eine Tür zu gehen, die vielleicht noch offen ist.
Meine Einschätzung ist sehr direkt. Wenn eine Bridge gehackt wurde, zuerst auf dem offiziellen Account nach einer Pausenmitteilung schauen, nicht vorschnell mit Auszahlungen loslegen. Bei einer Bridge ohne Pausenankündigung besser keine neuen Einzahlungen und nicht hektisch interagieren. Wer bereits Vermögen dort hat, fährt mit gestaffelter Auszahlung sicherer als mit einer kompletten Abhebung auf einmal; vor dem Auszahlen zuerst die Pausenmitteilung prüfen.
Wo liegt dein Vermögen aktuell noch in einer Cross-Chain-Bridge, und wann hast du zuletzt den Pausenstatus sowie die offizielle Erklärung überprüft?
#BTC #跨链桥 #安全复盘 #zkLink #DeFi安全
—— web3韭菜小凯
Der Inhalt dient ausschließlich der Zusammenstellung öffentlicher Informationen und stellt keine Anlageberatung dar. Die genannten Beträge basieren auf öffentlich zugänglichen Aufzeichnungen von Blockaid, SlowMist und Etherscan; weitere Erklärungen des Projekts sind über die offiziellen Kanäle maßgeblich.