Was ist ein Smart Contract Security Audit?

TL;DR

Ein Sicherheitsaudit für Smart Contracts bietet eine detaillierte Analyse der Smart Contracts eines Projekts. Diese sind wichtig, um die über sie investierten Gelder zu schützen. Da alle Transaktionen auf der Blockchain endgültig sind, können die Gelder im Falle eines Diebstahls nicht zurückgeholt werden. In der Regel untersuchen die Prüfer den Code der intelligenten Verträge, erstellen einen Bericht und stellen ihn dem Projekt zur Verfügung, damit es damit arbeiten kann. Anschließend wird ein Abschlussbericht veröffentlicht, in dem alle noch ausstehenden Fehler und die bereits geleistete Arbeit zur Behebung von Leistungs- oder Sicherheitsproblemen aufgeführt sind.

Einführung

Sicherheitsüberprüfungen von Smart Contracts sind im Ökosystem des dezentralen Finanzwesens (DeFi) sehr verbreitet. Wenn Sie in ein Blockchain-Projekt investiert haben, könnte Ihre Entscheidung teilweise auf den Ergebnissen einer Smart-Contract-Code-Prüfung beruht haben.

Während die meisten Menschen die Bedeutung von Audits für die Cybersicherheit verstehen, tauchen nicht viele in die Zeilen des Codes ein. Werfen wir einen Blick auf die Methoden, Tools und Ergebnisse, die typischerweise bei Sicherheitsaudits von Smart Contracts zu sehen sind, damit Sie fundiertere Entscheidungen treffen können.

Was ist ein Smart-Contract-Audit?

Bei einem Smart-Contract-Sicherheitsaudit wird der Smart-Contract-Code eines Projekts untersucht und kommentiert. In der Regel werden diese Verträge in der Programmiersprache Solidity geschrieben und über GitHub bereitgestellt. Sicherheitsprüfungen sind besonders wertvoll für DeFi-Projekte, die Blockchain-Transaktionen im Wert von Millionen von Dollar oder eine große Anzahl von Spielern abwickeln wollen. Die Audits folgen in der Regel einem vierstufigen Prozess:

1. Intelligente Verträge werden dem Prüfungsteam für eine erste Analyse zur Verfügung gestellt.

2. Das Prüfungsteam legt seine Ergebnisse dem Projekt vor, damit es darauf reagieren kann.

3. Das Projektteam nimmt auf der Grundlage der gefundenen Probleme Änderungen vor.

4. Das Auditteam veröffentlicht seinen Abschlussbericht und berücksichtigt dabei alle neuen Änderungen und offenen Fehler.

Für viele Krypto-Nutzer sind Smart-Contract-Audits unerlässlich, wenn sie in neue DeFi-Projekte investieren. Sie sind zu einem Standard für Projekte geworden, die ernst genommen werden wollen. Bestimmte Audit-Anbieter werden auch als Branchenführer angesehen, was ihre Audits in den Augen der Investoren wertvoller macht.

Warum brauchen wir Audits für intelligente Verträge?

Da über Smart Contracts große Mengen an Werten abgewickelt werden, werden sie zu attraktiven Zielen für bösartige Hackerangriffe. Geringfügige Kodierungsfehler können dazu führen, dass riesige Geldsummen gestohlen werden. So wurden beispielsweise durch den DAO-Hack auf der Ethereum-Blockchain ETH im Wert von rund 60 Millionen Dollar gestohlen, was sogar zu einer harten Abspaltung des Ethereum-Netzwerks führte.

Da Blockchain-Transaktionen unumkehrbar sind, muss sichergestellt werden, dass der Code eines Projekts sicher ist. Die hochgradig sichere Natur der Blockchain-Technologie macht es schwierig, Gelder zurückzuholen und Probleme im Nachhinein zu lösen, daher ist es besser, Schwachstellen um jeden Preis zu vermeiden.

Wie funktionieren Prüfungen von intelligenten Verträgen?

Der Ablauf eines Smart-Contract-Audits ist bei den Audit-Anbietern ziemlich standardisiert. Der Ansatz jedes Prüfers kann sich zwar leicht unterscheiden, aber der typische Ablauf ist wie folgt:

