Schutz vor Cyberkriminalität im Distributed-Ledger-Umfeld Blockchain mit DevSecOps-Methoden sicherer machen

Ein Gastbeitrag von Kevin Jones *

Mehrere Vorfälle zeigen, dass Cyberkriminelle auch in Blockchain-Lösungen Schwachstellen ausnutzen können. Daher müssen Entwickler bei Blockchain-basierten Anwendungen größten Wert auf Sicherheit legen. Grundlegende DevSecOps-Konzepte und spezielle Best Practices helfen dabei.

Voraussetzung für den Erfolg dezentralisierter Anwendungen ist eine sicherheitsorientierte Denkweise auf Basis einer durchgängigen DevSecOps-Kultur.
Voraussetzung für den Erfolg dezentralisierter Anwendungen ist eine sicherheitsorientierte Denkweise auf Basis einer durchgängigen DevSecOps-Kultur.
(Bild: Gerd Altmann / Pixabay)

Immer wieder werden Blockchains erfolgreich angegriffen. Vor kurzem hat es die Kryptobörse Binance erwischt. Hacker hatten es auf Beute im Wert von 570 Millionen Dollar abgesehen, wovon letztlich rund 100 Millionen wohl in den Händen der Angreifer geblieben sind – trotz frühzeitiger Abwehrmaßnahmen.

Solche Attacken können künftig jedes Unternehmen treffen. Denn aktuell wird die Umstellung der Basistechnologie für das World Wide Web auf Blockchain diskutiert. Dieses Web 3.0 oder web3 soll die Zukunft des Internets werden. Überdies befinden sich häufig Blockchain-basierte Technologien, Protokolle und dezentrale Anwendungen bereits in Lieferketten oder bei Geschäftspartnern im Einsatz – und verbreiten sich zunehmend. Aus diesem Grund sollten sich alle Unternehmen mit der Absicherung Blockchain-basierter Prozesse beschäftigen.

Was ist web3?

Der Begriff web3 umfasst verschiedene Konzepte für die Anwendungsarchitektur und User Experience. Dazu zählen Dezentralisierung, Offenheit, Unveränderlichkeit, Programmierbarkeit und Transparenz. Das Ziel ist es, den Nutzern mithilfe der Public-Key-Kryptografie die Kontrolle über ihre Identität zurückzugeben. Zudem soll die Peer-to-Peer-Wirtschaft durch verschiedene Blockchain-Mechanismen und -Protokolle gefördert werden.

Viele Blockchains und die zugehörigen Protokolle können fortgeschrittene Transaktionen verarbeiten und deren aktuellen Status mithilfe von Smart Contracts verwalten. Diese werden in isolierten virtualisierten Umgebungen ausgeführt und über einen Konsensalgorithmus auf allen Knoten des Netzwerks synchronisiert.

Durch diesen Mechanismus können sich Nutzer oder Knoten in einer verteilten Umgebung koordinieren. Dies gewährleistet, dass sich alle Knoten im System auf eine einzige Quelle der Wahrheit einigen können, selbst wenn einige Agenten ausfallen. Außerdem arbeiten viele Blockchains zensurresistent, indem sie ihre Protokolle offen und erlaubnisfrei halten.

Zahlreiche Schwachstellen

Eine Blockchain-basierte Architektur birgt ein inhärentes Risiko, da das Backbone des Netzwerks in der Regel von einer digitalen, Token-basierten Kryptowährung gespeist wird und einen monetären Wert hat. Diese Token werden in Adressen gehalten, die meist auf externen Konten oder in intelligenten Verträgen gespeichert sind. Da auch das Vertrauen durch die Verwendung von Public-Key-Kryptographie verteilt wird, ist jede Adresse im Netzwerk anfällig für Angriffe.

Der Kontostand wird im so genannten Public Ledger über das Netzwerk verteilt und ist für jedermann einsehbar. Das bietet Hackern die Möglichkeit, bestimmte Nutzer oder Verträge anzugreifen. Aus diesem Grund sind Datenschutz und Anonymität besonders wichtige Aspekte der Blockchain. Oft sind die Menschen, welche diese Konten verwalten, entweder Ziel von Angriffen oder erhalten zu viel Vertrauen, das sie auf unzulässige Weise ausnutzen.

Noch dazu skalieren die verschiedenen Blockchain-Technologien, Protokolle und dezentralen Anwendungen zum Teil sehr schnell. Das erhöht die Anzahl der Angriffspunkte, die sorgfältig zu analysieren und abzusichern sind. Bei der Prüfung der dezentralen Anwendungen und Technologieinfrastruktur sollten Entwickler vor allem folgende Bereiche berücksichtigen:

  • Blockchains der Schicht 1 (Bitcoin und Ethereum)
  • Blockchains der Schicht 2 (Sidechains und Rollups)
  • Intelligente Verträge
  • Compiler
  • Software-Geldbörsen
  • Hardware-Geldbörsen
  • Blockchain-Kunden (Miner und Validierer)
  • Börsen mit Fremdverwahrung (zentralisiert)
  • DeFi-Börsen (dezentralisiert)
  • Anbieter
  • Marktplätze (NFTs)

