Ethereum macht Fortschritte mit Standards für Smart Contract Security Audits

Das Ethereum-Ökosystem tut dies weiterhin Zeuge eine Flut von Aktivitäten, bei der Einzelpersonen und Organisationen Token-Verträge einsetzen, Liquidität zu Pools hinzufügen und intelligente Verträge einsetzen, um eine breite Palette von Geschäftsmodellen zu unterstützen. Dieses Wachstum ist zwar bemerkenswert, aber auch von Sicherheitslücken durchsetzt, wodurch Protokolle für dezentralisierte Finanzen (DeFi) anfällig für Hacks und Betrug sind.

Zum Beispiel die jüngsten Erkenntnisse des Krypto-Geheimdienstes Chainalysis Show dass kryptobezogene Hacks von Anfang des Jahres bis Juli 2022 um 58,3 % zugenommen haben. Der Bericht stellt weiter fest, dass in diesem Zeitraum 1,9 Milliarden US-Dollar durch Hacks verloren gegangen sind – eine Zahl, die den Nomad-Bridge-Hack in Höhe von 190 Millionen US-Dollar nicht einschließt erfolgte am 01.08.2022.

Obwohl Open-Source-Code für die Blockchain-Industrie von Vorteil sein kann, kann er leider leicht von Cyberkriminellen untersucht werden, die nach Exploits suchen. Sicherheitsaudits für Smart Contracts zielen darauf ab, diese Herausforderungen zu lösen, aber diesem Verfahren fehlen Industriestandards, was zu Komplexität führt.

Ein Industriestandard zur Gewährleistung der Smart Contract-Sicherheit

Chris Cordi, Vorsitzender der EthTrust Security Levels Working Group bei der Enterprise Ethereum Alliance (EEA), sagte gegenüber Cointelegraph, dass mit dem Wachstum der Ethereum-Blockchain-Industrie auch die Notwendigkeit eines ausgereiften Frameworks zur Bewertung der Sicherheit von Smart Contracts wächst.

Um dies anzugehen, half Cordi im November 2020 zusammen mit mehreren Vertretern der EEA-Mitglieder mit Prüfungs- und Sicherheitsexpertise bei der Einrichtung der EthTrust-Arbeitsgruppe für Sicherheitsstufen. Die Organisation arbeitet seitdem an einem Entwurfsdokument einer intelligenten Vertragsspezifikation oder Branche Standard, der darauf abzielt, die Sicherheit hinter intelligenten Kontakten zu verbessern.

Zuletzt gab die Arbeitsgruppe die Veröffentlichung der EthTrust Security Levels Specification v1 bekannt. Chaals Nevile, technischer Programmdirektor der EEA, sagte gegenüber Cointelegraph, dass diese Spezifikation Smart-Contract-Schwachstellen beschreibt, die ein ordnungsgemäßes Sicherheitsaudit als Mindestmaß an Qualität erfordert:

„Es ist für alle EVM-basierten Smart-Contract-Plattformen relevant, bei denen Entwickler Solidity als Programmiersprache verwenden. In einer aktuellen Analyse von Splunk sind dies weit über 3/4 der Mainnet-Verträge. Aber es gibt auch private Netzwerke und Projekte, die auf dem Ethereum-Technologie-Stack basieren, aber eine eigene Kette betreiben. Diese Spezifikation ist für sie ebenso nützlich wie für Mainnet-Benutzer, um ihre Arbeit zu sichern.“

Aus technischer Sicht erklärte Nevile, dass die neue Spezifikation drei Testebenen umreißt, die Unternehmen bei der Durchführung von Smart Contract Security Audits berücksichtigen sollten.

“Eben [S] ist so konzipiert, dass in den meisten Fällen, in denen gemeinsame Merkmale von Solidity nach bekannten Mustern verwendet werden, getesteter Code durch ein automatisiertes Werkzeug zur „statischen Analyse“ zertifiziert werden kann“, sagte er.

