Blockchain

Sicherheit muss kein Spielverderber sein

14.09.2018 von Gerald Spiegel
Die Blockchain bietet enormes Potenzial. Vor dem Einsatz sollten jedoch einige wichtige Fragen bezüglich der Sicherheit der Technologie beantwortet werden.

Die Blockchain-Technologie gilt durch den Einsatz kryptografischer Verfahren als sicher und vertrauenswürdig. Informationen werden dabei in einer Kette von Blöcken gesichert. Aus jedem dieser Blöcke wird ein eindeutiger Fingerabdruck ("Hash") erzeugt, der in den jeweils folgenden Datenblock übernommen wird. Das schließt Manipulationen zwar nicht grundsätzlich aus, macht sie aber aufwändig und leicht erkennbar.

Dazu trägt auch die Transparenz der Blockchain bei: Mehrere bis alle Teilnehmer besitzen eine Instanz, so dass alle Transaktionen für diese sichtbar und nachvollziehbar sind. Schließlich gilt das Konsensprinzip. Transaktionen werden nur dann als valide akzeptiert, wenn die im gewählten Konsensmechanismus festgelegten Kriterien zutreffen.

Blockchain vereint Transparenz und Kryptografie für mehr Vertrauenswürdigkeit.
Foto: mirshod_tursunov - shutterstock.com

Tatsächlich gilt für die Blockchain aber das, was für jedes beliebige IT-System gilt: hundertprozentige Sicherheit bietet auch sie nicht. Wer nun aber den fertigen Projektplan für die Blockchain im eigenen Unternehmen gleich wieder in der Schublade verschwinden lassen möchte, sollte wissen: Ein Hindernis ist das nicht.

Kryptografie bietet Sicherheit und Angriffsfläche zugleich

Die zur Sicherung der Integrität einzelner Blöcke gebildeten Hashes werden über kryptografische Funktionen berechnet. Rein theoretisch, entweder durch die Verwendung ungeeigneter Algorithmen oder durch Fehler in der Implementierung der Hashbildung oder -prüfung, können so genannte Kollisionen auftreten. Das bedeutet, dass ein veränderter Block einen unveränderten Hash aufweist. Eine Manipulation des Blocks würde in diesem Falle nicht bemerkt werden. Die Gefahr ist prinzipiell vorhanden, aber sie tritt unwahrscheinlicher ein, als beim Einlösen eines Lottoscheins mit Millionengewinn vom Blitz getroffen zu werden.

Kryptografie wird auch bei der Identifizierung und Authentifizierung der Teilnehmer verwendet – unter Nutzung von öffentlichen und privaten Schlüsseln. Von Bitcoin – der Applikation, die der Blockchain-Technologie zum Durchbruch verhalf - wissen wir, dass Angriffe häufig auf die Entwendung des privaten Schlüssels in Wallets oder Keystores zielen. Wer über den privaten Schlüssel eines anderen Teilnehmers verfügt, kann damit Transaktionen in dessen Namen durchführen. Dieses Risiko besteht bei anderen Systemen aber ebenfalls, wenn die Login-Informationen von Usern entwendet werden.

Social Engineering ist eines der größten Sicherheitsprobleme in der IT. Hier werden persönliche Kontakte missbraucht, um an vertrauliche Firmeninformationen oder Passwörter zu kommen. Hier wie dort (in der Blockchain) ist es wichtig, die Aufmerksamkeit von Nutzern für solche Versuche zu schärfen und geeignete Sicherheitsmaßnahmen zu ergreifen, um das Entwenden von Passwörtern so schwer wie möglich zu machen.

Transparenz: Fluch und Segen in einem

Die Transparenz von Transaktionen ist eine der unbedingten Stärken der Blockchain. Sie entsteht, weil alle Aktivitäten auf allen Knoten für die Teilnehmer der Blockchain nachvollziehbar sind und sich die Kontrollmöglichkeit eben nicht auf eine singuläre Instanz beschränkt.

