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.“