Häufige Angriffsvektoren in Smart Contracts

Da Blockchain-basierte Smart Contracts Werte speichern und wie eine Bank fungieren können, ist der darin enthaltene Code besonders anfällig für Angriffe. Daher sollte er unter strengen Sicherheitsprüfungen geschrieben werden.

Mehrere Hacks haben bereits intelligente Verträge kompromittiert und konzentrierten sich dabei in der Regel auf die Ausnutzung von Schwachstellen im Code. Einer der größten Vorfälle fand vergangenes Jahr statt. Laut Poly Network hackte ein Angreifer einen Smart Contract und transferierte Vermögen im Gegenwert von 610 Millionen US-Dollar auf externe, von ihm kontrollierte Wallet-Adressen.

Häufige Schwachstellen in Smart Contracts sind zum Beispiel:

  • Unter- und Überlauf tritt in der Regel auf, wenn durch arithmetische Prozesse die maximale Bytegröße überschritten wird. Dann springt der Wert um und kann zu unerwartetem Verhalten in der Geschäftslogik der Anwendung führen.
  • Durch wiederholtes Eintreten in den Vertrag kann ein Angreifer mehr Geld abheben als erlaubt ist.
  • Bei Transaction Front Running nutzt jemand Technologien oder Marktvorteile aus, um sich vorab über bevorstehende Transaktionen zu informieren.
  • Unzureichend abgesicherte sensible Informationen und schlecht implementierte Zugriffskontrollen erleichtern Datendiebstahl.

Wichtige Schutzmaßnahmen

Blockchain-basierte Anwendungen und Technologien sollten daher mit einer auf Sicherheit ausgerichteten Denkweise entwickelt werden. Dazu dienen bewährte DevSecOps-Konzepte. Der Begriff steht für Entwicklung (Development), Sicherheit (Security) und Betrieb Operations). Ziel ist es, diese drei Bereiche der IT-Abteilung und ihre Prozesse zu integrieren.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Das erhöht die Geschwindigkeit und Sicherheit der Anwendungsentwicklung, da schon frühzeitig entsprechende Tests durchgeführt und Fehler ausgebessert werden. Audits bieten eine zusätzliche Perspektive auf die Anwendungslogik und die Betriebsprozesse. Sie helfen beim Aufdecken von Schwachstellen im Code und schaffen Vertrauen bei den Nutzern. Zum Prüfen von Smart Contracts stehen zum Teil Open-Source-Lösungen zur Verfügung.

Bug Bounties und Crowd Sourced Pen Testing sind bewährte Methoden, um die Sicherheit weiter zu verbessern. Je mehr Experten eine Software oder Sicherheitsmaßnahmen untersuchen, desto mehr Schwachstellen decken sie auf. Häufig setzen sie dabei die gleichen Methoden und Tools wie Cyberkriminelle ein. Diesen Bösewichten sind Unternehmen mit White-Hat-Hackern aber einen Schritt voraus.

Eine Open-Source-Strategie erhöht die Transparenz der Anwendung. Dies ist bei der Blockchain wichtig, damit sich die Teilnehmer auf Basis der Code-Überprüfung und Audits von der Sicherheit überzeugen können. Darüber hinaus sorgen Open-Source-Komponenten für größeres Vertrauen in einer Community. Eine Multi-Signatur-Architektur für administrative Funktionen in Smart Contracts – wie die Übertragung von Eigentumsrechten, Geldern und anderen kritischen Vorgängen – bietet eine zusätzliche Sicherheitsebene.

Fazit

Kevin Jones
Kevin Jones
(Bild: Beck Diefenbach)

Trotz manch aktueller Probleme gehört Blockchains, dezentralisierten Anwendungen und den zugehörigen Protokollen die Zukunft. Diese neue Art der Bereitstellung von Applikationen hat das Potenzial, viele Branchen zu verändern. Voraussetzung dafür ist jedoch eine sicherheitsorientierte Denkweise auf Basis einer durchgängigen DevSecOps-Kultur.

* Als Senior Product Manager for NGINX bei F5 ist Kevin Jones dafür verantwortlich, Kunden bei der Erreichung ihrer technologischen Ziele zu unterstützen, indem er ihnen hilft, Lösungen zu entwickeln, die Probleme lösen und die digitale Transformation vorantreiben. Zudem ist er Künstler und Ingenieur mit einer Leidenschaft für Technologie.

(ID:48800018)