Er fügte hinzu, dass das Level [M] Der Test erfordert eine strengere statische Analyse, wobei zu beachten ist, dass dies Anforderungen umfasst, bei denen von einem menschlichen Prüfer erwartet wird, dass er feststellt, ob die Verwendung einer Funktion erforderlich ist oder ob eine Behauptung über die Sicherheitseigenschaften des Codes gerechtfertigt ist.

Nevile erklärte weiter, dass das Level [Q] test bietet eine Analyse der Geschäftslogik, die der getestete Code implementiert. „Damit soll sichergestellt werden, dass der Code keine bekannten Sicherheitslücken aufweist, und gleichzeitig sichergestellt werden, dass das, was er behauptet, korrekt implementiert wird“, sagte er. Es gibt auch einen optionalen Test zu „empfohlenen bewährten Verfahren“, der dazu beitragen kann, die Sicherheit hinter intelligenten Verträgen zu verbessern. Neville sagte:

„Die Verwendung des neuesten Compilers ist eine der ‚empfohlenen guten Praktiken’. In den meisten Fällen ist es ziemlich einfach, aber es gibt viele Gründe, warum ein Vertrag möglicherweise nicht mit der neuesten Version bereitgestellt wurde. Andere bewährte Verfahren umfassen das Melden neuer Schwachstellen, damit sie in einem Update der Spezifikation behoben werden können, und das Schreiben von sauberem, leicht lesbarem Code.“

Insgesamt gibt es 107 Anforderungen innerhalb der gesamten Spezifikation. Laut Nevile sind etwa 50 davon Level [S] Anforderungen, die sich aus Fehlern in s ergebenSoliditäts-Compiler.

Wird ein Industriestandard Organisationen und Entwicklern helfen?

Nevile wies darauf hin, dass die EthTrust Security Levels Specification letztendlich darauf abzielt, Prüfern dabei zu helfen, den Kunden zu zeigen, dass sie auf einem branchenüblichen Niveau arbeiten. „Auditoren können auf diesen Industriestandard verweisen, um grundlegende Glaubwürdigkeit herzustellen“, sagte er.

Kürzlich: Web3-Spiele enthalten Funktionen, um die Teilnahme von Frauen zu fördern

Ronghui Gu, CEO und Mitbegründer des Blockchain-Sicherheitsunternehmens CertiK, beleuchtete dies und sagte gegenüber Cointelegraph, dass Standards wie diese dazu beitragen, die erwarteten Prozesse und Richtlinien sicherzustellen. Er stellte jedoch fest, dass solche Standards keineswegs ein „Stempel“ sind, um anzuzeigen, dass ein Smart Contract absolut sicher ist:

„Es ist wichtig zu verstehen, dass nicht alle Prüfer für intelligente Verträge gleich sind. Die Prüfung von Smart Contracts beginnt mit dem Verständnis und der Erfahrung des spezifischen Ökosystems, für das ein Smart Contract geprüft wird, sowie des verwendeten Technologie-Stacks und der verwendeten Codesprache. Nicht alle Codes oder Ketten sind gleich. Erfahrung ist hier wichtig für Berichterstattung und Erkenntnisse.“

Angesichts dessen glaubt Gu, dass Unternehmen, die ihre Smart Contracts prüfen lassen wollen, über die Zertifizierung hinausblicken sollten, die ein Prüfer zu haben behauptet, und die Qualität, den Umfang und den Ruf des Prüfers berücksichtigen sollten. Da es sich bei diesen Standards um Richtlinien handelt, bemerkte Gu, dass er diese Spezifikation für einen guten Ausgangspunkt halte.

Aus Entwicklersicht können sich diese Spezifikationen als äußerst vorteilhaft erweisen. Mark Beylin, Mitbegründer von Myco – einem aufstrebenden Blockchain-basierten sozialen Netzwerk – sagte gegenüber Cointelegraph, dass diese Standards unglaublich wertvoll sein werden, um Smart-Contract-Entwicklern dabei zu helfen, besser zu verstehen, was sie von einem Sicherheitsaudit erwarten können. Er sagte:

