Wissenschaft

Aktuelle Meldungen

23.08.2018

Vorsicht bei Nutzung von Kryptowährung

Saarbrücker Informatiker automatisieren Angriffe gegen zweitgrößte Kryptowährung

Kryptowährungen wie Bitcoin locken neben Millionen von Nutzern auch zunehmend Cyberkriminelle an, da ein erfolgreicher Angriff maximale Beute bei geringem Risiko bedeutet. Das gilt auch für „Ether“, die nach Bitcoin meistgenutzte Kryptowährung. Vorbeugend haben daher Forscher des CISPA Helmholtz-Zentrums in Gründung in Saarbrücken für diese Kryptowährung eine Methodik entworfen, die Sicherheitslücken nicht nur findet, sondern daraus auch automatisiert Angriffe entwickelt. Das Ergebnis: 815 Sicherheitslücken, die 1564 Angriffe ermöglichen. Ihren Ansatz präsentieren die Saarbrücker Informatiker am Mittwoch auf dem internationalen „USENIX Security Symposium“ im US-amerikanischen Baltimore.

Das US-amerikanische Sicherheitsunternehmen Cyphertrace prognostiziert für das Jahr 2018, dass Diebe insgesamt 1,5 Milliarden US-Dollar an Kryptowährungen von den Online-Plattformen stehlen werden. Um dieser kriminellen Energie etwas entgegen zu setzen, haben Johannes Krupp und Professor Christian Rossow am CISPA Helmholtz-Zentrum in Gründung in Saarbrücken die Software „Teether“ entwickelt. Sie ermöglicht es rechtmäßigen Anwendern ohne großes Vorwissen Sicherheitslücken automatisch aufzuspüren, bevor Cyberkriminelle diese für digitale Diebstähle verwenden.

Die Saarbrücker Software „Teether“ zielt auf die Plattform Ethereum ab.  Anwender bezahlen dort mit der Kryptowährung Ether. Diese gilt als die meist verbreitete Kryptowährung nach Bitcoin, ihre Plattform Ethereum verfügt aktuell über einen Börsenwert von rund 32 Milliarden Euro. In punkto „Smart Contracts“ übertrifft Ethereum sogar Bitcoin. „Smart Contracts sind Verträge, die sich selbst ausführen, niedergeschrieben in Code “, erklärt Johannes Krupp. Denkbar ist beispielsweise eine Gruppenfinanzierung, bei der die Einzahler ihre Beiträge automatisch zurückgezahlt bekommen, falls der gewünschte Gesamtbetrag nicht in der vorgegebenen Zeit zusammenkam. Wie bei anderen Kryptowährungen werden diese Verträge in einer dezentralen Datenbank, der Blockchain, abgespeichert, jedoch bei Ethereum sind die Smart Contracts viel komplexer und werden daher mit einer Art Programmiersprache namens „Solidity“ definiert. „Hier fängt das Übel an. Solidity ist relativ komplex, so dass ein Anwender beim Schreiben darin entscheidende Fehler machen kann“, sagt Krupp.

Die von ihm in 4300 Zeilen Pythoncode geschriebene Software Teether setzt genau hier an. 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. Die Software stufte daraufhin 815 Verträge als unsicher ein und generierte rund 1560 Angriffe, um die Sicherheitslücken auszunutzen. „Damit hat unsere systematische Analyse der realen Ethereum Blockchain gezeigt, dass Sicherheitslücken in den Smart Contracts ein größeres Problem sind als bisher angenommen", erklärt Christian Rossow.

Die Schwachstelle von Ethereum besteht unter anderem darin, dass der Programmcode der Smart Contracts in der sogenannten Ethereum Virtual Machine ausgeführt wird und diese dazu relativ wenige Instruktionen verwendet. „Die angreifbaren Instruktionen kann man an einer Hand abzählen. Wir haben daher im Wesentlichen untersucht, welche Randbedingungen gegeben sein müssen, dass die unsicheren Instruktionen im Verlauf der Vertragsbearbeitung aufgerufen und missbraucht werden können. Danach haben wir geschaut, bei welchen Verträgen diese Randbedingungen ebenfalls erfüllt sind“, sagt Krupp.

Um ganz sicher zu gehen, dass die automatisch generierten Angriffe auch funktionieren, ohne dabei in eine rechtliche und ethische Grauzone zu geraten, bauten die Wissenschaftler ein eigenes Ethereum-Netzwerk mit eigener Blockchain auf. Darin waren rund 88 Prozent ihrer Angriffe erfolgreich. „Das zeigt, dass die Sicherheit von Smart Contracts ernstgenommen werden sollte, insbesondere da diese Angriffe nahezu anonym und von jedem ausgeführt werden können. Man muss lediglich ein Ethereum-Konto haben. Auch das ist trivial", erklärt Rossow.

Ihre Ergebnisse, dokumentiert im Fachaufsatz „Teether: Gnawing at Ethereum to Automatically Exploit Smart Contracts“, stellen Krupp und Rossow nun auf dem internationalen „USENIX Security Symposium“ vor, das dieses Jahr ab dem 15. August im US-amerikanischen Baltimore stattfindet. 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. Bedenken hat er keine und erklärt dies so: „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. Das macht mehr Sinn als auf Sicherheit durch Unklarheit zu setzen. Letzteres hat noch nie funktioniert.“