DeFi-Protokolle haben durch Smart-Contract-Exploits Milliarden Dollar verloren. Nicht durch Markteinbrüche oder behördliche Maßnahmen, sondern durch Code, der sich nicht so verhielt, wie seine Entwickler erwartet hatten, wenn jemand ihn bewusst aus der Bahn warf. Zu verstehen, wie diese Angriffe funktionieren, ist nicht nur eine akademische Übung. Wenn Sie DeFi nutzen, sitzt Ihr Geld in diesen Verträgen.

Das Ethereum ETH$2,200ETH$2,20024h+0.46%7d+6.96%30d+8.02%1y+31.82%MCap: N/AVol: N/Avia Statility Ökosystem allein hat seit Beginn der DeFi-Skalierung im Jahr 2020 über 5 Milliarden Dollar durch Exploits verloren. Einige davon waren ausgefeilte Zero-Day-Angriffe. Viele waren bekannte Schwachstelle-Muster, die Prüfer übersehen haben oder die nach Abschluss der Prüfung eingeführt wurden. Hier sind die Angriffsvektoren, die immer wieder auftauchen.

ETH Price (365 days)$2,200 Analyze

Live data via Statility

Die üblichen Verdächtigen

Reentrancy

Reentrancy ist die älteste Smart-Contract-Schwachstelle und funktioniert immer noch. Der Angriff nutzt einen einfachen Logikfehler aus: Ein Vertrag sendet Geldmittel an eine externe Adresse, bevor er seinen eigenen internen Saldo aktualisiert. Der Vertrag des Angreifers empfängt die Geldmittel und ruft dann sofort den ursprünglichen Vertrag auf, um erneut abzuheben. Da der Saldo noch nicht aktualisiert wurde, denkt der Vertrag, der Angreifer hätte noch Geldmittel und sendet mehr.

Der berühmteste Reentrancy-Angriff war der DAO-Hack von 2016, der etwa 60 Millionen Dollar in ETH drainierte und letztendlich zu der Ethereum Hard Fork führte, die Ethereum Classic erschaffen hat. Man könnte annehmen, dass die Branche ihre Lektion gelernt hat. Das tat sie nicht.

Im Juli 2023 führte eine Reentrancy-Schwachstelle im Vyper-Compiler (nicht in irgendeinem individuellen Protokoll-Code, sondern in der Programmiersprache selbst) zu Exploits in mehreren Curve Finance Pools und drainierte über 60 Millionen Dollar. Der Bug war in den Vyper-Versionen 0.2.15 bis 0.3.0 jahrelang vorhanden. Das ist wichtig, da es zeigt, dass Reentrancy in Schichten des Stack verborgen sein kann, auf die Protokoll-Entwickler und Prüfer gar nicht schauen.

Oracle-Manipulation

DeFi-Protokolle benötigen Preisdaten, um zu funktionieren. Kreditplattformen müssen Kollateralwerte kennen. DEXs benötigen Referenzpreise zum Schutz vor Slippage. Diese Preisdaten stammen von Oracles, und die Manipulation des Oracle bedeutet die Manipulation des Protokolls.

Der Mango Markets Exploit im Oktober 2022 ist ein Lehrbuchbeispiel. Avraham Eisenberg nutzte 5 Millionen Dollar, um den Preis von MNGO-Token auf Mangos eigener Exchange künstlich in die Höhe zu treiben, was den Wert seiner Kollateralposition aufblähte. Er lieh sich dann 114 Millionen Dollar gegen dieses aufgeblähte Kollateral und hob es ab. Technisch gesehen funktionierte das Protokoll genau wie beabsichtigt. Das Oracle meldete den Preis, den es sah. Die Kreditvergabelogik folgte seinen Regeln. Aber das System ging davon aus, dass der Oracle-Preis den realen Marktwert widerspiegelte, und diese Annahme war falsch.

Protokolle, die eine einzelne On-Chain-Quelle für Preisdaten verwenden, besonders den eigenen Trading Pool eines illiquiden Tokens, sind von Natur aus anfällig dafür. Chainlink★★★★4.2Chainlinkbrand★★★★4.2/55 AI reviewsChainlink is the leading oracle platform powering DeFi and onchain capital markets, securing over $25 trillion in tra...via Rexiew Chainlink und andere dezentralisierte Oracle-Netzwerke existieren, um dies zu mindern, indem sie Daten aus mehreren Quellen aggregieren, aber nicht jedes Protokoll nutzt sie, und selbst aggregierte Feeds können unter extremen Bedingungen manipuliert werden.

Flash-Loan-Angriffe

