TL;DR
- Sicherheit bleibt eine kritische und fortlaufende Herausforderung im DeFi, mit jährlichen Verlusten in Milliardenhöhe.
- Sicherheitsmaßnahmen für ein DeFi-Protokoll sollten den gesamten Lebenszyklus umfassen und sowohl inhärente als auch operative Aspekte von der Vor- bis zur Nachveröffentlichung sichern. Präventive Strategien und Notfallpläne sind entscheidend zur Minderung potenzieller Angriffe.
- Die Sicherheit vor der Veröffentlichung, die sich auf die Code-Prüfung konzentriert, ist ein Konsens der Community geworden. Trotz des Aufkommens von Lösungen für die Sicherheit nach der Veröffentlichung (z. B. Angriffsüberwachung und -blockierung) wird deren Bedeutung von der Community noch nicht vollständig anerkannt.
- Eine kontinuierliche Verbesserung der Sicherheitspraktiken und ein Übergang zu einer "Security-First"-Kultur sind unerlässlich, um Nutzervermögen zu schützen und das Vertrauen in das Ökosystem zu stärken.
Einleitung
Während DeFi die Finanzlandschaft weiter revolutioniert, bleibt die Sicherheit ein erhebliches Anliegen innerhalb des Ökosystems, mit jährlichen Verlusten in Milliardenhöhe.
Laut Daten von Chainalysis, verursachten DeFi-Hacks im Jahr 2023 Verluste von über 1,1 Milliarden US-Dollar. Obwohl diese Zahl im Vergleich zu 2022 gesunken ist, gab es 2023 mehrere neue Trends bei DeFi-Hacks. Beispielsweise wurden renommierte Protokolle wie Curve und KyberSwap, die seit Jahren sicher betrieben werden, gehackt. Darüber hinaus wurden ausgeklügelte Hacks auf Infrastruktur-Schwachstellen, z. B. Flashbots Relay, aufgedeckt.
In der ersten Hälfte des Jahres 2024 ereigneten sich laut dem Security Incident Dashboard mehr als fünfzig Hacks mit Verlusten von über 100.000 US-Dollar.
Sicherheit ist ein entscheidender Faktor für den Wohlstand und die massive Akzeptanz von DeFi-Anwendungen. Dies liegt daran, dass DeFi-Protokolle Nutzervermögen im Wert von Milliarden von Dollar verwalten, und jeder Angriff auf diese Protokolle kann zu erheblichen Verlusten für die betroffenen Nutzer führen. Obwohl in einigen Fällen die gehackten Gelder (teilweise) wiederhergestellt werden können (wie im Fall des Euler-Sicherheitsvorfalls), können wir uns nicht jedes Mal darauf verlassen. Jeder Angriff untergräbt das Vertrauen der Menschen in DeFi.
Auch wenn mehrere Methoden zur Verbesserung der DeFi-Sicherheit vorgeschlagen wurden, gibt es noch viel Raum für Verbesserungen.
- Auf der positiven Seite ist die Code-Prüfung zu einem Konsens der Community zur Gewährleistung der Sicherheit geworden. Die meisten Protokolle werden vor dem Start einer Code-Prüfung unterzogen, was dazu beiträgt, die Angriffsflächen, die durch Schwachstellen in den Smart Contracts entstehen, zu reduzieren.
- Allein die Code-Prüfung reicht jedoch bei weitem nicht aus, um alle Sicherheitsprobleme zu lösen. Sie kann Hacks, die aus Schwachstellen bei Smart Contract-Upgrades, Konfigurationsänderungen und Laufzeitabhängigkeiten zwischen verschiedenen Protokollen resultieren, nicht verhindern.
Aufgrund dieser Einschränkungen sind proaktivere Lösungen wie operative Überwachung oder Angriffserkennungssysteme entstanden und werden von einigen Protokollen übernommen.
In diesem Blog werden wir die DeFi-Sicherheitslandschaft untersuchen, indem wir die Sicherheitsreise eines Protokolls in verschiedenen Phasen verfolgen, von der Vor-Veröffentlichungsphase über die operative Phase bis hin zur Reaktion auf Angriffe. Wir werden verschiedene Arten von Sicherheitsmaßnahmen erläutern und die wichtigsten Anbieter (Produkte) in jeder Phase hervorheben, wobei wir ihre Vor- und Nachteile diskutieren. Wir hoffen, dass unsere Einblicke der Community helfen, den aktuellen Stand der Technik besser zu verstehen und, was noch wichtiger ist, innovative Lösungen für die Zukunft zu inspirieren.
DeFi-Sicherheitslandschaft
Sicherheitsmaßnahmen für ein DeFi-Protokoll müssen seinen gesamten Lebenszyklus abdecken, von der Vor-Veröffentlichungsphase bis zur Nach-Veröffentlichungsphase, um sowohl die inhärente als auch die operative Sicherheit des Protokolls zu gewährleisten. Darüber hinaus ist es unerlässlich, präventive Maßnahmen und Notfallpläne zu haben, um potenzielle Angriffe anzugehen. Um den Lesern die verfügbaren Lösungen näherzubringen, kategorisieren wir DeFi-Sicherheitsanbieter (Produkte) wie folgt.
Sicherheit vor der Veröffentlichung
Diese Kategorie umfasst die Sicherheitsmaßnahmen, die vor der Veröffentlichung eines Protokolls durchgeführt werden, einschließlich Code-Prüfung, formale Verifikation und Sicherheitstests.
Code-Prüfungsdienst und -wettbewerb
Code-Prüfung ist eine gut akzeptierte Sicherheitspraxis in der Community zur Sicherung eines Protokolls. Bei diesem Prozess wird der Code von Sicherheitsunternehmen halbautomatisch überprüft, d. h. durch automatisches Scannen des Codes auf gängige Schwachstellen und manuelle Überprüfung des Codes auf kompliziertere. Repräsentative Unternehmen sind OpenZeppelin, ChainSecurity, BlockSec usw.
Darüber hinaus gibt es Plattformen für Audit-Wettbewerbe, die sich von Sicherheitsauditierungsunternehmen darin unterscheiden, wie die Prüfung durchgeführt wird. Diese Plattformen initiieren den Audit-Wettbewerb, beziehen Sicherheitsexperten aus der Community ein, um den Audit-Wettbewerb durchzuführen, und verteilen Prämien an diejenigen, die Probleme im Protokoll gefunden haben. Natürlich können Plattformen subtile Unterschiede in der Art und Weise haben, wie die Schwere beurteilt wird, der Algorithmus zur Verteilung der Prämien und die Kriterien für die Einbeziehung von Sicherheitsexperten. Zu diesen Plattformen gehören Code4rena, SHERLOCK, Cantina und Secure3.
Code-Prüfung (und Wettbewerbe) ist die primäre Verteidigungslinie für die Sicherheit von Protokollen. Sie hat jedoch praktische Einschränkungen, weshalb viele von renommierten Unternehmen geprüfte Protokolle immer noch gehackt werden.
- Erstens kann die statische Code-Prüfung Sicherheitsprobleme, die durch Protokollabhängigkeiten verursacht werden, nicht vollständig bewerten, insbesondere aufgrund der Komposibilität von DeFi-Protokollen.
- Zweitens wurden die sicherheitstechnischen Auswirkungen einiger Probleme während der Code-Prüfung unterschätzt. Präzisionsverluste sind beispielsweise ein häufiges Problem und können sowohl von Prüfern als auch von Protokollen übersehen werden. Die sicherheitstechnischen Auswirkungen wurden von der Community erst nach den Vorfällen mit Hundred Finance und Channels Finance vollständig erkannt.
- Nicht zuletzt bleibt die hochwertige Code-Prüfung eine angesehene und knappe Ressource, die interdisziplinäre Talente erfordert, die in Sicherheit, Finanzen und Informatik versiert sind. Nur wenige Universitäten können derzeit solche Talente konsistent und in großem Umfang bereitstellen. Daher können Protokolle von Unternehmen geprüft werden, die für das Geschäft nicht qualifiziert sind.
Formale Verifikation
„Formale Verifikation ist die Prüfung oder Widerlegung der Korrektheit eines Systems in Bezug auf eine bestimmte formale Spezifikation oder Eigenschaft unter Verwendung formaler Methoden der Mathematik“. Da sie die Korrektheit von Systemen beweisen kann, wird die formale Verifikation auf DeFi-Protokolle angewendet. Insbesondere kann sie sicherstellen, dass das Verhalten eines DeFi-Protokolls die formale Spezifikation erfüllt. Ein Vertreter von formalen Verifikationsprodukten für DeFi-Protokolle ist Prover, entwickelt von Certora. Entwickler stellen die Regeln (Spezifikation) bereit, und Prover vergleicht die Ergebnisse mit den Regeln, um Fehler zu identifizieren, indem er jeden möglichen Programmzustand untersucht.
Der vielversprechendste Aspekt der formalen Verifikation ist, dass sie die Korrektheit des DeFi-Protokolls mathematisch beweist. In der Praxis gibt es jedoch noch einige Einschränkungen, die eine breite Akzeptanz behindern.
- Erstens muss die Spezifikation von den Entwicklern bereitgestellt werden, was voraussetzt, dass die Entwickler über eine gut dokumentierte Spezifikation des erwarteten Verhaltens des Protokolls verfügen. Dies ist nicht einfach, wenn man bedenkt, dass die meisten Entwickler keine Experten in diesem Bereich sind.
- Zweitens kann die häufige Aktualisierung eines Protokolls aktualisierte Spezifikationen und Neubewertungen des Protokolls erfordern. Einige Protokolle können sich den Aufwand an Zeit und Mühe nicht leisten.
Dennoch sollte die formale Verifikation von Protokollen durchgeführt werden, insbesondere von neuen, die noch nicht praxiserprobt sind und beträchtliche Nutzervermögen verwalten. Die Verbesserung der Benutzerfreundlichkeit und die Erhöhung der Akzeptanzrate der formalen Verifikation bleiben jedoch eine ständige Herausforderung.
Sicherheitstests
Sicherheitstests beziehen sich auf den Prozess der Verwendung von Testfällen, um Fehler in einem Protokoll zu finden. Im Vergleich zur formalen Verifikation, die die Korrektheit des Protokolls mathematisch beweist, verwenden Sicherheitstests normalerweise konkrete Eingaben anstelle der symbolischen Eingaben in der formalen Verifikation, sind daher viel effizienter, aber weniger fundiert.
- Foundry ist eines der beliebten Entwicklungs- und Test-Frameworks für Smart Contracts. Entwickler können Tests in Foundry ausführen. Es bietet auch die Möglichkeit, Fuzz-Tests, Invariantentests und Differentialtests auf DeFi-Protokollen durchzuführen.
- Andere Sicherheitstestwerkzeuge umfassen Tenderly und Hardhat.
Sicherheit nach der Veröffentlichung
Diese Kategorie umfasst die Sicherheitsmaßnahmen, die nach der Veröffentlichung (oder der Online-Schaltung im Mainnet) eines Protokolls durchgeführt werden, einschließlich Bug-Bounty-Programmen, Angriffsdetektion und operativer Überwachung.
Bug Bounty
Bug-Bounty-Programme schaffen eine Brücke zwischen Protokollen und Sicherheitsexperten. Das Grundkonzept besteht darin, Experten durch Prämien zu motivieren, Schwachstellen vom Typ "Zero-Day" zu melden. Speziell können Protokolle ihre Prämien auf Bug-Bounty-Plattformen auflisten und den Umfang der Prämie und die Höhe der Belohnung für gemeldete Fehler angeben. Immunefi ist eine repräsentative Web3-Bug-Bounty-Plattform.
Angriffsdetektion
Angriffsdetektionsplattformen scannen Transaktionen, um bösartige zu finden. Insbesondere überprüfen diese Plattformen die mit einem Protokoll interagierenden Transaktionen auf bösartiges Verhalten. Wenn eine solche Transaktion auftritt, wird eine Warnung ausgelöst.
- Zum Beispiel scannt BlockSec Phalcon Transaktionen und verwendet eine verhaltensbasierte Erkennungs-Engine, um bösartige Aktivitäten (wie z. B. bösartige Verträge oder Vorschläge) zu erkennen. Stellen Sie sich das wie einen virtuellen Wachmann vor, der jeden Schritt einer Finanztransaktion überwacht und nach verdächtigem Verhalten sucht. Er extrahiert die Verhaltensmuster aus diesen Transaktionen, ähnlich wie ein Detektiv Hinweise analysiert, und verwendet dann Finanzmodelle – ähnlich denen, die Banken zur Betrugserkennung verwenden –, um potenzielle Angriffe zu identifizieren.
- Ähnliche Systeme sind Produkte von Hypernative und Hexagate.
- Darüber hinaus bietet das Venn Security Network von Ironblocks eine dezentrale Infrastruktur, um die Erkennungsergebnisse aus mehreren Quellen zu kombinieren.
Operative Überwachung
Frameworks für operative Überwachung bieten eine Möglichkeit, die operative Sicherheit für DeFi-Protokolle zu implementieren. Zum Beispiel muss das DeFi-Protokoll wissen, wann der Admin-Schlüssel geändert wird, Smart Contracts bereitgestellt und aktualisiert werden und Pull-Requests automatisch auf Sicherheitsschwachstellen gescannt werden.
- OpenZeppelin Defender bietet eine Plattform, die es Entwicklern ermöglicht, Smart Contracts sicher zu codieren, bereitzustellen und zu betreiben.
- BlockSec Phalcon kann Risiken im Zusammenhang mit Vertragsaktualisierungen, der Erstellung von Safe-Wallet-Transaktionen, neuen Unterschriften und Ausführungen, Zugriffskontrollen und Governance überwachen.
- Forta Network verfügt über eine Infrastruktur, mit der Benutzer ihre eigenen Bots erstellen können, um ihre Protokolle zu überwachen, oder bestehende Bots abonnieren, um Warnungen vor Phishing oder Bedrohungen zu erhalten.
Reaktion auf Angriffe
Diese Kategorie umfasst die Sicherheitsmaßnahmen, die ausgelöst werden, wenn ein Angriff stattfindet, einschließlich Angriffsblockierung, automatische Aktionen, Krisenmanagement, Ursachenanalyse und Nachverfolgung der Gelder des Angreifers.
Von den fünf Maßnahmen zur Angriffserwiderung ist die Angriffsblockierung besonders bemerkenswert, da sie es Projektteams ermöglicht, im Voraus präventive Maßnahmen zu ergreifen, Angriffe erfolgreich zu blockieren, bevor sie ausgeführt werden, und Verluste auf Null zu minimieren. Automatische Reaktionsplattformen helfen auch, die durch Angriffe verursachten Schäden zu reduzieren.
Die Einrichtung eines Krisenmanagements, die Durchführung einer Ursachenanalyse und die Nachverfolgung gestohlener Gelder sind reaktive Schritte, die nach einem Angriff unternommen werden. Während diese Strategien einige Schäden mindern und helfen können, zukünftige ähnliche Angriffe zu verhindern, können Verluste bereits eingetreten sein und die Wiederherstellung kann schwierig sein. Darüber hinaus können die Schäden am Ruf des Projekts und der daraus resultierende Vertrauensverlust der Nutzer tiefgreifend sein.
Risiken sind allgegenwärtig und oft unkontrollierbar, doch die Entscheidung für präventive Abwehrmaßnahmen liegt in unserer Reichweite und ist sehr empfehlenswert.
Angriffsblockierung
Die Angriffsdetektion reicht in der Praxis nicht aus, um Hacks zu bekämpfen. Dies liegt daran, dass ohne die Möglichkeit, Hacks automatisch zu blockieren, manuelle Reaktionen nicht schnell genug sind. In einigen Fällen (KyberSwap, Gamma Strategies und Telcoin in der folgenden Tabelle) dauert es einige Minuten und sogar Stunden, bis das Protokoll manuelle Maßnahmen ergreift, was zu spät ist, um die Vermögenswerte im Protokoll zu retten. Bei den jüngsten Hacks von Velocore und Rho wurden die gesamten Linea und Scroll Ketten pausiert, was Bedenken hinsichtlich der Zentralisierung für die L2-Kette aufwirft.
Die Angriffsblockierung ist die Fähigkeit, Hacks automatisch zu verhindern, was zwei Schlüsseltechniken erfordert: frühe Erkennung und automatische Front-Running von Hacks.
- Frühe Erkennung bedeutet, dass das System Angriffstransaktionen identifizieren kann, bevor sie auf der Blockchain finalisiert werden, insbesondere während sie noch im Mempool ausstehen.
- Das Front-Running des Angriffs beinhaltet die Platzierung einer Transaktion vor der Angriffstransaktion auf der Kette, um das Protokoll zu pausieren und somit den Angriff effektiv zu stoppen, bevor er ausgeführt werden kann.
In dieser Kategorie ist BlockSec Phalcon das einzige Produkt, das diese Schlüsseltechniken beherrscht. Nachdem ein Hacker eine Angriffstransaktion initiiert hat, kann die Angriffsüberwachungs-Engine von Phalcon diese Transaktion sofort erkennen, Angriffsalarme an die Benutzer senden und automatisch ein Front-Running durchführen, um das Protokoll zu pausieren und die Verluste auf Null zu reduzieren. Seine Schlüsseltechniken wurden bei über zwanzig Rettungsaktionen mit einem Wert von über 20 Millionen US-Dollar erfolgreich getestet.
Automatische Aktion
Plattformen wie Phalcon, Hexagate und Hypernative können im Falle eines Angriffs auch automatisch reagieren.
Nachdem sie solche Plattformen abonniert haben, können Benutzer Überwachungs- und Reaktionsmaßnahmen für verschiedene Protokollrisiken einrichten. Wenn eine Transaktion die Überwachungsregeln erfüllt, initiiert das System automatisch die vom Benutzer voreingestellten Reaktionsmaßnahmen (z. B. das Pausieren des Protokolls) und reduziert so die Verluste.
Einige Plattformen verfügen jedoch nicht über eine Angriffsdetektions-Engine, und das System kann Angriffstransaktionen nicht direkt erkennen und den Benutzer benachrichtigen. Stattdessen müssen Benutzer anpassen, unter welchen Bedingungen eine Transaktion als Angriff betrachtet werden kann. Da die Merkmale von Angriffstransaktionen sehr komplex sind und Benutzer (oft Vertragsentwickler) möglicherweise nicht über ausreichende Sicherheitskenntnisse verfügen, kann dies eine erhebliche Herausforderung darstellen.
Krisenmanagement (War Room)
Die Einrichtung eines Krisenmanagements ist erforderlich, wenn ein Protokoll angegriffen wird. Dies kann dem Protokoll helfen zu verstehen, was vor sich geht, Informationen in der Community zu teilen und Ressourcen für weitere Maßnahmen zu nutzen. Daran sind normalerweise Experten aus verschiedenen Perspektiven beteiligt.
SEAL 911 ist ein Projekt, das "Benutzern, Entwicklern und Sicherheitsexperten einen zugänglichen Weg bietet, sich im Notfall mit einer kleinen Gruppe hochvertrauenswürdiger Sicherheitsexperten zu vernetzen". Es kann über den SEAL 911 Telegram Bot erreicht werden. Im Falle eines Hackerangriffs kann ein Krisenmanagement eingerichtet werden, um das Protokoll zu unterstützen.
Ursachenanalyse
Wenn ein Angriff auftritt, muss das Protokoll die Ursache verstehen, z. B. die Schwachstelle innerhalb der Smart Contracts und wie sie ausgenutzt wurde. Dies erfordert einige nützliche Werkzeuge zur Analyse der Angriffstransaktionen. Phalcon Explorer, OpenChain und Tenderly können für diesen Zweck verwendet werden.
Nachverfolgung der Gelder
Die Nachverfolgung der Gelder dient dazu, die anfänglichen Gelder des Angreifers und die Angriffsgewinne auf der Blockchain zu verfolgen, um die zugehörigen Adressen und Entitäten zu lokalisieren. Wenn die Vermögenswerte in zentralisierte Entitäten (z. B. zentrale Börsen und andere institutionelle Entitäten) fließen, können Strafverfolgungsbehörden kontaktiert werden, um bei der Einfrierung der Gelder zu helfen.
Mehrere Unternehmen und Tools fallen in diese Kategorie, darunter Chainalysis, TRM Labs, ARKHAM, ELLIPTIC, MetaSleuth und andere.
- Zum Beispiel kann MetaSleuth von BlockSec entwickelt, Gelder über verschiedene Ketten hinweg mit umfangreichen Beschriftungen von Wallet-Adressen automatisch verfolgen.
- ARKHAM verfügt über eine Community, in der das Protokoll eine Prämie für die Untersuchung ausschreiben kann, was die Community dazu anregt, bei der Verfolgung der Gelder des Angreifers zu helfen.
Sicherheitserziehungsressourcen
Informierte Köpfe bauen stärkere Abwehrkräfte. Neben den oben genannten Sicherheitsanbietern und Produkten gibt es eine weitere entscheidende Komponente der DeFi-Sicherheit: Bildungsplattformen.
Diese Plattformen bieten wesentliche Ressourcen für DeFi-Praktiker und -Nutzer, um Sicherheitskenntnisse zu erlangen, das Bewusstsein zu schärfen und Sicherheitsfähigkeiten zu entwickeln. Sie spielen eine entscheidende Rolle bei der Weiterentwicklung der DeFi-Sicherheit. Wir würdigen diese Bildungsplattformen und listen einige bemerkenswerte Beispiele auf.
- SΞCURΞUM: Eine Discord-Community, die sich auf die Ethereum-Sicherheit konzentriert. Sie veranstaltet auch monatlich ein Smart Contract-Sicherheitsquiz, den "Secureum RACE".
- Security Incidents Dashboard: Diese Plattform sammelt alle Angriffsereignisse, die zu Verlusten über 100.000 US-Dollar führten, und liefert Details zu Verlusten, betroffenen Ketten, Schwachstellen, Ursachen und Proofs of Concept (PoCs).
- Rekt: Bekannt als das Dark Web der DeFi-Journalistik, liefert Rekt tiefgehende Analysen von Exploits, Hacks und Betrügereien im Ökosystem.
- RugDoc: Eine Community für DeFi-Sicherheit und Bildung, die Projektrisiken bewertet. Sie bietet auch eine Plattform namens RugDocWiKi, die das DeFi-Ökosystem und die Technologie vorstellt.
- DeFiHackLabs: Eine Web3-Sicherheitsgemeinschaft mit über 2.600 Mitgliedern und fast 200 White-Hat-Hackern, die darauf abzielt, die Sicherheitskompetenz zwischen Web2 und Web3 zu verbinden.
- Solodit: Eine Plattform, die historische Berichte verschiedener Web3-Auditierungsunternehmen zusammenstellt und als wertvolle Ressource für Smart Contract-Auditoren dient.
- Ethernaut: Ein auf Web3/Solidity basierendes Spiel, bei dem Spieler Ethereum-Contract-Schwachstellen identifizieren, ähnlich wie bei CTF-Herausforderungen.
Fazit
Sicherheit ist nach wie vor eine fortlaufende und ernste Bedrohung für das DeFi-Ökosystem, die jedes Jahr Milliardenverluste verursacht. Derzeit werden die meisten Sicherheitsmaßnahmen in der Vor-Veröffentlichungsphase durchgeführt. Es gibt jedoch keine Patentlösung in der Sicherheit, und verschiedene Methoden sollten während des gesamten Lebenszyklus eines DeFi-Protokolls angewendet werden. Wir erwarten, dass die Branche Lösungen für die Sicherheit nach der Veröffentlichung einführen wird, um Angriffe zu überwachen und, was noch wichtiger ist, automatisch zu blockieren. Wir gehen davon aus, dass eine "Security-First"-Kultur im Ökosystem etabliert wird, um die Nutzervermögen vollständig zu schützen.