1. Bestimmen Sie den Umfang der Prüfung. Die Spezifikationen des Smart Contracts und des Projekts werden durch das Projekt (den beabsichtigten Zweck) und die Gesamtarchitektur definiert. Eine Spezifikation hilft dem Prüfungsteam, die Ziele des Projekts beim Schreiben und Verwenden des Codes zu verstehen.

2. Erstellen Sie einen ersten Kostenvoranschlag auf der Grundlage des erforderlichen Arbeitsumfangs.

3. Durchführung von Tests. Die genaue Art der Tests hängt vom Prüfungsteam, seinen Analysewerkzeugen und seinen Methoden ab. In der Regel werden sowohl manuelle als auch automatisierte Tests durchgeführt.

4. Erstellen Sie einen ersten Entwurf des Berichts mit den gefundenen Fehlern und stellen Sie ihn dem Projektteam für Rückmeldungen und Nachbesserungen zur Verfügung.

5. Veröffentlichen Sie den Abschlussbericht unter Berücksichtigung aller Maßnahmen, die das Team zur Behebung der festgestellten Probleme ergriffen hat.

Methoden zur Prüfung intelligenter Verträge

Effizienz von Gas

Smart Contract Audits konzentrieren sich nicht nur auf die Sicherheit der Blockchain. Sie befassen sich auch mit Effizienz und Optimierung. Einige Verträge führen eine komplizierte Reihe von Transaktionen durch, um ihre beabsichtigte Funktion zu erfüllen. Da Gasgebühren in Netzwerken wie Ethereum relativ kostspielig sind, können effiziente Verträge eine Menge Transaktionskosten sparen.

Die Optimierung ihrer Leistung ist auch ein Indikator für die Fähigkeiten des Entwicklers. Ineffiziente Schritte bieten mehr Ansatzpunkte für Fehler und sollten vermieden werden. Wenn die Gaskosten hoch sind, kann es vorkommen, dass intelligente Verträge nicht ausgeführt werden, vor allem, wenn eine niedrige Gasgrenze verwendet wird.

Schwachstellen in Verträgen

Ein Großteil der Arbeit bei Prüfungen besteht darin, Verträge auf Sicherheitslücken zu überprüfen. Während einige Schwachstellen leicht zu erkennen sind, beinhalten viele Angriffe fortgeschrittene Techniken und Strategien, um Gelder abzuziehen. So können beispielsweise Marktmanipulationen mit schwachen Smart Contracts genutzt werden, um Flash Loan-Angriffe durchzuführen. Um diese Schwachstellen zu finden, beginnen die Prüfer mit dem Break-Testing-Prozess und simulieren böswillige Angriffe auf den Smart Contract. Häufige Schwachstellen sind:

1. Reentrancy-Probleme: Wenn ein intelligenter Vertrag einen externen Aufruf an einen anderen externen Vertrag macht, bevor irgendwelche Effekte aufgelöst sind. Der externe Vertrag kann dann den ursprünglichen intelligenten Vertrag rekursiv aufrufen und mit ihm auf eine Art und Weise interagieren, wie es nicht möglich sein sollte, da der Saldo des ursprünglichen Vertrags noch nicht aktualisiert wurde.
2. Integer-Überläufe und Unterläufe: Wenn ein intelligenter Vertrag eine arithmetische Operation ausführt, die Ausgabe jedoch die Speicherkapazität (in der Regel 18 Dezimalstellen) übersteigt. Dies kann dazu führen, dass falsche Beträge berechnet werden.
3. Gelegenheiten für Front Running: Schlecht strukturierter Code kann eine Vorwarnung vor Marktkäufen oder -verkäufen liefern. Dies wiederum kann es anderen ermöglichen, die Informationen zu nutzen und zu ihrem eigenen Vorteil zu handeln.

Sicherheitslücken in Plattformen

