Kürzlich wurde das Cork Protocol auf der Ether-Chain angegriffen, wobei der Angreifer über eine logische Schwachstelle im Projektvertrag (nicht verifizierte Schlüsselparameter) einen Gewinn von 12 Millionen US-Dollar erzielte. Dieser Artikel bietet eine detaillierte Analyse des Angriffs und eine Verfolgung der Gelder.
Verfasst von: Beosin
In letzter Zeit wurde das Cork Protocol auf der Ether-Blockchain angegriffen. Der Angreifer profitierte durch eine logische Schwachstelle im Projektvertrag (nicht validierte Schlüsselparameter) in Höhe von 12 Millionen US-Dollar. Das Sicherheitsteam von Beosin hat diesen Angriff detailliert analysiert und die Gelder nachverfolgt und die Ergebnisse wie folgt geteilt:
Bevor wir die Angriffe analysieren, müssen wir die speziellen Geschäftslogiken des Cork Protocol verstehen. Es führt einen Mechanismus ein, der ähnlich wie der Kreditderivatmarkt im traditionellen Finanzwesen ist (genannt Depeg Swap), und tokenisiert das Entkoppelungsrisiko von gesicherten Vermögenswerten (wie stETH), sodass Benutzer gegen das Entkoppelungsrisiko der gesicherten Vermögenswerte absichern oder handeln können. Zu den Token-Typen gehören:
Rückzahlungsvermögen (Redemption Asset, RA): Basisvermögen (wie Ether)
Pegged Asset (PA): Mit dem Basisvermögen verankerte Vermögenswerte (z. B. stETH)
Depeg Swaps (DS): Ähnlich wie Put-Optionen, um Preisrückgänge abzusichern.
Cover Token (Cover Token, CT) — ähnlich wie eine Call-Option, bei nicht stattfindender Entkopplung können Erträge erzielt werden; bei stattfindender Entkopplung müssen Verluste getragen werden.
Wenn ein Benutzer RA einzahlt, mint das Cork-Protokoll die Token DS und CT, die der Benutzer zum Handeln oder Einlösen verwenden kann, um zu wetten oder Risiken abzusichern.
Dieser Angriff betrifft den echten Token-Markt und den von den Angreifern geschaffenen falschen Markt:
(1) Angreifer erstellten zunächst einen gefälschten Marktplatz, auf dem der RA der weETH8DS-2-Token und der PA wstETH ist. Es ist anzumerken, dass weETH8DS-2 als RA auf dem Fake-Markt verwendet werden kann, anstatt als DS auf dem realen Markt, was durch Cross-Market-Token-Checking hätte verboten werden müssen.
(2) Angreifer kaufen weETH8CT-2 auf dem echten Markt.
(3) Angreifer nutzte das Fehlen einer ordnungsgemäßen Zugriffskontrolle der beforeSwap-Funktion in der CorkHook-Funktion aus, um benutzerdefinierte Hook-Daten an die CorkCall-Funktion zu senden, und zwang sie, ihren weETH8DS-2 in fake_DS und fake_CT aufzuteilen. Dies ist möglich, weil weETH8DS-2 die RA des Fake-Marktes ist und die Funktion Fake_DS und Fake_CT als Eigentum der Angreifer betrachtet.
(4) fake_DS und fake_CT Token wurden an den Angreifer übertragen. Gemäß den Regeln des Cork Protocols: DS und CT Token können in RA Token umgetauscht werden. Der Angreifer hat die erhaltenen fake_DS und fake_CT Token über den virtuellen Markt in weETH8DS-2 umgetauscht.
(5) Derzeit hat der Angreifer weETH8CT-2, das in Schritt 2 gekauft wurde, und das neu zusammengesetzte weETH8DS-2, welches gegen RA (d.h. wstETH) auf dem echten Markt eingetauscht werden kann.
Daher kann der Angreifer die Liquidität des echten Marktes DS auf einen anderen Markt (den aufgebauten falschen Markt) als RA für die Einlösung übertragen, um die Liquidität von RA im echten Markt abzuziehen. Der Angreifer hat in diesem Vorfall 3761 wstETH gestohlen und es in ETH im Wert von etwa 12 Millionen Dollar umgetauscht.
Durch den oben beschriebenen Angriffsprozess können wir die drei Gründe für die Ausnutzung der Schwachstelle des gesamten Vorfalls erkennen:
Fehlende Validierung: Es wurde nicht überprüft, ob der als RA verwendete DS bereits auf anderen Märkten verwendet wird.
CorkCall von nicht ordnungsgemäß verifizierten vertrauenswürdigen Benutzern bereitgestellte Rückrufdaten.
Das Protokoll ermöglicht die Schaffung von genehmigungsfreien, unbeschränkten Märkten.
Obwohl das Cork-Protokoll mehrere Sicherheitsprüfungen und Audit-Wettbewerbe durchlaufen hat, wurde diese logische Schwachstelle dennoch übersehen. Wenn die Wiederverwendbarkeit von Token strenger überprüft, die Rückgabedaten streng validiert und die Markterschaffung strenger kontrolliert wird, könnte dieser Angriff vermieden werden.
Beosin Trace hat bei der Verfolgung von gestohlenen Geldern festgestellt: Die Angreiferadresse 0xea6f30e360192bae715599e15e2f765b49e4da98 hat etwa 3761 wstETH erzielt, die anschließend über DeFi-Protokolle wie Uniswap und 1inch in ETH umgetauscht wurden, insgesamt 4530.6.
Derzeit wurden die gestohlenen Gelder noch nicht transferiert. Beosin Trace hat die mit dem Hacker verbundenen Adressen in die schwarze Adressdatenbank aufgenommen und wird diese weiterhin verfolgen.
Laut der Analyse von Beosin Trace befinden sich alle gestohlenen Gelder weiterhin an der Adresse des Angreifers.
Im Mittelpunkt des Angriffs stand eine zentrale Schwachstelle in der Geschäftslogik von Cork Protocol, die dazu führte, dass der Angreifer eine große Menge an wstETH durch gefälschte Token stahl. Komplexe DeFi-Protokolle wie das Cork-Protokoll erfordern eine detaillierte Prüfung und Überprüfung der Geschäftslogik des Vertrags durch vielschichtige und mehrschichtige Sicherheitsaudits. Zuvor hat das Beosin-Sicherheitsteam Sicherheitsüberprüfungen mehrerer DeFi-Protokolle (z. B. Surf Protocol, SyncSwap, LeverFi, Owlto Finance) durchgeführt, wobei es sich auf die Suche nach Fehlern in der Vertragslogik und Grenzfällen konzentrierte, die möglicherweise übersehen werden, um sicherzustellen, dass das Protokoll vollständig getestet wurde.