Schwachstelle erlaubt Diebstahl von hunderten Bitcoin
Schwachstelle erlaubt Diebstahl von hunderten Bitcoin
Bildquelle: Kovalevich28, Lizenz

ECDSA-Bitcoin-Schwachstelle entdeckt: Bitcoin in Gefahr?

Kudelski entdeckte eine gefährliche ECDSA-Bitcoin-Schwachstelle. Hunderte Bitcoin-Wallets wurden aufgrund der neuen Schwachstelle gehackt.

Gefährliche ECDSA-Bitcoin-Schwachstelle aufgetaucht. Vor wenigen Tagen veröffentlichte das Forschungsteam von Kudelski Security – eine Industriegröße im finden von Sicherheitslücken – erschreckende Nachrichten: Unter gewissen Umständen lässt sich der Private Schlüssel aus öffentlich zugänglichen Daten rekonstruieren. Gerade in Kryptowährungen, wo die Weisheit “dein Schlüssel, dein Geld” einen hohen Stellenwert einnimmt, sind diese Nachrichten potenziell katastrophal.

Mit unter 150 Zeilen Code zum Schlüssel

In ihrem Beispielcode zeigen die Forscher, wie leicht es gehen kann: In weniger als drei Sekunden ist der Key wiederhergestellt.

asciicast

Wie die ECDSA-Bitcoin-Schwachstelle funktioniert

ECDSA-Bitcoin-Schwachstelle
Grafik von vectorstank

Fangen wir bei den Grundlagen an: Die Zufallszahlen aus einem Computer sind nicht wirklich zufällig; deshalb heißen die Generatoren PRNGs oder Pseudo Random Number Generator. Diese werden eingesetzt, weil atmosphärisches Rauschen nicht immer praktisch ist.

Aber: nicht alle PRNGs sind gleich. Es gibt, hoch-komplexe, kryptografisch sichere Generatoren auf der einen Seite, während auf der anderen Seite Lineare Kongruenzgeneratoren (LCGs) stehen. Bleibt ein solcher unsicherer Generator aus frühen Entwicklungszeiten in einer Krypto-Wallet, läuft der Nutzer Gefahr mit seinen Transaktionen auch seinen Privaten Schlüssel zu verraten.

Diese Generatoren spucken einen Nonce aus, welcher Teil der Signatur wird. Verwendet man mehrere aufeinanderfolgende Nonces, steht nach nur wenigen Vorfällen der Schlüssel offen wie ein Scheunentor. Wiederverwendete Nonces (welche schon lange vor Entdeckung der neuen Lücke als verwundbar bekannt waren), wurden auch geprüft und leider auch in der Bitcoin-Chain gefunden.

Millionen Dollar in Bitcoin wurden gestohlen

In ihrem Blogpost zeigen die Forscher einen Teil ihrer Ergebnisse: 773 geknackte Wallets in 2 Tagen und 19 Stunden. Gekostet hat das ganze etwa 270€ und hätte etwa 484₿ (10.141.536€) eingebracht. Vor ein paar Jahren wäre es fast das Dreifache gewesen. Insgesamt flossen vorher bereits etwa 144₿ (3 Mio.€) an andere Bitcoin-Wallets.

Die Dunkelziffer ist aber vermutlich noch mal deutlich höher. Schon vor über 5 Jahren berichteten Mitglieder von Foren davon wiederholte Nonce Werte zur eigenen Bereicherung ausgenutzt zu haben.

Ethereum scheinbar von Lücke verschont

Ethereum setzt bei der Sicherung der Chain ebenfalls auf ECDSA und so wurde auch ein Angriff auf diese Blockchain gefahren, dabei wurden nach 2 Tagen jedoch nur 2 verwundbare Wallets, beide ohne Ethereum, gefunden. Da es nur so wenige waren, wurde der Angriff auf die Schwachstelle nicht fortgesetzt.

Wer auf Nummer sicher gehen will, sollte seine Kryptowährungen aber trotzdem auf einem Hardware-Wallet* speichern. Das gilt natürlich unabhängig von der kürzlich entdeckten ECDSA-Bitcoin-Schwachstelle.

(*) Alle mit einem Stern gekennzeichneten Links sind Affiliate-Links. Wenn Du über diese Links Produkte oder Abonnements kaufst, erhält Tarnkappe.info eine kleine Provision. Für Euch entstehen dadurch keine zusätzlichen Kosten. Auch der Preis bleibt gleich. Wenn Du die Redaktion anderweitig finanziell unterstützen möchtest, schau doch mal auf unsere Spendenseite oder besuche unseren Online-Shop.

Tarnkappe.info

Mehr zu dem Thema
Moritz ist von ganzem Herzen Open-Source Programmierer. Neben regelmäßigen Commits für diverse Open-Source-Projekte verfasst er gelegentlich auch Texte für die Tarnkappe. Er findet es echt seltsam über sich in der dritten Person zu schreiben und merkt an, dass seine DMs für alles außer Marketing-Nachrichten offen stehen. Erreichbar ist er auf Matrix (@moritz:poldrack.dev), IRC (mpldr auf libera.chat) und Email (~poldi1405/public-inbox@lists.sr.ht).