Insecure in any case?

Sicherheitsaspekte Blockchain-basierter Technologien

8. Mai 2017, 16:39 Uhr | Fabian Hafner, Lubomir Stroetmann, Hartmut Pohl - softScheck GmbH (1)
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Erfüllung der Sicherheitsanforderungen am Beispiel von Bitcoin

Sicherheitsqualität von Hash-Algorithmen

Bitcoin benutzt doppelt gehashtes SHA-2 (SHA-256) und stimmt damit den aktuellen Empfehlungen des BSI bis 2022 überein. Sollte die Hashfunktion gebrochen werden, so muss eine neue Softwareversion an alle Teilnehmer verteilt werden und es muss eine neue - mit einer besseren Hashfunktion neuberechnete - Blockchain gebildet werden (‚Hard Fork‘). Bei Bitcoin ist es noch zu keinem Hard Fork gekommen, wohl aber bei dem Smart Contract Blockchain-Netzwerk ‚Ethereum‘. Ein Angreifer nutzte eine Sicherheitslücke aus und überwies eine sehr große Anzahl von Geldbeträgen auf ein eigenes Konto(8).

Nach Bekanntwerden wurde der Programmierfehler behoben (Patch) und die relevanten Transaktionen mit einer Hard Fork von der Blockchain entfernt. Allerdings entschieden sich manche Teilnehmer des Ethereum-Netzwerkes, nicht die gepatchte Client-Version zu installieren, da sie dies als einen mit einem Bail-Out vergleichbaren Eingriff in einen ungeregelten freien Geldmarkt sahen(9). Daher existieren jetzt die beiden unterschiedlichen Ethereum-Versionen ‚Ethereum Classic‘ und ‚Ethereum Core‘ mit zwei Blockchains - also zwei Währungen.

Implementierung

Als bedeutendste Implementierung kann der erste und offizielle Client des Bitcoin-Projekts ‚Satoshi-Client‘ bezeichnet werden. Im Android-Bitcoin-Client „Bitcoin Wallet“ wurden bisher zwei Sicherheitslücken identifiziert, die auf die Zufallszahlengenerierung zurückgingen(10),(11). Grundsätzlich kommen in der Implementierung mögliche Fehlerquellen in Betracht wie Anfälligkeit gegenüber Sabotage wie Distributed Denial of Service (DDoS) Attacks(12), unberechtigtes Trennen eines Nodes vom Netz und illegale Inhalte in den Transaktionen.

Kontrolle über die Erstellung von Blöcken

Besitzt ein Angreifer (oder eine Gruppe von Angreifern) mehr als 50% der aktuell verfügbaren Rechenkapazität des Netzwerks, so kann er im Durchschnitt schneller als der Rest der Teilnehmer neue Blöcke finden und der Blockchain anhängen. Auch wenn er nicht jedes Mal schneller ist, wird er trotzdem auf Dauer die längste Blockchain besitzen und diese durchsetzen können. Dies erscheint bei der notwendig hohen Rechenleistung insbesondere der Organisierten Kriminalität und interessierten Staaten möglich.

Ein > 50% Angriff erlaubt es dem Angreifer eigene bereits getätigte Transaktionen zu manipulieren und z.B. rückgängig zu machen und damit mehrfach zu tätigen (‚double-spend‘), sowie fremde Transaktionen nicht in seine Blöcke aufzunehmen und damit zu blockieren.

Der Angriff ist grundsätzlich nicht abwehrbar. Angriffe können schon mit weit weniger Rechenkapazität gestartet werden. Entscheidend ist, welche Möglichkeiten der Angriff birgt: Double-spending einer eigenen Transaktion sowie Verhinderung anderer Transaktionen. Rational handelnde Akteure werden keinen solchen Angriff durchführen wollen, solange die Belohnung für Mining größer ist. Eine Motivation für einen >50% Angriff hätte ein Angreifer, der das komplette System unter eigene Kontrolle bringen und ihm eigene Regeln aufzwingen will.

Ein andauernder >50% Angriff kann durch einen „Hard Fork“ gekontert werden: Ein neuer Client mit einer neu berechneten Blockchain, auf den alle bis auf den Angreifer umsteigen. Dabei sollte die Hashfunktion entsprechend verändert werden, damit mit der Hardware des Angreifers nicht mehr >50% der Rechenleistung erlangt werden kann.

Kontrolle über das Netzwerk

Bei der Sybil-Attacke füllt ein Angreifer das Netz mit eigenen Clients; ein Opfer ist dann nur mit Angreifer-Clients verbunden. Der Angreifer kann so z.B. eine Blockchain mit einem zum eigenen Vorteil veränderten neuen Block präsentieren. Bekommt das Opfer wieder Zugriff auf die korrekte Chain, ist der vom Angreifer generierte Block ein Glied einer kürzeren Kette und damit ungültig. Dieser Angriff wird durch die Rechenkosten zur Erzeugung eines Blocks, die direkte Belohnung durch das System, sowie den Aufwand zur Kompromittierung des Netzwerks stark erschwert bzw. unwirtschaftlich gemacht.

