bool(false)

Neues Meta-Tool für Smart Contract Sicherheit

Neues Meta-Tool für Smart Contract Sicherheit
Kriminelle nutzen Schwachstellen in Smart Contracts aus. MAS-Absolvent Luca Stäheli hat eine Plattform entwickelt, welche die Dienste mehrerer Analysetools vereint und damit die Sicherheit digitaler Verträge erhöht.

Von Luca Stäheli

So werden Smart Contracts sicherer: Luca Stäheli hat in seiner MAS-Arbeit einen Prototyp entwickelt, welcher digitale Verträge in der Blockchain auf ihre Sicherheit hin untersucht. In diesem Beitrag erklärt er, was es damit auf sich hat.

Die Blockchain kann mehr als Kryptowährungen. Smart Contracts etwa erlauben es, auf der Blockchain eine Abmachung nach vordefinierten Regeln automatisch umzusetzen. Ethereum ist der Vorreiter bei diesen smarten Verträgen. Ethereum beinhaltet, ähnlich wie Bitcoin, eine blockchainbasierte Kryptowährung. Neben den Transaktionen kann zusätzlich aber auch Code gespeichert werden.

Was sind Smart Contracts

Smart Contracts sind automatische digitale Verträge. Sie basieren auf der Blockchain-Technologie und sind durch kryptografische Verschlüsselungsverfahren gesichert. Viele Geschäftsfälle werden inzwischen durch solche Verträge abgebildet. Ethereum ist dafür eine beliebte Plattform. Zu den Anwendungsfällen gehört zum Beispiel Crowdfunding (wenn der angepeilte Betrag nicht erreicht wird, erhalten alle Teilnehmenden ihr Geld zurück), Shared Wallets (alle Teilnehmenden müssen zustimmen), Versicherungen oder auch Glücksspiele. Smart Contracts dürften viele Institutionen überflüssig machen, die heute noch dafür sorgen, dass die Parteien eines Vertrags einander vertrauen können.

Wie funktionieren Smart Contracts

Smart Contracts sind kleine Programme, die Transaktionen empfangen und selbst abwickeln können. Diese Verträge besitzen eine öffentliche Adresse und können auch ein Guthaben führen. Die Codezeilen in einem intelligenten Vertrag enthalten alle Bedingungen einer Vereinbarung zwischen zwei oder mehreren Parteien und führen diese automatisch aus, sobald bestimmte Bedingungen erfüllt sind.

Wo Geld ist, ist auch Kriminalität

Weil Smart Contracts oft mit einer riesigen Menge von Kryptowährungen umgehen, wurden sie in den letzten Jahren vermehrt zum Ziel von Cyber-Kriminellen. Diese haben stets dasselbe Ziel: So mit dem Blockchain-System zu interagieren, dass sie dessen Schwächen ausnutzen und sich damit selbst bereichern können.

Smart Contracts wurden in den letzten Jahren vermehrt zum Ziel von Cyber-Kriminellen.

Deshalb beschäftigte ich mich in meiner MAS-Arbeit mit der Frage, wie man die Qualität von Smart Contracts sicherstellen kann. Dazu überprüfte ich verschiedene Ansätze.

Programmierfehler und Sicherheitslücken

Wie riskant sind Smart Contracts? Dadurch, dass der Code für einen digitalen Vertrag von Menschen geschrieben wird, können bei der Erstellung Fehler passieren. Daraus können Schwachstellen und Programmierfehler («Bugs») auftreten. Diese Fehler können bei den beteiligten Partnerinnen und Partnern zu Verlusten führen.

Dadurch, dass Smart Contracts von Menschen geschrieben werden, können Fehler passieren.

Besonders problematisch ist, dass ein Smart Contract nach der digitalen Unterschrift in Stein gemeisselt ist und nachträgliche Korrekturen unmöglich sind. Wenn hier ein Fehler passiert, kann dieser, im Gegensatz zu Updates für Standard-Software, nicht mehr behoben werden. Daher ist die Sicherheit umso wichtiger. Denn solche Fehler werden dann gerne von Kriminellen ausgenutzt.

Da Smart Contracts oft mit einer grossen Menge von Kryptowährungen umgehen, sind die finanziellen Anreize für Angreifende hoch.

