monsitj - stock.adobe.com
Blockchain: Was man für eine sichere Nutzung wissen sollte
Trotz ihres guten Rufs unterliegt die Blockchain vielen der gleichen Schwachstellen wie andere Software. Es hilft, sich ein klares Bild der inhärenten Schwächen zu machen.
Eine Blockchain ist eine fälschungssichere, verteilte Aufzeichnung von Transaktionen. Sie verwendet Kryptografie, um sicherzustellen, dass ihre Aufzeichnungen nicht verändert oder zerstört werden, und sie ist nicht auf eine vertrauenswürdige zentrale Instanz angewiesen. Blockchains werden am häufigsten mit Kryptowährungen und Finanztransaktionen in Verbindung gebracht, aber sie werden auch verwendet, um Smart Contracts und andere digitale Transaktionen zu erleichtern.
Obwohl Blockchains kein brandneues Konzept sind - es gibt sie schon seit vielen Jahren - werden sie immer häufiger eingesetzt und akzeptiert. Viele Einzelpersonen und Organisationen nutzen Blockchains bereits, und es werden ständig neue Einsatzmöglichkeiten für die Technologie getestet. Leider ist mit der zunehmenden Beliebtheit auch das Interesse von Angreifern gestiegen, die es auf sie abgesehen haben. Wenn die Sicherheit von Blockchains nicht ausreichend beachtet wird, sind Transaktionen gefährdet, gestört und gestohlen zu werden.
Wie Sicherheit bei der Blockchain-Technologie funktioniert?
Mit der Blockchain-Technologie wird ein verteiltes Verzeichnis von Transaktionen erstellt, dessen Integrität durch Kryptografie gesichert wird. In einer Blockchain werden die Daten für eine oder mehrere neue Transaktionen in einem Block gebündelt. Die Blockchain-Teilnehmer führen komplexe kryptografische Berechnungen durch (Mining genannt) und konkurrieren oft darum, das Problem als Erster zu lösen. Das Ergebnis ist ein kryptografischer Hash für den neuen Block, der den kryptografischen Hash des vorherigen Blocks berücksichtigt.
Anschließend wird der Block, der den neuen Hash enthält, den Teilnehmern des Blockchain-Netzes zur Verfügung gestellt. Die Teilnehmer prüfen den Block, indem sie Berechnungen an ihm vornehmen. Wenn er gültig ist, fügen sie ihn zu ihrer Kopie der Blockchain hinzu. Sobald die meisten Teilnehmer der Meinung sind, dass der Block gültig ist, wird der Block dem gesamten Blockchain-Netzwerk hinzugefügt. Weitere Änderungen an diesem Block sind nicht zulässig.
Dieser Ansatz verzichtet auf eine zentrale Instanz, der inmitten von Transaktionen vertraut werden muss. Es wird auch vermieden, dass die Blockchain an einer einzigen Stelle ausfällt. Die Verwendung des Hashwerts des vorherigen Blocks bei der Berechnung des neuen Blocks bedeutet, dass jeder Versuch, einen Block zu ändern oder zu löschen, von allen Blockchain-Teilnehmern leicht erkannt werden kann. Dies macht Blockchains nahezu fälschungssicher.
Wie sicher ist die Blockchain-Technologie?
Ein weit verbreiteter Trugschluss ist, dass jede Blockchain-Technologie gut gesichert ist, weil sie auf Kryptografie beruht. Es stimmt zwar, dass alle Blockchains Kryptografie verwenden, aber es gibt zwei wichtige Vorbehalte:
- Grundsätzlich handelt es sich bei Blockchains um Software-Code. Sie sind daher anfällig für die gleichen Schwachstellen, die auch jede andere Software während ihres Lebenszyklus aufweist.
- Die Stärke der kryptografischen Algorithmen und Schlüssellängen sowie deren Implementierungen können sehr unterschiedlich sein. Eine sichere kryptografische Schlüsselverwaltung ist ebenfalls wichtig für die Sicherheit einer Blockchain.
Die Blockchain-Technologie ist nicht per se sicherer oder unsicherer als andere Technologien.
Die unterschiedlichen Arten der Blockchain-Sicherheit
Auf einer übergeordneten Ebene basieren die Arten von Blockchains auf ihren Zugriffskontrollmodellen:
- Bei einer öffentlichen Blockchain (auch erlaubnisfreie Blockchain genannt) gibt es keine Beschränkungen, wer auf sie zugreifen oder neue Blöcke veröffentlichen kann. Blockchain-Teilnehmer können anonym sein.
- Eine private Blockchain (auch bekannt als Permissioned Blockchain) schränkt ein, wer neue Blöcke veröffentlichen kann. Sie kann auch beschränken, wer auf die Blockchain zugreifen kann. Jeder Nutzer der Blockchain muss identifiziert und authentifiziert werden. Eine solche Blockchain kann von einer Gruppe (Konsortiale Blockchain) oder einer Einzelperson kontrolliert werden.
- Eine hybride Blockchain bedeutet, dass öffentliche und private Blockchains interoperabel sind und im Wesentlichen eine Blockchain der Blockchains bilden.
Da öffentliche Blockchains von Natur aus für jedermann zugänglich sind und keine Benutzerauthentifizierung durchführen, sind sie für Angreifer viel leichter anzugreifen und zu kompromittieren als private Blockchains. Daher konzentrieren wir uns hier auf die Sicherheit öffentlicher Blockchains.
Typische Bedrohungen der Blockchain-Sicherheit
Öffentliche Blockchains beruhen auf einem Konsens zwischen ihren Teilnehmern. Es gibt zahlreiche Konsensmodelle für Blockchains, und jedes hat Sicherheitsstärken und -schwächen, die es für bestimmte Situationen besser geeignet machen. Ein gängiges Konsensmodell ist das sogenannte Proof-of-Work-Modell. Die Teilnehmer lösen schwierige Probleme, die eine erhebliche Rechenleistung erfordern, und die korrekte Lösung des Problems ist der Beweis dafür, dass ein Teilnehmer Anstrengungen unternommen und sich im Wesentlichen das Recht verdient hat, den neuen Block zu veröffentlichen.
Da an öffentlichen Blockchains jeder teilnehmen kann, haben Angreifer leider viele Möglichkeiten, den Konsens zu stören. Eine häufige Bedrohung, ein Sybil-Angriff, besteht darin, dass ein Angreifer einem Blockchain-Netzwerk eine Reihe falscher Teilnehmer hinzufügt. Dadurch kann der Angreifer die Kontrolle über einen Großteil der Teilnehmer erlangen. Nun kann der Angreifer gefälschte Transaktionen erstellen und diese von den falschen Teilnehmern „validieren“ lassen. Eine ähnliche Bedrohung, der so genannte 51-Prozent-Angriff, besteht darin, dass sich ein Angreifer oder eine Gruppe von Angreifern zusammenschließt, um einen Mining-Pool zu bilden, der mehr als 50 Prozent des Minings für eine Blockchain übernimmt.
Es gibt noch viele andere Bedrohungen, die generell jegliche Software betreffen:
- Routing-Angriffe, bei denen ein Angreifer die Routing-Konfigurationen manipuliert, um den unverschlüsselten Blockchain-Netzwerkverkehr abzufangen und darauf zuzugreifen oder ihn zu verändern.
- Phishing-Angriffe, bei denen ein Angreifer Social-Engineering-Methoden einsetzt, um die Anmeldedaten von Blockchain-Teilnehmern zu stehlen, wie etwa private Schlüssel und Passphrasen.
- Denial-of-Service-Angriffe, wie zum Beispiel die Überlastung einer Blockchain mit einer großen Anzahl von Anfragen, um sie am Funktionieren zu hindern.
Es gibt auch spezifische Bedrohungen für Blockchain-Anwendungen. Von Doppelausgaben (Double Spending) spricht man zum Beispiel, wenn jemand versucht, dieselbe Kryptowährung an zwei Orten gleichzeitig auszugeben. Smart Contracts, das heißt Blockchain-Anwendungen, die Transaktionen und andere Prozesse gemäß einer Reihe von in ihrem Programmcode definierten Regeln durchführen, weisen spezifische Schwachstellen auf, vor denen man sich schützen muss.
Bewährte Verfahren zur Sicherung von Blockchain-Netzwerken
Nachfolgend haben wir fünf bewährte Verfahren zur Sicherung von Blockchain-Netzwerken zusammengefasst:
- Vergewissern Sie sich, dass eine Blockchain für die Transaktionen, die sie aufzeichnen soll, geeignet ist. Wenn Datensätze personenbezogene Daten oder andere sensible Informationen enthalten, könnte eine Blockchain diese versehentlich offenlegen und eine Datenschutzverletzung verursachen. Eine weitere Überlegung ist, ob Transaktionen wirklich endgültig sind, sobald sie stattgefunden haben, oder ob Sie die Flexibilität benötigen, frühere Transaktionen zu ändern oder zu löschen.
- Denken Sie daran, dass Blockchains allen Gesetzen und Vorschriften zur Cybersicherheit und zum Datenschutz unterliegen, die auch jede andere Software während ihres gesamten Lebenszyklus einhalten muss.
- Identitätsmanagement ist wichtig. Selbst in öffentlichen Blockchain-Netzwerken müssen die Teilnehmer immer noch wissen, dass sie mit dem rechtmäßigen Netzwerk kommunizieren. Bei privaten Blockchain-Netzwerken ist die Zugriffsverwaltung äußerst wichtig, um zu verhindern, dass Angreifer unbefugten Zugang zum Netzwerk erhalten.
- Führen Sie regelmäßige Risikobewertungen und Audits der Blockchain-Technologie und der damit verbundenen Prozesse, zum Beispiel der Schlüsselverwaltung, durch. Legen Sie fest, wie mit entdeckten Schwachstellen oder anderen Schwächen umzugehen ist.
- Seien Sie auf das Schlimmste vorbereitet. Es könnte eine große neue Schwachstelle im Blockchain-Code gefunden werden, ein privater Schlüssel könnte gestohlen werden, die Computer der Teilnehmer könnten kompromittiert werden - viele Dinge können schiefgehen. Seien Sie darauf vorbereitet, indem Sie im Voraus Reaktions- und Wiederherstellungsprozesse einrichten. Es kann auch zu Streitigkeiten zwischen den Teilnehmern kommen. Seien Sie also darauf vorbereitet, auch diese zu lösen, um zu verhindern, dass Ihre Blockchain unterbrochen wird.