Bei den meisten Audits werden das Netzwerk, in dem die Verträge gehostet werden, und sogar die API, die zur Interaktion mit der DApp verwendet wird, geprüft. Ein Projekt kann für einen DDoS-Angriff anfällig sein oder die Benutzeroberfläche seiner Website könnte kompromittiert sein, was bedeutet, dass die Nutzer ihre Wallets mit bösartigen Blockchain-Anwendungen verbinden.

Was ist ein Audit-Bericht?

Der Auditbericht wird am Ende des Auditprozesses vorgelegt. Aus Gründen der Transparenz wird von den Projekten erwartet, dass sie ihre Ergebnisse mit der Gemeinschaft teilen. In den meisten Berichten werden die Probleme nach ihrem Schweregrad kategorisiert, z. B. als kritisch, schwerwiegend, geringfügig usw. Im Bericht wird auch der Status des Problems aufgeführt, da die Projekte Zeit haben, es vor der Veröffentlichung des Abschlussberichts zu beheben.

Ein Standardbericht enthält neben einer Zusammenfassung auch Empfehlungen, Beispiele für redundanten Code und eine vollständige Aufschlüsselung der Kodierungsfehler. Dem Projekt wird Zeit gegeben, um auf die Ergebnisse des Berichts zu reagieren, bevor die endgültige Version freigegeben wird.

Wo kann ich ein Smart-Contract-Audit erhalten?

Eine Reihe von Smart-Contract-Audit-Diensten sind für ihre Dienstleistungen bekannt. Zwei davon sind besonders beliebt. Um eine Prüfung von ihnen zu erhalten, sind ein erster Kostenvoranschlag und die Übermittlung von Informationen erforderlich.

CertiK

CertiK ist ein Branchenführer im Bereich der Smart-Contract-Audits. Hunderte von Projekten haben ihre Smart Contracts mit CertiK auditiert. PancakeSwap, der größte Automated Market Maker (AMM) von BSC, ist ein Beispiel dafür. Nachfolgend finden Sie einen Ausschnitt aus dem Audit von Certik zu PancakeSwap.

Auch die überwiegende Mehrheit der von Binance Labs unterstützten Projekte haben ihre Verträge mit CertiK auditiert. CertiK veröffentlicht eine Rangliste der geprüften Projekte, die es Ihnen ermöglicht, jedes Projekt zu vergleichen, zusammen mit einer Sicherheitsbewertung. Beachten Sie, dass CertiK neben Ethereum auch BSC- und Polygon-Projekte abdeckt.

ConsenSys Sorgfaltspflicht

ConsenSys wird von Joseph Lubin, einem Mitbegründer von Ethereum, geleitet und ist einer der größten Namen der Kryptowährungsbranche in der Blockchain-Entwicklung. Unter ConsenSys Diligence bietet das Unternehmen Ethereum Smart Contract Audits an. Sie bieten auch einen automatisierten Service, der Ethereum Virtual Machine (EVM) Verträge auf häufig gefundene Fehler überprüft.

Wie viel kostet ein Smart-Contract-Audit?

Die genauen Kosten einer Prüfung hängen von der Anzahl der zu prüfenden intelligenten Verträge ab. In der Regel geht eine Prüfung in die Tausende von Dollar. Ein besonders großes Projekt kann leicht über 10.000 Dollar kosten. Der Preis hängt auch von der Prüfungsfirma ab, die die Prüfung durchführt, und von ihrem Ruf.

Abschließende Gedanken

Zum Glück für Investoren und Nutzer sind Smart-Contract-Audits mittlerweile ein goldener Standard. Wenn jedoch jedes Projekt eines hat, ist es kein einfacher Indikator für den Wert mehr. Aus diesem Grund ist es unglaublich wichtig, das Audit selbst zu lesen. Selbst wenn Sie nicht über das technische Wissen verfügen, ist es hilfreich, einen Blick auf die Kommentare und den Schweregrad möglicher Probleme zu werfen.

Wenn Sie auf ein Audit stoßen, sollten Sie nun zumindest den Inhalt leichter verstehen können. Wie immer sollten Sie darauf achten, dass Sie bei einer Investitionsentscheidung das Gesamtbild betrachten und alle Informationen in Betracht ziehen.

Leave a Comment

Your email address will not be published.

Scroll to Top