Nehmen wir den jüngsten Angriff auf das Poly Network, bei dem ein Angreifer Token im Wert von 600 Millionen Dollar gestohlen hat. In diesem speziellen Fall gaben die Hacker einen Grossteil der gestohlenen Tokens freiwillig zurück. Jedoch enden nicht alle Angriffe mit einem solchen Happy End. Man denke nur an einen der bekanntesten Angriffe auf die Decentralized Autonomous Organization (The DAO Hack, 2016) oder an den Parity Wallet Hack (2017). Die Liste der erfolgreichen Angriffe wird immer länger und es kommen laufend neue hinzu.

Prototyp zum Erkennen von Sicherheits-Risiken

Um solche Vorfälle zu verhindern, ist es wichtig, sichere Smart Contracts zu entwickeln. In meiner Arbeit kam ich zum Schluss: Die Sicherheit von Smart Contracts befindet sich ein einem sich schnell entwickelnden Umfeld. Deshalb ist es nötig, die Smart Contract Security ganzheitlich zu betrachten: Besser als ein einzelnen Tools zu nutzen ist es, die Dienste mehrerer Analysetools kombiniert in Anspruch zu nehmen.

Deswegen habe ich einen Prototyp für einen Meta-Scanner entwickelt. Ganz im Sinne von Virustotal, einem kostenlosen Virenscanner für Dateien, kann ich damit Smart Contracts automatisiert auf ihre Sicherheit überprüfen.

Wichtig ist, die Smart Contract Security ganzheitlich zu betrachten und mehrerer Analyse-Tools kombiniert zu nutzen.

Dabei kombiniere ich bereits existierende Analysetools, welche mit verschiedenen Techniken Smart Contracts analysieren. Der Prototyp liefert somit die Ergebnisse der zugrundeliegenden Tools.

Das Web-Interface ist intuitiv nutzbar. Die Nutzerinnen und Nutzer können entweder einen Solidity Smart Contract (Solidity ist die am häufigsten verwendete Programmiersprache, in der Smart Contract geschrieben werden) hochladen oder auf simple Weise die Smart Contract Adresse zur Analyse einfügen. Mit Hilfe dieses Scanners können sich die Nutzerinnen und Nutzer absichern und erhalten so mehr Sicherheit über die Smart Contracts, mit denen sie interagieren.

Ich werde den Meta-Scanner in naher Zukunft auf Github veröffentlichen. So kann jeder, der will, den Meta-Scanner lokal nutzen und weiterentwickeln. Diese Wahl hat auch mit der Rechenleistung zu tun, die benötigt wird, um eine Analyse mit den verschiedenen Tools durchzuführen. Deshalb reicht 
ein 0815-Webserver nicht aus, um den Prototypen zu betreiben.

Luca Stäheli hat sich in seiner MAS-Arbeit damit auseinandergesetzt, wie Smart Contracts automatisiert auf Sicherheit und Programmierfehler hin untersucht werden können. Er hat den MAS Information & Cyber Security abgeschlossen und dazu die folgenden CAS besucht: CAS Information Security – Technology, CAS Information Security – Management und CAS Cyber Security Defence & Response

Bilden Sie sich weiter: Die Hochschule Luzern bietet zahlreiche Weiterbildungen im Bereich Information & Cyber Security | Privacy

Interessiert Information & Cyber Security zu studieren?

Bachelor in Information & Cyber Security: Mit dem Studium Information & Cyber Security erwerben Sie das notwendige Fachwissen, um Unternehmen und Verwaltungen vor Hacker-Angriffen zu schützen und mit einer sicheren IT-Infrastruktur auszustatten.

Gefällt Ihnen unser Informatik-Blog? Hier erhalten Sie Tipps und lesen über Trends aus der Welt der Informatik. Wir bieten Einsichten in unser Departement und Porträts von IT-Vordenkerinnen, Visionären und spannenden Menschen: Abonnieren Sie jetzt unseren Blog!

Beitrag teilen

  • Mail
  • Kommentare

    0 Kommentare

    Kommentar verfassen

    Danke für Ihren Kommentar, wir prüfen dies gerne.

    Pin It on Pinterest