Sereum schützt Smart Contracts vor gefürchteten Re-Entrancy-Attacken

Smart Contracts sind ein Segen. Sie vereinfachen vieles und bieten unzählige Möglichkeiten. Doch sie können auch für erheblichen Schaden sorgen, denn die Technologie ist sehr anfällig für Cyberattacken. Forscher der Universität Duisburg-Essen haben mit Sereum eine neue Methode entwickelt, die fast jeden Hackerangriff verhindern kann.

Prof. Dr. Lucas Davi - Sereum
Prof. Dr. Lucas Davi – Sereum @uni-due.de

Re-Entrancy-Lücken eine Schwachstelle von Smart Contracts

Ein Smart Contract ist eine Art intelligenter Vertrag, der nach einer Wenn-Dann-Logik aufgebaut ist. Verschiedene Parteien einigen sich beispielsweise über die Bedingungen, erstellen einen Smart Contract und dann arbeitet das Programm eigenständig und überwacht die Einhaltung des Vertrags. Eine dritte Partei, der beide vertrauen müssen, wird überflüssig. Außerdem ist der Prozess automatisiert, wodurch sich keiner mehr um die Einzelheiten kümmern muss.

Das Problem mit Smart Contracts ist, dass sie angreifbar sind. Der bekannteste Angriff war der auf den DAO Smart Contract. Dabei konnten Hacker Ether im Wert von über 50 Millionen US-Dollar stehlen. Bei dieser Form der Attacke spricht man allgemein von einem Reentrancy-Attack, also einem Wiedereintritts-Angriff. Der eigentliche Smart Contract ruft dabei einen externen Vertrag auf, der dann innerhalb der gleichen Transaktion den ursprünglichen Vertrag aufruft. So kann ein Hacker immer wieder die gleiche Transaktion durchführen lassen, ohne dass der tatsächliche Kontostand aktualisiert wird.

Das Problem mit Smart Contracts ist, dass sie angreifbar sind

Kai Schiller: blockchainwelt.de

Smart Contracts sichern ist eine Herausforderung

Es gibt verschiede Ansätze, die sich mit dem Thema Sicherheit in Blockchain und intelligenten Verträgen beschäftigen. Schließlich ist ein Hauptargument für diese neue Distributed-Ledger-Technologie, dass sie fälschungssicher und nicht manipulierbar ist. Für die Blockchain trifft das zu, doch die Sicherung von Smart Contracts ist aus den folgenden Gründen schwer umzusetzen:

  1. Unveränderlich: Ist ein Smart Contract erstmal erstellt, kann er nicht mehr geändert werden. Wenn also ein Bug oder eine Schwachstelle in der Programmierung festgestellt wird, dann muss er vollständig aufgelöst und die gespeicherte Währung in einen neuen Vertrag übertragen werden.
  2. Anonym: Sollten Techniker oder Plattformbetreiber feststellen, dass es mit einem Smart Contract Probleme gibt, ist es für sie schwierig den Ersteller ausfindig zu machen.
  3. Unvollständige Prüfung: Bei den bisher bestehenden Lösungen kommen Offline-Analysen von intelligenten Verträgen zum Einsatz. Doch dabei werden Runtime-Fehlermuster, die nur Online erkennbar wären, leicht übersehen.
Video: Attacks on Ethereum Smart Contracts

Die Sereum Lösung

Eine Arbeitsgruppe der Universität Duisburg-Essen rund um Prof. Dr. Lucas Davi hat in Zusammenarbeit mit der NEC Laboratories Europe GmbH eine neue Abwehrtechnologie entwickelt. Ihren Lösungsansatz nennen sie Sereum, eine Abkürzung für Secure Ethereum.

Sereum setzt für die Lösung bei der Ethereum Virtual Machine (EVM) an. Die Forscher haben sich das Taint Tracking zunutze gemacht. Es ist ein Verfahren, dass bereits bei der Sicherung von privaten Daten und Speichern häufig verwendet wird. Hier nutzen die Forscher diese Methode, um die Datenflüsse in Echtzeit zu überwachen.

Wenn zum Beispiel eine Transaktion ausgelöst wird, die zu einer ungültigen Veränderung des Status führt, kann das Programm sie ablehnen und zurück gehen lassen. Das macht eine Re-Entrancy-Attacke unmöglich. Das Besondere dabei ist, dass Sereum auch für bestehende intelligente Verträge anwendbar ist. Denn die Lösung erfordert keine Veränderungen am Vertrag selbst.

Die Forscher haben Sereum ausgiebig getestet. Es konnte alle bösartigen Transaktionen des DAO Hacks aufdecken und verursachte dabei nur 9,6% Runtime Overhead. Mit einer falsch-positiv Quote von 0,06% ist es eine zuverlässige Methode um Smart Contracts vor Cyber-Angriffen zu sichern.