„Derzeit gibt es viele verstreute Ressourcen für die Sicherheit intelligenter Verträge, aber es gibt kein bestimmtes Regelwerk, das Prüfer befolgen, wenn sie die Sicherheit eines Projekts bewerten. Mit dieser Spezifikation können sich sowohl Sicherheitsprüfer als auch ihre Kunden darüber im Klaren sein, welche Art von Sicherheitsanforderungen überprüft werden.“

Michael Lewellen, ein Entwickler und Mitwirkender an der Spezifikation, sagte gegenüber Cointelegraph weiter, dass diese Spezifikationen helfen, indem sie eine Checkliste bekannter Sicherheitsprobleme bereitstellen, die überprüft werden können. „Viele Solidity-Entwickler haben in letzter Zeit keine formelle Ausbildung oder Schulung in den Sicherheitsaspekten der Solidity-Entwicklung erhalten, aber Sicherheit wird immer noch erwartet. Spezifikationen wie diese machen es einfacher, herauszufinden, wie man Code sicherer schreibt“, sagte er.

Recent: Ethereum Merge fordert Miner und Mining-Pools auf, eine Wahl zu treffen

Lewellen bemerkte auch, dass die meisten Spezifikationsanforderungen auf einfache Weise geschrieben sind, was es Entwicklern leicht macht, sie zu verstehen. Er merkte jedoch an, dass nicht immer klar sei, warum eine Anforderung enthalten sei. „Einige haben Links zu einer externen Dokumentation einer Schwachstelle, andere nicht. Für Entwickler wäre es einfacher zu verstehen, wenn sie klarere Beispiele dafür hätten, wie konformer und nicht konformer Code aussehen könnte.“

Die Entwicklung von Smart-Contract-Sicherheitsstandards

Alles in allem trägt die Spezifikation des Sicherheitsniveaus dazu bei, das Ethereum-Ökosystem voranzubringen, indem Richtlinien für intelligente Vertragsprüfungen festgelegt werden. Nevile merkte jedoch an, dass der schwierigste Aspekt in der Zukunft darin besteht, vorherzusehen, wie ein Exploit auftreten könnte. Er sagte:

„Diese Spezifikation löst diese Herausforderungen nicht vollständig. Was die Spezifikation jedoch tut, ist bestimmte Schritte zu identifizieren, wie die Dokumentation der Architektur und der Geschäftslogik hinter Verträgen, die wichtig sind, um ein gründliches Sicherheitsaudit zu ermöglichen.“

Gu glaubt auch, dass verschiedene Ketten damit beginnen werden, ähnliche Standards zu entwickeln, wenn Web3 Fortschritte macht. Zum Beispiel entwickeln einige Entwickler in der Ethereum-Branche ihre eigenen Smart-Contract-Anforderungen, um anderen zu helfen. Zum Beispiel hat Samuel Cardillo, Chief Technology Officer bei RTFKT, kürzlich getwittert, dass er ein System geschaffen hat, mit dem Entwickler Smart Contracts öffentlich nach guten und schlechten Elementen in Bezug auf die Entwicklung bewerten können:

Obwohl all dies ein Schritt in die richtige Richtung ist, wies Gu darauf hin, dass Standards Zeit brauchen, bis sie weit verbreitet sind. Darüber hinaus erklärte Nevile, dass Sicherheit niemals statisch ist. Daher erklärte er, dass es Einzelpersonen möglich sei, Fragen an die Arbeitsgruppe zu senden, die die Spezifikation verfasst habe. „Wir werden dieses Feedback aufnehmen und uns ansehen, welche Diskussionen im breiteren öffentlichen Raum geführt werden, da wir erwarten, die Spezifikation zu aktualisieren“, sagte Nevile. Er fügte hinzu, dass eine neue Version der Spezifikation innerhalb von sechs bis achtzehn Monaten erstellt werde.