Aber dieses so genannte verteilte Register erzeugt neue Herausforderungen: Der Rundumschutz einer Blockchain in Form eines klassischen Perimeterschutzes, wie er zum Beispiel in einem geschlossenen Firmennetz besteht, ist nicht möglich. Die Dezentralität der Datenhaltung schafft zudem neue Angriffsflächen: die Netzwerkkommunikation und die Zugriffsmöglichkeiten der Knoten untereinander. Damit weist die Blockchain ähnlich kritische Punkte auf, wie jede Internet- oder WAN-Verbindung auch.

Letztlich lassen sich in verteilten Umgebungen weder die Vertraulichkeit der Daten noch – so gefordert – die Anonymität der Teilnehmer hundertprozentig sicherstellen. Daher sollten Geschäftsanwendungen, wenn es der Anwendungsfall zulässt, in einer so genannten Permissioned Blockchain realisiert werden. Das ist eine Art private Blockchain mit begrenztem Teilnehmerkreis. In diesem Modell lassen sich technisch und organisatorisch umfassende Sicherheitsmaßnahmen einfacher implementieren, umsetzen und kontrollieren.

Die Funktionsweise von Blockchain
Blockchain
Blockchain wird in den kommenden Jahren zur Schlüsseltechnologie in der IT werden.
(1) Transaktion
Die Transaktion ist die elementare Grundeinheit der Blockchain. Zwei Parteien tauschen Informationen miteinander aus. Dies kann der Transfer von Geld oder Vermögenswerten, der Abschluss eines Vertrags, eine Krankenakte oder eine Urkunde sein, die digital gespeichert wurde. Transaktionen funktionieren im Prinzip wie das Versenden von E-Mails.
(2) Verifizierung
Die Verifizierung prüft, ob eine Partei die entsprechenden Rechte für die Transaktion hat. Die Prüfung erfolgt augenblicklich oder es wird in eine Warteschlange geschrieben, die die Prüfung später durchführt. An dieser Stelle werden Knoten, also Computer oder Server im Netzwerk, eingebunden und die Transaktion verifiziert.
(3) Struktur
Die Transaktionen werden zu Blöcken zusammengefasst, wobei diese mit einer Hash-Funktion als Bit-Nummer verschlüsselt werden. Die Blöcke können durch die Zuweisung des Hash-Wertes eindeutig identifiziert werden. Ein Block enthält einen Header, eine Referenz auf den vorhergehenden Block und eine Gruppe von Transaktionen. Die Abfolge der verlinkten Hashes erzeugt eine sichere und unabhängige Kette.
(4) Validierung
Bevor die Blöcke erzeugt werden, müssen die Informationen validiert werden. Das am meisten verbreitete Konzept für die Validierung von Open-Source-Blockchains ist das „Proof of Work“-Prinzip. Dieses Verfahren stellt in der Regel die Lösung einer schweren mathematischen Aufgabe durch den Nutzer beziehungsweise dessen Computer dar.
(5) Blockchain Mining
Der Begriff Mining stammt aus der Bergbau und meint das „Schürfen“. Bei diesem Vorgang wird der Block erzeugt und gehasht. Um zum Zug zu kommen, müssen die Miner ein mathematisches Rätsel lösen. Wer als Erstes die Lösung hat, wird als Miner akzeptiert. Der Miner erhält für seine Arbeit ein Honorar in Form von Kryptowährung (Bitcoin).
(6) Die Kette
Nachdem die Blöcke validiert wurden und der Miner seine Arbeit verrichtet hat, werden die Kopien der Blöcke im Netzwerk an die Knoten verteilt. Jeder Knoten fügt den Block an der Kette in unveränderlicher und unmanipulierbarer Weise an.
(7) Verteidigung
Wenn ein unehrlicher Miner versucht, einen Block in der Kette zu ändern, so werden auch die Hash-Werte des Blockes und der nachfolgenden Blöcke geändert. Die anderen Knoten werden diese Manipulation erkennen und den Block von der Hauptkette ausschließen.

Auch das Konsensprinzip lässt sich aushebeln

