Informatik

Kryptowährung mit Lücken

Hunderte Schwachstellen bei "Smart Contracts" des Ethereum-Systems nachgewiesen

Ethereum ist nach Bitcoin das zweite große Kryptowährungs-System - aber wie sicher ist es? © jpgfactory/ iStock.com

Riskante Geschäfte: Die Kryptowährung „Ether“ ist möglicherweise weniger sicher als angenommen. Denn Forscher haben jetzt mehr als 800 Sicherheitslücken bei sogenannten Smart Contracts aufgespürt – teilautomatisierten Verträgen und Transaktionen der Ethereum-Blockchain. Diese Schwachstellen im Vertrags-Code ermöglichen es Hackern unter anderem, Gelder umzuleiten und so digitalen Diebstahl zu begehen.

Kryptowährungen wie Bitcoin erfreuen sich steigender Beliebtheit. Denn sie ermöglichen finanzielle Transaktionen zwischen Nutzern ohne Beteiligung einer Bank. Möglich wird dies durch eine Blockchain – eine Art öffentliches Kassenbuch, in dem jede Transaktion unveränderbar verzeichnet und dezentral von tausenden von Rechnern überprüft wird. Dieses Prinzip soll gleichzeitig vor Manipulation und Hackern schützen.

Allerdings: Eine absolute Sicherheit bieten auch die Kryptowährungen nicht. So hat das US-Sicherheitsunternehmen Cyphertrace für das Jahr 2018 prognostiziert, dass Diebe insgesamt 1,5 Milliarden US-Dollar an Kryptowährungen von den Online-Plattformen stehlen werden. Besonders angreifbar könnte dabei das nach Bitcoin zweitgrößte Kryptowährungs-System Ethereum sein.

Smart Contracts für die Blockchain

Wie Bitcoin beruht auch Ethereum auf Blockchain-Transaktionen, erweitert diese aber um sogenannte Smart Contracts. „Smart Contracts sind Verträge, die sich selbst ausführen, niedergeschrieben in Code“, erklärt Johannes Krupp vom CISPA-Forschungszentrum in Saarbrücken. Über solche teilautomatisierten Verträge können beispielsweise Auktionen oder Lizenzvergaben abgewickelt werden oder Transaktionen, die nur bei Erreichen einer bestimmten Einzahlungssumme oder Teilnehmerzahl gültig werden.

Die Smart Contracts werden in einer eigenen Programmiersprache namens Smart Solidity geschrieben, die dann in Byte-Code umgewandelt wird. Dieser wird von einer speziellen Recheneinheit, der Ethereum Virtual Machine (EVM) ausgeführt. Wie die normalen Transaktionen der Blockchain sind auch Smart Contracts nicht mehr veränderbar, wenn sie einmal ins Netz gespeist wurden.

Gut 800 Sicherheitslücken identifiziert

Wie sicher solche Smart Contracts bei Ethereum sind, haben Krupp und seine Kollegen jetzt überprüft. Sie entwickelten dafür die die Software „Teether“, die nach Sicherheitslücken und Manipulationsmöglichkeiten im Solidity-Code sucht und daraus automatisiert Angriffe entwickelt. Die Forscher ließen Teether auf mehr als 38.000 Smart Contracts los, die sie am 20. November 2017 aus der Ethereum-Blockchain heruntergeladen hatten.

Das Ergebnis: Die Software stufte 815 Verträge als unsicher ein und generierte rund 1.560 Angriffe, um die Sicherheitslücken auszunutzen. Weil viele Verträge den gleichen Code teilen, wären dadurch insgesamt 1.731 Vertrags-Accounts betroffen, wie die Forscher berichten. „Damit hat unsere Analyse gezeigt, dass Sicherheitslücken in den Smart Contracts der realen Blockchain ein größeres Problem sind als bisher angenommen“, sagt Christian Rossow von CISPA.

Angriffe auch ohne Spezialwissen möglich

Die Schwachstelle von Ethereum besteht unter anderem darin, dass die Ethereum Virtual Machine relativ wenige Instruktionen verwendet, um den Programmcode der Smart Contracts auszuführen. „Die angreifbaren Instruktionen kann man an einer Hand abzählen“, sagt Krupp. Ein Hacker muss daher keine tiefgreifenden Spezialkenntnisse besitzen. „Diese Angriffe können nahezu anonym und von jedem ausgeführt werden. Man muss lediglich ein Ethereum-Konto haben. Auch das ist trivial“, erklärt Rossow.

Abhilfe schaffen könnte künftig ein Tool ähnlich wie Teether, das den Code von Smart Contracts überprüft und mögliche Fehler und Angriffspunkte anzeigt und eliminiert. „Unsere Software ist ein Schritt nach vorne, da sie es Anwendern erlaubt, ihre Verträge vor deren Veröffentlichung auf technische Fehler hin zu überprüfen, die im schlimmsten Falle einen enormen finanziellen Verlust hervorrufen könnten“, sagt Rossow.

Die Forscher haben ihre Ergebnisse vor wenigen Tagen auf dem internationalen „USENIX Security Symposium“ in Baltimore vorgestellt. Erst 180 Tage danach wollen sie den Quellcode ihrer Software veröffentlichen. „So haben die Vertragsbesitzer ausreichend Zeit, ihre eigenen Verträge zu überprüfen und auszubessern, bis andere unsere Software nachprogrammieren und selber damit Verträge überprüfen“, sagt Rossow.

(CISPA – Center for IT-Security, Privacy and Accountability, 17.08.2018 – NPO)

Keine Meldungen mehr verpassen – mit unserem wöchentlichen Newsletter.
Teilen:

In den Schlagzeilen

News des Tages

Diaschauen zum Thema

Dossiers zum Thema

Alan Turing - Genialer Computerpionier und tragischer Held

Bücher zum Thema

Die berechnete Welt - Leben unter dem Einfluss von Algorithmen Von Nora S. Stampfl

50 Schlüsselideen Digitale Kultur - Tom Chatfield und Carl Freytag

Top-Clicks der Woche