Die letzten Monate waren geprägt vom Blockchain-Boom, welcher inzwischen auch die grössten Unternehmen erreicht hat. Anhänger dieser Technologie prophezeien Grosses – sogar, dass die Blockchain die Welt verändern kann. Klar, die Vorteile liegen auf der Hand. Beispielsweise können dadurch Daten sicherer abgelegt werden. Mit zusätzlichen kryptologischen Verfahren können die Benutzern dann mit einer verschlüsselten Verbindung auf diese Daten zugreifen sowie untereinander austauschen. In diesem Artikel zeigen wir Ihnen anhand eines Best Practice, wie die Blockchain im Alltag massentauglich genutzt werden kann und welche Herausforderungen dabei auf Sie warten.
Hashchain statt Hashtag – so ist eine Blockchain aufgebaut
Dass Blockchain als Basis für den Austausch von Kryptowährungen wie Bitcoin oder Ethereum verwendet wird, wussten Sie bereits sicherlich. Aber wissen Sie auch, wie die Blockchain-Technologie abseits vom Zahlungsverkehr eingesetzt werden kann? Ganz einfach – so ziemlich überall. Ganz egal ob Immobilienwirtschaft, öffentliche Verwaltung oder Industrie.
Die Blockchain ist eine Kette von Hashes. Ein Hash wiederum besteht aus einer Reihe von Zahlen und Buchstaben. Diese kann aus jedem beliebigen Text oder Daten mit einer Einwegfunktion berechnet werden. Um das Ganze verständlicher zu machen, dient die folgende Grafik – ein Beispiel wie die Bitcoin-Blockchain aufgebaut ist. Jeder Block setzt sich aus mehreren Hashes zusammen: dem Hash aus dem Header des vorigen Blocks und dem Hash aus der durchgeführten Transaktion (Proof of Work). Der Header eines Blocks enthält Informationen wie zum Beispiel den Zeitpunkt seiner Erstellung. Die gesamte Kette zusammen ergibt schlussendlich die Blockchain.
Die erzeugten Hashes werden nicht nur auf einem zentralen System abgespeichert, sondern gleichzeitig auf allen beteiligten Systemen verteilt. Wird ein Hash auf einem System erzeugt, wird dieser zuerst auf allen Systemen hinterlegt, bevor ein neuer Hash auf demselben oder auf einem anderen System erzeugt werden kann. Wenn man nun einen Hash nachträglich ändern oder manipulieren möchte, müssen nicht nur alle nachfolgenden Hashes auf einem System, sondern auf allen Systemen angepasst werden. Dies ist ein wichtiger Eckpfeiler der Blockchain-Sicherheit.
Smart Contracts für eine smartere Blockchain
Die Blockchain-Technologie findet auch bei anderen Plattformen Anwendung. Eine ist zum Beispiel die Ethereum-Plattform. Dies ist eine Plattform, bei der dezentral Programme zur Verwaltung von Transaktionen jeglicher Art verwendet werden können. Diese Programme werden als «Smart Contracts» bezeichnet. Mit diesen Smart Contracts können Transaktionen zusammen mit deren jeweiligen Bedingungen abgewickelt werden, für die üblicherweise ein Vertrag benötigt wird. Güter jeglicher Art wie zum Beispiel Gold, Jobs, Versicherungen etc. werden bereits auf der Basis von Smart Contracts gehandelt. Die Stadt Zug zum Beispiel hat 2017 ein Projekt zur Identifikation von Personen basierend auf Smart Contracts gestartet. Die Einwohner können eine digitale ID verwenden, die mit der Ethereum-Blockchain verknüpft ist.
Mit den Smart Contracts entstehen aber auch neue Herausforderungen
Eine der grossen Herausforderungen: Informationen, die mit einem Smart Contract in die Blockchain geladen werden, können nicht mehr entfernt werden. Da die Smart Contracts-Technologie noch ziemlich jung ist, werden bei der Entwicklung oftmals Fehler gemacht. Zum Beispiel, dass Funktionen, welche auf private Daten zugreifen, unfreiwillig als öffentlich deklariert werden – unter Umständen mit fatalen Folgen.
Ähnliche Fehler wurden auch bei Funktionen in Smart Contracts sichtbar, die Transaktionen von Coins abwickeln. Solche Fehler werden gerne ausgenutzt, um Bitcoins oder andere Kryptowährungen zu stehlen. Programmierfehler oder generell eine schlechte Quellcode-Qualität machen sich jedoch nicht nur bei Sicherheitsproblemen bemerkbar. Sie können auch dazu führen, dass ein Smart Contract nicht vollständig auf der Blockchain ausgeführt werden kann. Je nach Use Case kann man dadurch seine Kryptowährung verlieren. Auch solche Probleme werden für Angriffe ausgenutzt.
Des Weiteren sollte man bei Smart Contracts auf eine klare modulare Struktur achten. Implementieren Sie nur relevante Operationen oder verwenden Sie bereits getestete Funktionen. Für eine optimale Ausführung von Smart Contracts sollten Sie regelmässige Reviews und Tests durchführen.
Hüten Sie sich vor Cyberkriminellen
Kryptowährungen sind ein beliebtes Ziel für Cyberkriminelle. Immer öfters haben nun auch Übergriffe auf Systeme und Infrastrukturen stattgefunden, welche für den Zugang zur Ethereum-Plattform genutzt werden. Beispiele sind hier Webapplikationen, mit denen man auf Wallets zugreifen und Transaktionen durchführen kann.
Gezieltes Penetration Testing hilft, Schwachstellen in den Systemen zu finden. Auch eine Überprüfung der Architektur der beteiligten Systeme (Web Server, API, Server, Netzwerk, Datenspeicher usw.) sowie des Handlungsprozesses beim Verwalten der Applikationen helfen dabei, Ihre Cyber Security zu verbessern. In letzter Zeit wurden vermehrt auch Phishing-Attacken eingesetzt, um Kryptowährungen zu stehlen.
Lieber heute als morgen – rüsten Sie Ihre Cyber Security für Blockchain
Wir von InfoGuard wissen, welche Risiken und Herausforderungen Blockchain mit sich bringt. Unsere Erfahrungen im Testen von Software und dem Analysieren von Quellcodes werden Ihnen helfen, deren Qualität sowie die Maturität der Sicherheit zu verbessern. Unsere Pentester stehen Cyberkriminellen in Nichts nach – abgesehen davon, dass sie im Auftrag unserer Kunden unterwegs sind. Sie decken mit der Cyber Attack Simulation schonungslos alle Schwachstellen auf, welche Hacker ausnutzen könnten. Auch unsere bereits zahlreich durchgeführten Security Awareness-Kampagnen zeigen, dass bei der Sensibilisierung gegenüber Cyberattacken noch grosser Handlungsbedarf besteht. Aber keine Sorge, es ist noch nicht zu spät.
Kontaktieren Sie uns – wir unterstützen Sie, die Cyber-Sicherheit Ihrer Infrastruktur und Ihrer Systeme sowie die Qualität Ihrer Smart Contracts zu verbessern!