Web 3.0 ist ein dezentralisiertes Internet, das die Verwendung dezentralisierter Protokolle beinhaltet, die auf Blockchain bereitgestellt und von virtuellen Maschinen ausgeführt werden. Diese dezentralen Anwendungen werden Smart Contracts genannt.
Die Nutzung von Web 3.0 ist in hohem Maße mit Geld in Form von Kryptowährungen über die DeFi- und NFT-Märkte verbunden. Finanzanwendungen des Web 3.0 sind derzeit zentral. Schließlich müssen Sie für jede Transaktion, die Sie tätigen, etwas Kryptowährung ausgeben, um Miner und Validatoren für ihren Service zur Verarbeitung Ihrer Transaktion zu bezahlen.
Aber wenn Sie ein System haben, das für den Umgang mit Cashflows ausgelegt ist, muss es sicher aufgebaut sein. Aber Web 3.0 befindet sich derzeit in einem sehr frühen Entwicklungsstadium und sieht eher aus wie experimentelle Tests als wie eine solide Technologie. Und wie es heutzutage bei den meisten neuen digitalen Technologien üblich ist, ist die Sicherheit eines der großen Kinderkrankheiten des Web 3.0. Dennoch hat es bereits beträchtliches Risikokapital erhalten, das durch verlockende Belohnungen angelockt wird.
Und jedes neue technologische Unterfangen, in dem viel Geld steckt und in dem eine Reihe ungepatchter Schlupflöcher steckt, wird natürlich zu einem Köder für Hacker, die bereit sind, sie zu ihrem eigenen finanziellen Vorteil zu nutzen. Darüber hinaus macht die dezentrale Natur des Web 3.0 und das Fehlen der Notwendigkeit, Ihre persönlichen Daten anzugeben, es für Cyberkriminelle umso attraktiver.
Und die Höhe der Investition ist der beste Indikator für das Potenzial einer Branche. Man kann also mit Sicherheit sagen, dass Web 3.0 ein gutes Potenzial hat
von denen einige wahrscheinlich ungenutzt bleiben. Um seine Entwicklung voranzutreiben, müssen die Sicherheitsstandards angehoben werden.Was sind die größten Bedrohungen für die Sicherheit von DeFi?
Die aktuell bestehenden Bedrohungen im Zusammenhang mit Cyberangriffen auf das Web 3.0 lassen sich in zwei Gruppen einteilen
Schwachstellen im Code und Schwachstellen in der Geschäftslogik von Smart Contracts. Die erste Gruppe umfasst Exploits von virtuellen Maschinen, Mempool-Überlastungen und Reentrancy-Angriffe. Sie sind darauf ausgelegt, die Funktionen und die Ausführungsreihenfolge ihrer Befehle auszunutzen.Im Wesentlichen beschädigen diese Exploits die dezentrale Software nicht im herkömmlichen Sinne, wie dies bei Angriffen auf zentrale IT-Infrastrukturen und Personalcomputer der Fall ist. Sie nutzen einfach die Möglichkeiten aus, die von Programmierern unbeabsichtigt bereitgestellt wurden.
Es kann auf unterschiedliche Weise geschehen. Häufig verwenden Entwickler die Codebasis anderer Open-Source-Projekte, nehmen aber gleichzeitig einige Änderungen daran vor, die geringfügig erscheinen mögen und die Funktionsweise des Smart Contracts nicht beeinflussen. Sie könnten sich jedoch letztendlich als falsch erweisen, da diese Änderungen die Mechanismen des intelligenten Vertragsbetriebs auf unvorhergesehene Weise beeinflussen können.
Reentrancy-Angriffe sind als eine der klassischen Angriffsarten dezentraler Protokolle in die Geschichte der Blockchain eingegangen. Sie zielen auf die sogenannte Callback-Funktion ab und funktionieren im Vertrag über deren Guthaben. Diese Funktion wird in den Smart Contracts von Kreditprotokollen verwendet, da sie benötigt wird, um die Sicherheiten des Benutzers auf der Plattform zu überwachen und die Höhe der Gelder zu berechnen, die er leihen kann.
Wenn ein Nutzer Geld leiht, fragt er die „Callback-Funktion“ ab, die den Kontostand des Nutzers im Vertrag prüft und einen entsprechenden Betrag an Liquidität als Darlehen ausgibt. Dieser Prozess besteht aus drei Vorgängen – der Überprüfung des Kontostands des Benutzers, der Berechnung des Kontostands des Benutzers nach der Ausgabe des Darlehens und der Ausgabe des Darlehens als solchem.
Abhängig von der Orderausführung dieser Operationen in der Callback-Funktion gibt es möglicherweise eine Möglichkeit, das System zu täuschen und mehr Liquidität zu nehmen, als Ihre Sicherheiten zulassen.
Zuerst geht die Saldenprüfung, dann geht es entweder um die Kreditvergabe oder um die Berechnung des veränderten Saldos. Wenn das Darlehen zuerst ausgegeben wird und am Ende der Codesequenz ein Rückruf erfolgt, kann der Benutzer den Prozess von vorne beginnen, während diese Transaktion nicht abgebaut und der Blockchain hinzugefügt wird.
Zum Beispiel haben Sie 200 $ Sicherheiten und nehmen einen Kredit von 100 $ für 100 $ Ihrer Sicherheiten auf. Wenn das Darlehen zuerst vergeben wird und Sie den Rückruf abfragen, bevor die Auswirkungen Ihrer Maßnahmen auf der Blockchain abgeschlossen sind, können Sie ein weiteres Darlehen für eine unveränderte Höhe der Sicherheit aufnehmen. Dieses Verfahren kann mehrere Iterationen erfordern und es dem Benutzer ermöglichen, die Liquidität des Vertrags zu entleeren.
Der Weg, den Vertrag vor dieser Cyberbedrohung zu schützen, wird als Checks-Effects-Interactions-Muster bezeichnet. Dieses Muster setzt die Berechnung des Kontostands des Benutzers im Vertrag vor der Ausgabe von Geldern. Dieses einfache Muster funktioniert jedoch für Reentrancy-Angriffe auf die Callback-Funktion selbst, aber funktionsübergreifende Reentrancy-Angriffe sind schwieriger zu verteidigen.
Reentrancy-Angriffe werden jedoch immer seltener, da neue Frameworks entwickelt wurden, um sie zu eliminieren. Heutzutage konzentrieren DeFi-Hacker ihre Bemühungen mehr darauf, Inkonsistenzen in der Geschäftslogik von Smart Contracts auszunutzen, wobei sie oft zahlreiche Protokolle verwenden, um Gelder von einem zu stehlen. Bei solchen Angriffen handelt es sich häufig um Flash-Loan-Dienste, die es Ihnen ermöglichen, einen Kredit ohne Hinterlegung von Sicherheiten aufzunehmen.
Einer der größten Flash-Loan-Angriffe wurde im Dezember 2021 auf Cream Finance durchgeführt. Er führte zum Diebstahl von Kryptowährungen und Token im Wert von 130 Millionen Dollar. An dem Angriff waren zwei Adressen beteiligt, die Flash-Loan-Plattformen wie MakerDAO, AAVE, Yearn.finance und Curve nutzten, um Gelder von Cream Finance abzuheben.
Am Ende nutzte der Angreifer eine Lücke in der Bewertung des Preises von cryUSD durch PriceOracleProxy von Cream aus Stablecoin. PriceOracleProxy bewertet cryUSD basierend auf dem Preis der yUSDVault Stablecoin (die Yearn.finance Stablecoin), die im yUSD Yearn Vault gehalten wird.
Creams an den USD gebundeneNachdem der Angreifer mehrere Manipulationen mit der von MakerDAO geliehenen Liquidität vorgenommen hatte, fügte er acht Millionen yUSD zum acht Millionen yUSDVault hinzu. Der Cream Finance PriceOracleProxy nahm dies so wahr, dass yUSDVault jetzt 2 USD statt einem kostet, und verdoppelte den Preis von cryUSD.
So erhielt der Angreifer 3 Milliarden Dollar in 1,5 Milliarden cryUSD, die aus 1,5 Milliarden Dollar yUSDVault geprägt worden waren. Dies ermöglichte es dem Angreifer, das Darlehen und die Zinsen zurückzuzahlen und die verbleibende 1 Milliarde US-Dollar zu verwenden, um Cream Finance Liquidität im Wert von 130 Millionen US-Dollar zu entziehen.
Wie sieht die Zukunft für Web 3.0 aus?
Um Web 3.0 sicherer zu machen, sollten Sicherheitsstandards angehoben werden. Dies erfordert kompetente Mitarbeiter, um Web 3.0 von Grund auf aufzubauen, und qualifizierte Sicherheitsspezialisten, die für Web 3.0-Unternehmen arbeiten. Während DeFi und andere Entitäten des Web 3.0 ein hohes Maß an Risiken bergen, ist es unvernünftig zu erwarten, dass die Mainstream-Öffentlichkeit Web 3.0 annehmen wird. Um dies zu beschleunigen, können wir auch die besten Sicherheitspraktiken von CeFi übernehmen und in dezentralen Systemen implementieren.
Dmitry Mishunin ist Gründer und CEO des DeFi-Sicherheits- und Analyseunternehmens HashEx. Er widmet viel Zeit wissenschaftlichen Aktivitäten, wie der Erforschung von IT-Systemen, Blockchain und Schwachstellen in DeFi.
Ausgewähltes Bild: Shutterstock/kaptn