BLOG

Die Bedeutung von DevSecOps in Blockchain, dezentralen Protokollen und Applications

Kevin Jones Miniaturbild
Kevin Jones
Veröffentlicht am 27. Oktober 2022

Sicherheit war schon immer einer der wichtigsten Aspekte der Informationstechnologie und heute steht bei vielen Organisationen und ihren Entwicklern bei der Erstellung von Applications die Sicherheit an erster Stelle. Diese Prinzipien und Maßnahmen werden oft zusammenfassend als „DevSecOps“ beschrieben und umfassen die gesamte Kultur und Herangehensweise der Application . DevSecOps steht für Entwicklung, Sicherheit und Betrieb. Ziel ist es, in allen Aspekten der Informationstechnologie und -infrastruktur eine Mentalität zu verankern, bei der Sicherheit an erster Stelle steht.

Einer der jüngsten und spannendsten Bereiche der Informationstechnologie ist die Blockchain. Sie umfasst ein riesiges Ökosystem aus dezentralisierten Protokollen und Applications , die uns in eine aktualisierte Version des Webs führen sollen, die viele als Web3 bezeichnen.

Was ist Web3 und was genau ist eine dezentrale Application?

Der Begriff Web3 umfasst verschiedene Konzepte, die sich auf Aspekte der Application und der Benutzererfahrung konzentrieren:

  • Dezentralisierung
  • Offenheit
  • Unveränderlichkeit
  • Programmierbarkeit
  • Transparenz

Diese Kernkonzepte zielen darauf ab, den Benutzern durch die Verwendung von Public-Key-Kryptografie die Kontrolle über ihre Identität zurückzugeben und die Akzeptanz der Peer-to-Peer-Ökonomie durch verschiedene Blockchain-Mechanismen und -Protokolle zu steigern. Viele Blockchains und die sie umgebenden Protokolle können erweiterte Transaktionen verarbeiten und den Status mithilfe von Smart Contracts verwalten, die in isolierten virtualisierten Umgebungen ausgeführt werden.

Diese werden dann über einen Mechanismus namens Konsensalgorithmus über alle Knoten im Netzwerk hinweg synchronisiert. Dabei handelt es sich um einen Mechanismus, der die Koordination von Benutzern oder Knoten in einer verteilten Umgebung ermöglicht, um sicherzustellen, dass sich alle Knoten im System auf eine einzige Quelle der Wahrheit einigen können, selbst wenn einige Agenten ausfallen. Darüber hinaus arbeiten viele Blockchains zensurresistent, indem sie ihre Protokolle offen und erlaubnisfrei halten.

Wie sieht die Landschaft aus?

Bei einer Blockchain-basierten Architektur besteht ein zusätzliches Risiko, da das Rückgrat des Netzwerks typischerweise von einer digitalen, tokenbasierten Kryptowährung angetrieben wird und normalerweise einen Geldwert besitzt. Diese Token werden in Adressen gehalten, die im Allgemeinen auf externen Konten oder in Smart Contracts gespeichert sind. Und da bei der Verwendung von Public-Key-Kryptografie auch Vertrauen verteilt wird, ist jede Adresse im Netzwerk anfällig für Angriffe.

Der Kontostand jedes Kontos wird im gesamten Netzwerk im sogenannten öffentlichen Hauptbuch verteilt und ist für jeden sichtbar. Dadurch können Hacker gezielt auf bestimmte Benutzer oder Verträge losgehen. Daher sind Datenschutz und Anonymität ein besonders wichtiger Aspekt der Blockchain. Oftmals sind Menschen, die diese Konten verwalten, entweder das Ziel von Angriffen oder werden durch ihre Position in die Lage versetzt, rechtswidrig zu handeln. Zu den Bedrohungen gehören:

  • Soziale Entwicklung
  • Schlecht verwaltetes Vertrauen oder Schlüssel
  • Unterschlagung und Betrug
  • Betrügereien

Darüber hinaus ist der technologische Fußabdruck dieser verschiedenen Blockchain-Technologien, Protokolle und dezentralen Applications bereits groß und wächst schnell. Daher ist es wichtig, über die Sicherheitsimplikationen dieses schnell wachsenden Ökosystems nachzudenken. Alles, was mit einem Kernkonzept der Dezentralisierung aufgebaut ist, verfügt über eine größere Landschaft und daher mehr Angriffspunkte, die sorgfältig analysiert und gesichert werden sollten.

Hier sind einige Themen, die bei der Prüfung der Sicherheit Ihrer dezentralen Applications und Technologieinfrastruktur berücksichtigt werden sollten:

  • Layer-1-Blockchains (Bitcoin und Ethereum)
  • Layer-2-Blockchains (Sidechains und Rollups)
  • Intelligente Verträge
  • Compiler
  • Software-Geldbörsen
  • Hardware-Geldbörsen
  • Blockchain-Clients (Miner und Validatoren)
  • Depotbörsen (zentralisiert)
  • DeFi-Börsen (dezentralisiert)
  • Anbieter
  • Marktplätze (NFTs)

Gängige Angriffsmethoden bei Smart Contracts