Flash Loans sind ungesicherte Darlehen, die innerhalb einer einzelnen Transaktion geliehen und zurückgezahlt werden müssen. Wenn die Rückzahlung nicht erfolgt, wird die gesamte Transaktion rückgängig gemacht, als hätte sie nie stattgefunden. Dies ist ein genuines neuartiges Finanzprimitivum, das in der traditionellen Finanzwelt kein Äquivalent hat.

Es ist auch das Werkzeug, das viele Exploits wirtschaftlich machbar macht. Bevor es Flash Loans gab, brauchte ein Angreifer, der einen 50-Millionen-Dollar-Pool manipulieren wollte, 50 Millionen Dollar. Mit Flash Loans brauchen sie nur genug ETH, um Gasgebühren und die Flash-Loan-Prämie zu decken, oft nur wenige hundert Dollar.

Das Muster wiederholt sich über Dutzende von Exploits: Einen massiven Betrag über Flash Loan leihen, ihn verwenden, um einen Price Oracle zu manipulieren oder einen anfälligen Pool zu leeren, das Darlehen zurückzahlen, den Gewinn behalten. Die bZx-Angriffe von 2020 gehörten zu den ersten, die dieses Muster zeigten. Pancake Bunny verlor 2021 45 Millionen Dollar an eine Flash-Loan-gesteuerte Preismanipulation. Die Liste wird immer länger.

Flash Loans erzeugen nicht die Schwachstelle. Sie verstärken sie. Jedes Protokoll, das anfällig für große Kapitalbewegungen war, war bereits kaputt. Flash Loans machten es nur möglich, dass jeder kostenlos das große Kapital sein kann.

Was Audits Tatsächlich Tun (und Nicht Tun)

Eine Smart-Contract-Prüfung ist eine Zeile-für-Zeile-Code-Überprüfung, normalerweise von einer spezialisierten Sicherheitsfirma durchgeführt, die nach bekannten Schwachstelle-Mustern, Logikfehlern und Abweichungen von der Spezifikation sucht. Gute Prüfer testen auch Grenzfälle, simulieren Angriffsszenarien und überprüfen die wirtschaftliche Anreizstruktur.

Hier ist das, was Prüfungen nicht sind: eine Garantie. Geprüfte Protokolle werden regelmäßig gehackt. Es gibt mehrere Gründe dafür.

Erstens, der Code, der geprüft wurde, ist möglicherweise nicht der Code, der bereitgestellt wird. Protokolle machen oft Änderungen nach einer Prüfung, manchmal erhebliche, und stellen ohne erneute Prüfung bereit. Zweitens untersuchen Prüfungen einen Vertrag isoliert oder in begrenztem Umfang. DeFi-Protokolle sind zusammensetzbar, d. h. sie interagieren mit anderen Protokollen auf Weise, die emergente Verhaltensweisen erzeugen, die keine einzelne Prüfung vorhersagen kann. Ein Kreditprotokoll könnte für sich selbst sicher sein, aber anfällig werden, wenn jemand einen neuen Pool erstellt, der auf unerwartete Weise mit ihm interagiert.

Drittens sind viele Exploits wirtschaftlich statt technisch. Der Code tut das, wofür er geschrieben wurde, aber die wirtschaftliche Anreizstruktur hat einen Fehler, den ein Angreifer ausnutzen kann. Prüfer mit reinem Ingenieurhintergrund könnten diese nicht bemerken. Deshalb haben einige Sicherheitsfirmen jetzt Ökonomen und Mechanismus-Designer in ihren Prüfteams.

Was Prüfungen fangen im Vergleich zu dem, was sie vermissen

Prüfungen fangen typischerweisePrüfungen vermissen oft
Reentrancy-MusterÄnderungen nach der Prüfung
Integer Overflow/UnderflowCross-Protokoll-Komposabilitätsrisiken
Fehler bei der ZugriffskontrolleWirtschaftliche oder Anreizdesign-Fehler
Bekannte Schwachstelle-MusterNeuartige Angriffsvektoren
Gas-OptimierungsproblemeGovernance-Angriffsflächen
Standard-Konformität (ERC-20 usw.)Infrastructure-Layer-Bugs (Compiler, EVM)

Muster nach der Obduktion

Nach genug Exploit-Obduktionen entstehen Muster. Die meisten Exploits sind nicht neuartig. Sie sind Variationen bekannter Themen, angewendet auf Protokolle, die Blindstellen hatten.