Der durch die Teilnehmer gebildete Konsens über die Rechtmäßigkeit und die tatsächliche Abwicklung einer Transaktion ist ein weiteres Grundprinzip der Blockchain, das Missbrauch und Betrug ausschließen soll. Doch der Konsensmechanismus selbst könnte durch betrügerische Handlungen der Teilnehmer seine Wirksamkeit verlieren. Jeder Konsensmechanismus hat hier sicherlich seine spezifischen Stärken und Schwächen, die je nach Anwendungsfall und Nutzerkreis an Relevanz gewinnen oder verlieren.

In diesem Zusammenhang ist häufig von der "51-Prozent-Attacke" die Rede, bei der sich mehrere Teilnehmer einer Blockchain konspirativ zusammenschließen, um Transaktionen in ihrem Sinne durchzuführen oder zu manipulieren. Eine solche Konzentration auf wenige Mining-Pools hat sich bei Bitcoin tatsächlich bereits vollzogen. Allerdings ist das Mining für geschäftliche genutzte Blockchains kein Thema. Zudem sinkt die Wahrscheinlichkeit solcher Attacken auf Konsortial-, also gemeinschaftlich genutzte Blockchains mit der Zahl der Teilnehmer. Hat diese Zahl eine kritische Masse erreicht, ist die Blockchain vor konspirativen Attacken sicher. Der Vorteil der Blockchain ist, dass alles transparent und nachvollziehbar ist.

Geschäftslogik in der Blockchain: Bugs und Software-Fehler können Probleme verursachen

Der konkrete Geschäftszweck lässt sich in Form von Anwendungen direkt in der Blockchain abbilden. Gängige Plattformen unterstützen dies mit spezifischen Skript- oder Programmiersprachen sowie Laufzeitumgebungen für die Ausführung.

Anwendungskomponenten können aber auch – mit entsprechenden Schnittstellen zur Blockchain – außerhalb der Blockchain realisiert werden. Nicht nur Entwickler wissen: Eine Anwendung gänzlich ohne Bugs und Software-Fehler ist praktisch unmöglich. Je komplexer eine Anwendung und je umfassender ein Programmcode ist, desto größer die Wahrscheinlichkeit für das Auftreten von Fehlern.

Schwachstellen im Code, der in der Blockchain gespeichert ist, sind wegen der Verteiltheit für Angreifer erkenn- und damit für Attacken nutzbar. Eine mögliche Angriffsform ist das Provozieren und Ausnutzen so genannter Race Conditions, bei denen bedingt durch die zeitliche Abhängigkeit von Einzeloperationen der Programmablauf gestört und damit das Ergebnis manipuliert werden kann.

Das zweite Problem: Einmal in der Blockchain abgelegter Programmcode kann nicht korrigiert, ein Angriffspunkt also nicht nachträglich einfach geändert werden. Diese Einschränkung kann man allerdings umgehen – durch eine Versionierung und eine Anweisung im Code, bei der Ausführung jeweils die aktuelle Version heranzuziehen.

Blockchain ist IT, und Sicherheit ist möglich

Am Ende – und wenig überraschend – basiert die Blockchain auf IT. Damit unterliegt sie denselben Herausforderungen an die Sicherheit wie jede andere IT-Anwendung und -Infrastruktur auch. Eine absolute Sicherheit gibt es also weder hier noch da.

Im Umkehrschluss bedeutet das aber auch: Gängige Sicherheitsmaßnahmen und Richtlinien für angemessenes Verhalten können viele dieser latent vorhandenen Gefahren auch bei Blockchain-Anwendungen verhindern. Dazu bieten sich für jede dieser potenziellen Schwachstellen spezifische Handlungsoptionen an, die die Gefahren auf das in der IT erträgliche Maß reduzieren. Danach gilt ein IT-System durchaus als hinreichend sicher, wenn die Eintrittswahrscheinlichkeit eines Angriffs durch die ergriffenen Maßnahmen das verbleibende Restrisiko vertretbar macht.