Zurück zum Blog

Analyse des Zerogoki-Angriffs

Code Auditing
9. August 2021
3 Min. Lesezeit

Am 08. August 2021 (Peking-Zeit, Blockhöhe 12982491) wurde Zerogoki angegriffen, was zu einem Verlust von 670.000 USD führte. Nach der Untersuchung stellten wir fest, dass dies mit dem kompromittierten Preis-Orakel zusammenhängt. Der Angreifer stellt ein Preis-Orakel zur Verfügung, das mit legitimen privaten Schlüsseln signiert ist und eine manipulierte Anzahl von zu tauschenden Tokens enthält. Der Grund, warum der Angreifer eine gültige Signatur erstellen konnte, ist jedoch noch unbekannt.

Code-Analyse

Wir führten zunächst eine Analyse des angegriffenen Vertrags durch (0x80ecdb90).

Die Swap-Funktion ruft decode_op auf, um die Informationen im Orakel zu erhalten. Nach der Validierung verbrennt der Vertrag ns[0] x.token, prägt ns[1] y.token und zahlt die Swap-Gebühr an den GOV-Vertrag.

Aus der Implementierung von decode_op ergeben sich drei Signaturen im Parameter. Diese Signaturen müssen vor dem Token-Swap (Brennen und Prägen) überprüft (und autorisiert) werden.

Zusammenfassend lässt sich sagen, dass der erste Parameter ns der Swap-Funktion die Anzahl der zu tauschenden Tokens definiert. Der zweite Parameter enthält die zu validierenden Signaturen. Wenn die Validierung erfolgreich ist, wird die Anzahl der getauschten Tokens im ersten Parameter (ns) definiert.

Angriffs-Analyse

In der Angriffstransaktion 0x81e5f715 erstellte der Angreifer eine Nachricht mit gültigen Signaturen und übergab einen manipulierten ns-Parameter (der eine große Menge zUSD enthielt). Infolgedessen verwendete der Angreifer 300 REI, um 700.000 zUSD zu tauschen.

Die drei Adressen, die mit den Signaturen in Verbindung stehen, sind:

0x0d93A21b4A971dF713CfC057e43F5D230E76261C
0x3054e19707447800f0666ba274a249fc9a67aa4a
0x4448993f493b1d8d9ed51f22f1d30b9b4377dfd2

Allerdings haben wir zum jetzigen Zeitpunkt keine Informationen darüber, warum die privaten Schlüssel dieser Adressen kompromittiert wurden.

Fazit

Ein DeFi-Projekt sicher zu machen, ist keine leichte Aufgabe. Neben der Code-Überprüfung denken wir, dass die Community proaktive Maßnahmen ergreifen sollte, um den Projektstatus zu überwachen und den Angriff zu blockieren, bevor er überhaupt stattfindet.

Über BlockSec

BlockSec ist ein wegweisendes Blockchain-Sicherheitsunternehmen, das 2021 von einer Gruppe weltweit angesehener Sicherheitsexperten gegründet wurde. Das Unternehmen engagiert sich für die Verbesserung der Sicherheit und Benutzerfreundlichkeit der aufkommenden Web3-Welt, um deren Massenadoption zu fördern. Zu diesem Zweck bietet BlockSec Dienstleistungen für die Sicherheitsprüfung von Smart Contracts und EVM-Ketten, die Plattform Phalcon für die sichere Entwicklung und proaktive Bedrohungsabwehr, die Plattform MetaSleuth für die Verfolgung und Untersuchung von Geldern sowie die Erweiterung MetaSuites für Web3-Entwickler, um effizient in der Krypto-Welt zu surfen.

Bisher hat das Unternehmen über 300 geschätzte Kunden wie MetaMask, Uniswap Foundation, Compound, Forta und PancakeSwap betreut und in zwei Finanzierungsrunden von renommierten Investoren, darunter Matrix Partners, Vitalbridge Capital und Fenbushi Capital, Dutzende Millionen US-Dollar erhalten.

Offizielle Website: https://blocksec.com/

Offizielles Twitter-Konto: https://twitter.com/BlockSecTeam

Für die neuesten Informationen anmelden
Über die sichere Speicherung hinaus, Teil 2: Wallet-Kryptografie sicher implementieren
Security Insights

Über die sichere Speicherung hinaus, Teil 2: Wallet-Kryptografie sicher implementieren

Kann ein Angreifer einen privaten Schlüssel rekonstruieren, ohne dessen geschützte Kopie auszulesen? Teil 2 von Beyond Secure Storage untersucht sechs Vorfälle, bei denen schwache Zufallszahlen, Entropieverlust oder Fehler bei Signatur-Nonces Schlüssel vorhersagbar oder rekonstruierbar machten. Daraus leitet er Anforderungen an die Implementierung der Schlüsselerzeugung und des Signierens ab und erläutert anschließend, wie Zahlungsinstitute deren Einhaltung durch Code-Reviews und Tests des produktiv eingesetzten Systems überprüfen können.

Über sichere Speicherung hinaus, Teil 1: Sichere Zahlungs- und Signaturabläufe gestalten
Security Insights

Über sichere Speicherung hinaus, Teil 1: Sichere Zahlungs- und Signaturabläufe gestalten

Wie kann ein nicht autorisierter Vorgang eine gültige Signatur erhalten, ohne dass der Angreifer den privaten Schlüssel stiehlt? Teil 1 von Beyond Secure Storage untersucht anhand von Vorfällen bei Bitget, Bybit und Binance Autorisierungsfehler bei Zahlungsanforderungen, der Erstellung, Signierung und Ausführung von Transaktionen sowie bei deren Abwicklung. Daraus leitet er Gestaltungsprinzipien ab, um nicht autorisierte Vorgänge zu verhindern und Verluste zu begrenzen. Anschließend erläutert er, wie Überprüfungen, Audits, Penetrationstests und Übungen diese Schutzmaßnahmen verifizieren können.

NEAR-Intents-Exploit: Fehler bei der Rückerstattung und Lehren für die Sicherheit
Security Insights

NEAR-Intents-Exploit: Fehler bei der Rückerstattung und Lehren für die Sicherheit

Beim Exploit von NEAR Intents wurden überdimensionierte Rückerstattungsereignisse genutzt, um interne Guthaben zu erhalten, nachdem die eingezahlten Vermögenswerte zurückgegeben worden waren. Diese Analyse rekonstruiert den Ablauf der Receipts und sieben Auszahlungen auf der BNB Chain in Höhe von insgesamt 3.865.021 USDT. Sie unterscheidet diese Mittelabflüsse von der vom Projekt gemeldeten vollständigen Rückgewinnung der Mittel und erläutert Sicherheitsaspekte bei der Entwicklung und Prüfung von NEAR-Smart-Contracts.

Der beste Sicherheitsauditor für Web3

Lassen Sie Design, Code und Geschäftslogik vor dem Launch prüfen. Nach den höchsten Sicherheitsstandards der Branche.

BlockSec-Audit