Wenn wir im Entwicklungslebenszyklus einer Application über DevSecOps sprechen, beziehen wir uns normalerweise auf sicherheitsorientierte Entwicklung. Dies wird allgemein auch als Verlagerung der Sicherheit nach links bezeichnet. Es handelt sich um einen der wichtigsten Aspekte der DevSecOps-Kultur, da es damit beginnt, dass Entwickler Sicherheit als Code betrachten. Da Blockchain-basierte Smart Contracts Werte speichern und als Bank fungieren können, ist der darin enthaltene Code besonders anfällig für Angriffe und sie sollten unter strenger Berücksichtigung der Sicherheit geschrieben werden.

In der Branche gab es mehrere Hackerangriffe auf Smart Contracts im Hinblick auf Schwachstellen, wobei der Schwerpunkt normalerweise auf der Ausnutzung des Codes lag. Einer der größten Hacks der Geschichte ereignete sich letztes Jahr, als Poly Network, ein Cross-Chain-Protokoll, meldete, dass ein Angreifer einen Smart Contract gehackt und den Gegenwert von 610 Millionen US-Dollar transferiert hatte, indem er verschiedene Vermögenswerte auf vom Hacker kontrollierte externe Wallet-Adressen verschoben hatte.

Bei der Entwicklung von Smart Contracts gibt es viele Schwachstellen. Zu den häufigsten Angriffen zählen jedoch:

  • Unterlauf und Überlauf – Tritt normalerweise auf, wenn arithmetische Operationen dazu führen, dass vorzeichenlose Ganzzahlen ihre maximale Bytegröße erreichen, wodurch der Wert „umbrochen“ wird und es zu unerwartetem Verhalten in der Geschäftslogik Ihrer Application kommen kann.
  • Vertragsneueintritt – Die Aktion, einen Vertrag durch wiederholten Neueintritt auszunutzen, wobei der Angreifer in der Regel mehr Geld abhebt, als erlaubt sein sollte.
  • Frontrunning von Transaktionen: Damit ist der Vorgang gemeint, bei dem jemand Technologie oder Marktvorteile nutzt, um sich vorab Wissen über bevorstehende Transaktionen zu verschaffen.
  • Schlecht verwaltete Geheimnisse.
  • Schlecht implementierte Zugriffskontrolle.

Was können Sie tun, um gleiche Wettbewerbsbedingungen zu schaffen?

  • Bauen Sie eine Kultur auf, in der Sicherheit an erster Stelle steht . DevSecOps-Konzepte sind ein hervorragender Ausgangspunkt für Organisationen, die eine sicherheitsorientierte Kultur aufbauen möchten.
  • Führen Sie Audits durch . Audits bieten eine neue Perspektive auf die Application und Betriebsabläufe, helfen dabei, Schwachstellen im Code aufzudecken und schaffen Vertrauen bei den Benutzern Ihrer Application. MythX und Slither sind großartige Tools zum Prüfen von Ethereum-Smart Contracts.
  • Bieten Sie Bug-Bountys an und führen Sie Crowdsourcing-Pentests durch . Crowdsourcing-Sicherheit ist eine bewährte Methode zur Stärkung Ihrer Sicherheitspräsenz. Indem Sie Ihr Unternehmen in Bug-Bounty-Programme aufnehmen und Penetrationstests Ihrer Applications und Infrastruktur durchführen, können Sie Schwachstellen und Hacks immer einen Schritt voraus sein.
  • Nehmen Sie eine Open-Source-Strategie an. Die Transparenz Ihrer Application ist bei einer Technologie wie Blockchain wichtig, da sie den Teilnehmern die Möglichkeit gibt, sich auf der Grundlage der Überprüfung und Audits Ihres Codes anzumelden. Darüber hinaus ermöglichen Open-Source-Komponenten eine größere Verantwortlichkeit für Ihr Projekt in einem Community-Umfeld.
  • Implementieren Sie Mehrfachsignaturen für Verwaltungsvorgänge. Durch die Implementierung von Smart Contracts, die eine Mehrfachsignaturarchitektur für Verwaltungsfunktionen wie die Übertragung von Eigentum, Geldmitteln und anderen kritischen Vorgängen verwenden, wird Ihre Application um eine zusätzliche Sicherheitsebene erweitert.

Abschluss

Blockchain, dezentrale Applications und die verschiedenen sie umgebenden Protokolle wachsen schnell. Diese neuen und spannenden Möglichkeiten der Applications bergen das Potenzial, in vielen verschiedenen Branchen für Umbrüche zu sorgen. Es ist jedoch zwingend erforderlich, dass wir uns auf eine „Sicherheit an erster Stelle“-Mentalität konzentrieren und, wo immer möglich, eine DevSecOps-Kultur implementieren.

Weiterführende Literatur

Ein guter erster Schritt auf jeder Reise in die Blockchain ist das zugehörige Whitepaper für das Protokoll, auf dem Sie aufbauen: 

Studieren Sie als Nächstes frühere Hacks und Schwachstellen. Versuchen Sie sogar, den Hack in Ihrer Entwicklungsumgebung zu reproduzieren.

Um praktische Lernerfahrungen zum Thema Sicherheit auf Ethereum zu sammeln, empfehle ich die folgenden Capture-the-Flag-Programme (CTF), in denen Schwachstellen oder „Flags“ in absichtlich anfälligen Programmen oder Websites versteckt werden, um die Grundlagen der Sicherheit zu vermitteln.