Hacker hat eine Authentifizierungsnachricht 1.490-mal erneut abgespielt – im $150K ICON-Protokoll-Exploit

SEUL — Eine Autorisierungsschwachstelle in einem ICON-Blockchain-Migrationsvertrag ermöglichte es einem Angreifer, 1.490 erfolgreiche Auszahlungs-Loop-Vorgänge mit derselben Autorisierungsnachricht auszuführen. Der Vorfall setzte Zehnermillionen Dollar an in der Stiftung gehaltenen Vermögenswerten auf der Kette frei; weil jedoch die menschliche Intervention verzögert wurde, konnte der Angreifer Gelder an zentralisierte Börsen abgeben, bevor die Eindämmungsmaßnahmen wirksam wurden.
Laut einem ausführlichen Postmortem, das von der ICON Foundation veröffentlicht wurde, ereignete sich der Angriff, nachdem zwei legitime Abhebungs-Autorisierungsnachrichten insgesamt 1.492-mal erneut abgespielt wurden. Während zwei Aufrufe fehlgeschlagen waren, gelangten 1.490 Wiedergabeversuche erfolgreich, was zur nicht autorisierten Freigabe von 119,86 Millionen ICX und 531.600 bnUSD aus den Rücklagen der Stiftung führte.
Das Protokoll stellte fest, dass keine Benutzereinzahlungen, -guthaben oder -Kollateralpositionen kompromittiert wurden.
Im Kern des Bugs: Float-Präzisionsabweichungen
Die Hauptursache des Exploits wurde auf einen Präzisionsfehler innerhalb der Logik zur Verifizierungsprüfung der Netzwerk-Auszahlungen zurückgeführt.
In dem Versuch, Auszahlungs-Payloads zwischen Ketten zu standardisieren und auf ein festes 32-Byte-Format zu bringen, leitete der Vertrag einen Abschnitt der Serialnummernprüfung durch eine float64-Bereichslogik, statt eine strikte, exakte Ganzzahlarithmetik beizubehalten.
Die Abweichung: Der Präzisionsfehler ermöglichte es dem Angreifer, einen nicht signierten Teil der Auszahlungskennung zu verändern, ohne die signierte Payload selbst zu ungültig zu machen.
Die Schwachstelle: Da die signierte Nachricht bei jedem Versuch identisch blieb, während die veränderten nicht signierten Metadaten die Transaktion für den Vertrag als einzigartig erscheinen ließen, konnte das Protokoll nicht erkennen, dass die Autorisierung bereits eingelöst worden war.
Das Ergebnis: Das System schrieb dem Relayer-Wallet des Angreifers wiederholt Guthaben zu, ohne die zugrunde liegende Signatur ungültig zu machen.
ICON bestätigte, dass die Schwachstelle spezifisch für seine eigene maßgeschneiderte Implementierung war, da andere integrierte Ketten auf Ganzzahl-Logik mit fester Breite setzen, die ein Abschneiden der Serialnummer verhindert.
Die Reaktionslücke: 105 Minuten bis zur Pause
Über den Smart-Contract-Fehler hinaus zeigte das Postmortem eine erhebliche Verzögerung bei der menschlichen Intervention:
02:01 UTC ── Angriff beginnt
02:08 UTC ── Automatischer Alarm wird ausgelöst
02:44 UTC ── Angreifer beginnt, sich Auszahlungen zu Börsen auszahlen zu lassen
03:40 UTC ── Technische Untersuchung beginnt (92-Minuten-Verzögerung)
03:53 UTC ── Smart Contract pausiert (105-Minuten-Eindämmungszeit)
06:18 UTC ── Netzwerk gestoppt
Während automatisierte Überwachungssysteme den Alarm korrekt bereits sieben Minuten nach Beginn des Angriffs auslösten, begannen technische Einsatzkräfte erst 92 Minuten später aktiv mit den Ermittlungen. Der Vertrag wurde 105 Minuten nach dem anfänglichen Alarm pausiert.
In diesem Zeitraum begann der Angreifer, die freigegebenen ICX-Token auf große zentralisierte Börsen aufzuteilen. Da On-Chain-Smart-Contract-Pausen keine Vermögenswerte einfrieren können, die bereits in von Börsen verwaltete Wallets gelangt sind, behinderte die Verzögerung die sofortige Wiederherstellung erheblich.
Finanzielle Auswirkungen und Wiederherstellungsmaßnahmen
Obwohl der nominelle Wert der freigegebenen ICX-Token zu Marktpreisen 15 Millionen US-Dollar überstieg, ist der tatsächliche nicht wiedergutzumachende Verlust deutlich geringer, da die Zusammenarbeit beim Austausch schnell erfolgte.
Art des Vermögenswerts
Betrag freigegeben
Status / Wiederherstellung
ICX
119,866,000
Der Großteil wurde verfolgt, eingefroren oder in Wiederherstellungs-Wallets gehalten.
bnUSD
531,600
Vollständig wiederhergestellt.
Netto bestätigter Verlust
~150,2 ETH + 31.204 USDC
Nicht wiedergutzumachender Wert wurde getauscht und überbrückt.
Zentralisierte Börsen einschließlich Bitvavo, Bitget und KuCoin setzten vorübergehend ICX-Einzahlungen und -Auszahlungen aus, um dabei zu helfen, die Gelder des Angreifers zu isolieren.
Um den Vorfall vollständig einzudämmen, haben die ICON-Validatoren den Schritt unternommen, das Layer-1-Netzwerk vollständig zu stoppen, noch bevor die Verifier-Logik gepatcht wurde, und den Betrieb ungefähr 25 Stunden später wieder aufzunehmen.
#Crypto #Blockchain #SmartContract #CryptoSecurity #ReplayAttack #ICON #CyberSecurity #DeFi #CryptoNews
