© pixabay.com

Neue Technik verbessert Smart Contracts

Damit es Hacker schwer haben

  • von Birgit Kremer
  • 16.10.2020

English version

Smart Contracts haben Ethereum zur weltweit zweitgrößten Kryptowährung gemacht. Doch in jüngster Zeit kam es zu mehreren kriminellen Vorfällen, bei denen Fehler in den programmierten Verträgen ausgenutzt wurden. Das Softwaretechnik-Institut paluno der UDE hat gemeinsam mit Partnern eine Technik entwickelt und evaluiert, mit der veröffentlichte Smart Contracts zeitnah ausgebessert werden können.

Smart Contracts werden in modernen Blockchain-Systemen verwendet, um vertragliche Regelungen jeglicher Art zu implementieren. Sie ermöglichen die autonome Verwaltung von Kryptowährung und regeln ohne Zutun einer dritten Partei (z.B. eines Notars oder einer Bank) den Transfer von Werten und Rechten zwischen Akteuren. Damit haben Smart Contracts großes Potenzial, Geschäftsfelder wie die Finanz-, Versicherungs- oder Energiewirtschaft zu revolutionieren.

Attraktives Ziel für Hacker

Immer wieder versuchen Hacker, Programmierfehler im Code auszunutzen, um z.B. Kryptowährung zu stehlen. Deshalb müssen Entwickler schnell nach Bekanntwerden von Sicherheitslücken reagieren. Denn Smart Contracts sind von Natur aus immer online und immer verfügbar. Doch eine schnelle Korrektur geschieht selten, wie paluno-Forscher Michael Rodler weiß: „Unsere Analysen der Ethereum-Blockchain haben gezeigt, dass verwundbare Smart Contracts oft nichts ahnend weiter verwendet werden, obwohl die Sicherheitslücken in diesen Contracts schon Monate zuvor öffentlich gemacht wurden.“

Ein Grund dürfte sein, dass die derzeit verfügbaren manuellen Korrekturverfahren aufwendig und fehleranfällig sind. Die Arbeitsgruppe Sichere Software Systeme (Prof. Davi) hat daher gemeinsam mit dem Forschungsinstitut NEC Laboratories Europe ein Framework erarbeitet, das Entwicklern hilft, Fehler automatisiert zu beseitigen. Dazu verfügt das neue Patching Framework über einen sogenannten Bytecode Rewriter. Unabhängig von der verwendeten Programmiersprache und vom Compiler schreibt dieser den Bytecode gängiger Ethereum-Smart-Contracts um und schließt hierdurch bestimmte Sicherheitslücken.

Die Wirksamkeit dieser Technik wurde anhand von simulierten Angriffen auf 14.000 reale, anfällige Smart Contracts nachgewiesen. Die Angriffstransaktionen konnten erfolgreich blockiert werden, während die Funktionalität der ursprünglichen Verträge vollständig intakt blieb. Eine Usability-Studie zeigte, dass das Tool praxistauglich ist und Entwicklern einen entscheidenden Zeitvorteil bringt.

Publikation: Rodler, Michael; Li, Wenting; Karame, Ghassan O.; Davi, Lucas: EVMPatch: Timely and Automated Patching of Ethereum Smart Contracts. In: Proc. of 30th USENIX Security Symposium. USENIX Association, Vancouver, B.C., Canada 2021. https://arxiv.org/abs/2010.00341  

Weitere Informationen und Redaktion:
Birgit Kremer, paluno, Tel. 0201/18 3-4655, birgit.kremer@paluno.uni-due.de

 

Zurück