Weil sie Werte und Rechte auf einer Blockchain selbständig transferieren können, sind Smart Contracts ein attraktives Ziel für Cyberattacken. Unsere Arbeitsgruppe hat in Zusammenarbeit mit der NEC Laboratories Europe GmbH eine Lösung zum Schutz dieser „intelligenten Verträge“ entwickelt.
Akteure aus ganz unterschiedlichen Branchen schreiben der Blockchain enormes Potential zu. Dies liegt allen voran an den vielen Einsatzmöglichkeiten von Smart Contracts, die auf der Blockchain-Technologie aufsetzen. Ein Smart Contract ist ein Stück Software, in dem vertragliche Regelungen als Code aufgeschrieben werden. Diese folgen einer klassischen „wenn-dann“-Logik: Werden die codierten Voraussetzungen erfüllt, tritt automatisch eine bestimmte Vertragsklausel in Kraft. So können ohne menschliches Eingreifen Werte und Rechte zwischen Akteuren übertragen werden. Potenzielle Anwendungsfelder dieser effizienten und unabhängigen Technologie reichen von der Finanz-, Versicherungs- und Energiewirtschaft bis hin zum Gesundheitswesen und der Produktion. Doch so vielseitig Smart Contracts sind – sie sind auch angreifbar, schließlich müssen sie programmiert werden. Und da es sich bei Smart Contracts um eine relativ neue Technologie handelt, sind sie für Bugs und Fehler anfällig. Das musste z.B. the DAO (kurz für „Decentralized Autonomous Organization“) leidvoll erfahren. 2016 ging der Fall durch alle Medien: The DAO hat mit Smart Contracts in der Blockchain Etherum ein gigantisches Crowdfunding-Projekt realisiert und Kryptogeld (Ether) im Wert von über 140 Millionen US-Dollar gesammelt. Durch eine Schwachstelle in den Smart Contracts konnten Angreifer jedoch mehr als 3,6 Millionen Ether – rund 50 Millionen US-Dollar – des gesammelten Geldes abzweigen.
Reentrancy-Lücken schließen
Beim DAO-Angriff wurde eine sogenannte Reentrancy-Lücke ausgenutzt: Vereinfacht gesprochen konnten die Angreifer hierdurch immer wieder in den Smart Contract eintreten und wiederholt einen bestimmten Betrag abheben ohne dass der Kontostand aktualisiert wurde. In Zusammenarbeit mit Dr. Ghassan Karame und Wenting Li von der NEC Laboratories Europe GmbH haben Michael Rodler und Prof. Dr. Lucas Davi (Arbeitsgruppe Sichere Software-Systeme) gezeigt, dass neuartige Reentrancy Angriffe entwickelt werden können, die existierende Analysetools umgehen. Zudem haben sie eine Sicherheitstechnologie entwickelt, um Smart Contracts vor Reentrancy-Angriffen zu schützen. Das Besondere an ihrer Lösung: Im Gegensatz zu den meisten anderen Ansätzen konzentrieren sie sich auf bereits veröffentlichte, eingesetzte Smart Contracts. Damit adressieren sie eine der größten Herausforderungen beim Schutz von Smart Contracts. Smart Contracts sind – wie alle Informationen auf der Blockchain - unveränderlich. Daher ist es auch nicht möglich, im Nachhinein Fehler und Bugs zu beheben, wie es für PC Software üblich ist. Die neue Abwehrmethode mit dem Namen Sereum basiert auf einer Laufzeit-Überwachung der Smart Contracts. Mittels dynamischem Taint-Trackings werden die Datenflüsse während der Ausführung der Smart Contracts überwacht, um automatisch inkonsistente Zustände zu erkennen und zu verhindern. So lassen sich ausgeklügelte Reentrancy-Angriffe ohne Wissen über die Semantik der Smart Contracts verhindern. Tests haben gezeigt, dass Sereum zu keinem nennenswertem Overhead zur Laufzeit führt und Angriffe wie the DAO verhindern. Die Partner werden die Lösung im Februar 2019 auf dem
NDSS Symposium in San Diego vorstellen. Dies ist eine der wichtigsten akademischen IT-Sicherheitskonferenzen weltweit.
Weitere Informationen
Auf der Projektseite können Sie sich jetzt schon über das Projekt und die neuen Reentrancy Angriffe informieren:
https://www.syssec.wiwi.uni-due.de/forschung/forschungsprojekte/securing-smart-contracts/ Ebenfalls interessant: Ein Interview mit Dr. Ghassan Karame von der NEC Laboratories Europe GmbH. Der Projektpartner spricht allgemein über seine Forschungsarbeit im Bereich Blockchain- und IoT-Sicherheit:
https://www.nec.com/en/global/rd/special/pinnacle/ghassan_karame.html