Vertraulichkeit

Die Inhalte der Blöcke und deren Transaktionen sind für jedermann lesbar.

Integrität

Die Integrität der Blöcke und damit der gesamten Kette wird durch die Speicherung des Hashwerts des vorangehenden Blocks im jeweils nachfolgenden Block erreicht. Die Transaktionen im Block werden bei Erstellung des Blocks validiert.

Verfügbarkeit

Der Bitcoin Satoshi Client implementiert über 30 verschiedene Maßnahmen, um übergroße Eingaben zu verwerfen, spammende Peers zu blockieren u.v.m.(13)

Anonymität

Es gibt bei Bitcoin keine Konten. Ein Bitcoin Wallet ist die Sammlung aller Empfangsadressen sowie der zugehörigen privaten Schlüssel. Die Blockchain und damit alle Transaktionen sind für alle einsehbar, d.h. Geldflüsse können nachverfolgt werden. Im ‚Darknet‘ sollen Geldwäschedienste existieren, die Spuren von Geldflüssen ‚genügend‘ verwischen. Adressen für Transaktionen sollten für jede Transaktion neu zufällig generiert werden. Um als Initiator einer Transaktion nicht seine IP preiszugeben, kann ein Anonymisierungsdienst genutzt werden. Die EU plant allerdings die Identifizierung der Nutzer(14) .

Verbesserungen des Bitcoin Protokolls

Änderungsvorschläge im Bitcoin-Netzwerk (‚Soft Forks‘) werden durch Abstimmung der Miner geklärt. Sie können in einem erfolgreich durch Mining erzeugten Block eine Option anfügen, um ihre Wahl bekannt zu geben. Sobald über 55% der Miner im Netzwerk dafür sind, gilt der Vorschlag als angenommen(15). Änderungen, die eine Neuerstellung der Blockchain erfordern, sind ‚ Hard Forks‘.

Die Sicherheitsanforderungen werden bis auf Vertraulichkeit von Bitcoin komplett erfüllt. Die Anforderungen an Kontrolle und Verfügbarkeit hängen jedoch von der Implementierung und Umsetzung des Netzwerkes ab.

 


 

[8]  Siegel, D.: Understanding The DAO Hack for Journalists. Jun 19. 2016 https://medium.com/@pullnews/understanding-the-dao-hack-for-journalists-2312dd43e993

[9]  Rizzo, P.: Ethereum Hard Fork Creates Competing Currencies as Support for Ethereum Classic Rises. http://www.coindesk.com/ethereum-hard-fork-creates-competing-currencies-support-ethereum-classic-rises

[10] Siegel, D.: 55 BTC Stolen Through Security Vulnerability in Android Bitcoin Wallets. TradeBlock Aug 11, 2013. https://tradeblock.com/blog/security-vulnerability-in-all-android-bitcoin-wallets

 [11] Goodin, D.: Crypto flaws in Blockchain Android app sent bitcoins to the wrong address. 5/29/2015. https://arstechnica.com/security/2015/05/crypto-flaws-in-blockchain-android-app-sent-bitcoins-to-the-wrong-address

[12] Giese, P.: Mysteriöse riesige BTC-Transaktionen verlangsamen Bitcoin-Netzwerk. BTC-Echo 10.3.17. https://www.btc-echo.de/mysterioese-riesige-btc-transaktionen-verlangsamen-bitcoin-netzwerk

[13] Bitcoinwiki (Ed.): Weaknesses. https://en.bitcoin.it/wiki/Weaknesses#Denial_of_Service_.28DoS.29_attacks

[14] European Commission: Questions and Answers: Action Plan to strengthen the fight against terrorist financing. http://europa.eu/rapid/press-release_MEMO-16-209_de.htm

[15] CryptoCompare (Ed.): What is BIPS – Bitcoin Improvement Proposal. https://www.cryptocompare.com/coins/guides/what-is-a-bips-bitcoin-improvement-proposal

 

 

Anbieter zum Thema

zu Matchmaker+

  1. Sicherheitsaspekte Blockchain-basierter Technologien
  2. Sicherheitsanforderungen an das Konzept Block Chain
  3. Umsetzung der Block Chain-Methode am Beispiel von Bitcoin
  4. Erfüllung der Sicherheitsanforderungen am Beispiel von Bitcoin
  5. Ausblick

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu softScheck GmbH

Weitere Artikel zu Cyber-Security

Weitere Artikel zu Smart City/Building/Home

Weitere Artikel zu IIoT-Protokolle (OPCUA, MQTT, ...)

Weitere Artikel zu IoT / IIoT / Industrie 4.0