Unverifizierten Annahmen sind die häufigste Grundursache. Der Entwickler nahm an, der Oracle-Preis wäre genau. Er nahm an, nur die beabsichtigten Verträge würden eine bestimmte Funktion aufrufen. Er nahm an, niemand hätte genug Kapital, um einen Markt um 40% in einem einzigen Block zu bewegen. Jede Annahme ist eine potenzielle Angriffsfläche.

Upgradierbare Verträge und Admin-Keys sind ein weiteres wiederkehrendes Thema. Viele Protokolle verwenden Proxy-Muster, die es dem Team ermöglichen, die Vertrag-Logik nach der Bereitstellung zu aktualisieren. Dies ist als Sicherheitsmechanismus gedacht und lässt Entwickler Bugs schnell beheben. Aber es bedeutet auch, dass ein kompromittierter Admin-Key verwendet werden kann, um einen funktionierenden Vertrag durch einen böswilligen zu ersetzen. Der Ronin Bridge Hack von 2022, der 625 Millionen Dollar verlor, war letztendlich ein Admin-Key-Kompromiss statt einem Smart-Contract-Logik-Fehler.

Bemerkenswerte DeFi-Exploits

ProtokollJahrVerlorener BetragAngriffstyp
The DAO201660M $Reentrancy
Ronin Bridge2022625M $Validator-Key-Kompromiss
Wormhole2022320M $Signaturverifizierungs-Umgehen
Mango Markets2022114M $Oracle / Preismanipulation
Curve (Vyper)202360M $Compiler-Level-Reentrancy
Euler Finance2023197M $Liquidationslogik-Fehler

Sich selbst schützen

Sie können Smart Contracts nicht selbst prüfen, es sei denn, Sie sind ein Solidity-Entwickler, und selbst dann würden Sie wahrscheinlich Dinge übersehen. Aber Sie können das Risiko klarer beurteilen, indem Sie die richtigen Fragen stellen.

Überprüfen Sie, ob ein Protokoll geprüft wurde, von wem und wie kürzlich. Eine Prüfung von vor zwei Jahren auf eine Codebase, die 50 mal aktualisiert wurde, bietet nicht viel Sicherheit. Mehrere Prüfungen von unabhängigen Firmen sind besser als eine. Bug-Bounty-Programme sind ein gutes Zeichen, da sie einen laufenden Anreiz für White-Hat-Forscher schaffen, Probleme vor Angreifern zu finden.

Verstehen Sie, wer die Admin-Keys hält. Wenn ein Multisig mit drei Unterzeichnern die Möglichkeit kontrolliert, die Verträge zu aktualisieren, ist das ein sinnvolles Zentralisierungsrisiko. Wenn diese Keys hinter einem Timelock sitzen, der Benutzern 48 Stunden gibt, um vor Änderungen zu fliehen, ist das ein besseres Design.

Seien Sie vorsichtig mit Forks. Wenn ein Team den Code eines anderen Protokolls kopiert und eine neue Version startet, ändern sie oft Teile ohne die Sicherheitsauswirkungen vollständig zu verstehen. Einige der schlimmsten Exploits haben schlecht ausgeführte Forks sonst sicherer Protokolle getroffen.

Diversifizieren Sie über Protokolle. Die gleiche Logik, die besagt, dass man nicht sein ganzes Fiatgeld in einer Bank halten sollte, gilt auch hier. Wenn ein Protokoll, das Sie verwenden, ausgebeutet wird, ist eine auf einen Bruchteil Ihres Portfolios begrenzte Exposition ein überlebbarer Verlust. Konzentration ist nicht.

DeFi-Sicherheit wird besser. Formale Verifizierungstools, ausgefeiltere Prüfpraktiken und bewährte Codebases wie Uniswap★★★★★4.6Uniswapbrand★★★★★4.6/54 AI reviewsUniswap App (app.uniswap.org) is the web interface to Uniswap"the leading decentralized exchange (DEX) on Ethereum an...via Rexiew Uniswap und Aave★★★★★4.6Aavebrand★★★★★4.6/55 AI reviewsAave serves as a decentralized, non-custodial liquidity protocol in DeFi, allowing users to supply assets for interes...via Rexiew Aave haben bewiesen, dass gut konstruierte Verträge Milliarden Dollar über Jahre hinweg ohne Zwischenfälle sichern können. Aber die Grenze ist immer chaotisch, und neuer Code birgt neues Risiko. Die Protokolle, die die höchsten Renditen bieten, sind oft diejenigen, die am wenigsten durch Zeit und widrige Bedingungen getestet wurden. Das ist kein Zufall.

Suchen Sie nach Krypto-Plattformen, Börsen und DeFi-Apps? Durchsuchen Sie unser kuratiertes Verzeichnis: