"Blockchain Bandit": Wie konnten Hacker ETH im Wert von Millionen Euro durch das Erraten von privaten Schlüsseln stehlen

Anfang dieser Woche veröffentlichte das in den USA ansässige Sicherheitsberatungsunternehmen Independent Security Evaluators (ISE) einen Bericht über private Schlüssel für die Ethereum-Blockchain.

Trotz der Etablierung von rund 700 schwachen privaten Schlüsseln, die regelmäßig von mehreren Personen verwendet werden, fanden die Forscher einen "Blockchain-Banditen", der es geschafft hat, fast 45.000 Ether (ETH) zu sammeln, indem er diese gebrechlichen privaten Schlüssel erfolgreich erraten hat. Cointelegraph interviewte Adrian Bednarek, einen leitenden Sicherheitsanalytiker der ISE, um mehr über das zu erfahren, was sie als "Ethercombing" bezeichnen.

Forschungshintergrund und Hauptergebnisse

Bednarek sagt, er habe den Hacker zufällig entdeckt. Zu dieser Zeit recherchierte er für einen Firmenkunden, der eine eigene Wallet mit einem integrierten Schlüsselgenerierungsalgorithmus implementieren wollte.

"Als Sicherheitsanalyst müssen Sie die zugrunde liegenden Technologien sehr genau verstehen, bevor Sie mit der Bewertung beginnen – im Grunde so, als würden Sie sie selbst erstellen", sagte er gegenüber Cointelegraph.

„Die Generierung des privaten Schlüssels war eine der Komponenten, die wir erforschen mussten, und ich habe die Grundlagen des privaten Schlüssels von Ethereum durchgearbeitet: Wie groß ist der Schlüssel? Wie wird er erzeugt? Und wie wird daraus der öffentliche Schlüssel und die öffentliche Adresse abgeleitet? “

Bei Ethereum, Bitcoin (BTC) oder jeder anderen großen Blockchain, die das ECDSA-Protokoll (Elliptic Curve Digital Signature Algorithm) unterstützen, werden private Schlüssel durch 256-Bit-Zahlen dargestellt. Die ISE reduzierte sie während ihrer Recherche auf acht 32-Bit-"Unterregionen" im 256-Bit-Schlüsselbereich, da das rohe Erzwingen eines privaten Schlüssels innerhalb einer größeren Region eine statistische Unwahrscheinlichkeit darstellen soll.

Diese acht Unterregionen enthielten insgesamt 34 Milliarden schwächere Schlüssel, die die ISE anschließend durchsuchte. "Es hat einen ganzen Tag gedauert", sagt Bednarek.

Es sollte hervorgehoben werden, dass diese Schlüssel aufgrund eines fehlerhaften Codes und fehlerhafter Zufallszahlengeneratoren generiert wurden und die Forscher gezielt suboptimale Schlüssel anvisierten.

"Ein privater Schlüssel ist gleichzeitig Ihre Benutzer-ID und Ihr Kennwort", erklärte der Sicherheitsanalytiker, während er die grundlegenden Mechanismen aufriss. "Es unterscheidet sich von Ihrem Banking-Login, bei dem Sie Ihren Benutzernamen und ein Kennwort haben. [...] Wenn zwei Personen dasselbe Kennwort für die Erstellung eines Brainwallet verwenden (d.h. Wallets , die Passwörter als Teil der Generierung privater Schlüssel enthalten) – wie "passwort123" – besitzen beide die gleiche Brieftasche. Wie Bednarek sagt: "Es ist, als würden zwei Personen mit demselben Konto verbunden."

Zunächst stellte der ISE-Spezialist fest, dass der private Schlüssel „1“ *, der ausgewählt wurde, weil er die untere Schranke eines möglichen privaten Schlüssels ist, tatsächlich in der Blockchain verwendet wurde. Darüber hinaus war er an mehreren tausend Transaktionen beteiligt.

* – (0x0000000000000000000000000000000000000000000000000000000000000001, wenn mit 256-Bit-Code geschrieben)

"Das war eine rote Flagge", erinnert sich Bednarek. „Warum verwenden Leute den privaten Schlüssel 1? Das sollte nicht möglich sein. Sein Team begann, mehr Schlüssel zu scannen, um zu sehen, wie weit verbreitet das Problem war. Obwohl die ISE-Forscher festgestellt hatten, dass dieses Problem nicht besonders allgegenwärtig ist, hatten sie bis zu 732 schwache private Schlüssel mit insgesamt 49.060 Transaktionen gefunden.

"Ungefähr ungefähr 50 Millionen Schlüssel wurden auf der Ethereum [Blockchain] verwendet, und wir haben nur 732 davon entdeckt."

Der Blockchain-Bandit

Wie bereits erwähnt, bemerkte das ISE-Team während seiner Recherchen, dass einige der mit den privaten Schlüsseln verknüpften Wallets – die mit ihren suboptimalen Methoden gefunden wurden – viele Transaktionen an eine bestimmte Adresse abwickelten jedoch kein Geld zurückkam. Wie Bednarek in einem erläuternden Video auf der ISE-Website sagte:

„Es gab einen Mann, der eine Adresse hatte, der herumging und Geld von einigen der Schlüssel abzog, auf die wir Zugriff hatten. Wir haben 735 private Schlüssel gefunden, er hat zufällig Geld von 12 dieser Schlüssel genommen, auf die wir auch Zugriff hatten. Es ist statistisch unwahrscheinlich, dass er diese Schlüssel zufällig erraten hatte, also tat er wahrscheinlich dasselbe. […] Er hat im Grunde Geld gestohlen, sobald sie in die Geldbörsen der Menschen kamen."

In einem Gespräch mit Cointelegraph erklärte Bednarek, dass der Hacker (oder eine Gruppe von Hackern) einen Knoten eingerichtet hatte, um automatisch Geld von Adressen mit schwachen Schlüsseln zu entfernen. Um das zu überprüfen, benutzten die Forscher einen sogenannten Honigtopf: Sie schickten einen Dollar mit einem schwachen privaten Schlüssel, von dem sie wussten, dass der Hacker diese verwendet, um zu sehen, wie schnell dieser Dollar abgehoben wird. Das Geld war in wenigen Sekunden verschwunden, sagte der ISE-Mitarbeiter:

„Wäre es eine manuelle Sache gewesen, wäre es vielleicht innerhalb eines Tages oder was auch immer genommen worden. Aber als wir es verschickten, begaben wir uns zum Blockchain Explorer und sahen, dass sofort ein Transfer innerhalb von Sekunden stattfand. Im Grunde hat er [der Hacker] einen Blockchain-Knoten, der Teil des irgendwo aufgestellten Transaktionsnetzwerks ist. Sobald Transaktionen mit einem privaten Schlüssel eingehen, von dem er Kenntnis hat, wird sofort eine Aufforderung zur Überweisung des Geldes gesendet. “

Laut den von Etherscan erhaltenen Daten enthält die Hacker-Wallet rund 45.000 ETH (im Wert von mehr als 6,5 Millionen Euro). Es wird geschätzt, dass die Coins für mehr als 44 Millionen Euro hätten verkauft werden können.

Laut dem Kommentarbereich für die Wallet-Adresse des Betrügers hatte sie seit mehreren Jahren Geld gestohlen. Einer der Kommentare, die angeblich vom großen ETH-Geldbörsenanbieter MyEtherWallet (MEW) eingereicht wurden, enthält einen Link zu einem Reddit-Thread von 2016 mit dem Titel "Ethereum-Knoten mit unsicheren RPC-Einstellungen werden aktiv ausgenutzt." Dort beschrieb ein Redditor, wie er einen Ethereum-Knoten mit "HTTP RPC API, die mit dem Internet verbunden ist" erstellt und innerhalb weniger Minuten nach der Aktivierung angegriffen wird.

"Wenn Sie die Adresse der [Hacker] googeln, beschweren sich viele Leute über ihn", bestätigt Bednarek und gibt zu, dass die Taktiken des Betrügers sich als recht erfolgreich erwiesen haben:

"Dieser Typ hat einen mehrstufigen Ansatz gewählt, um Geld zu stehlen."

Der Sicherheitsanalytiker beschrieb dann die Methode des Betrügers detaillierter: „Erstens – schaut er nach schlechten privaten Schlüsseln. Zweitens – schaut er nach schwachen Passphrasen-basierten Wallets und falsch konfigurierten RPCs. Es ist nicht beabsichtigt, dass Sie die RPC Ihres Ethereum-Knotens offen legen, aber manchmal tun dies die Leute, und wenn Sie kein Kennwort festgelegt haben, kann jemand die mit Ihrem Knoten verknüpfte Standard-Wallet leerräumen."

Das Asset-Grabbing ist jedoch kein Problem, das ausschließlich der Ethereum-Blockchain vorbehalten ist, warnt der ISE-Sicherheitsforscher. "Sie [die Blockchain] arbeitet wie beabsichtigt, es ist genau so, wie die Leute es verwenden", sagte er und beschrieb ein ethikbezogenes Problem, mit dem sein Team während seiner Recherche konfrontiert war:

„Bevor wir mit dieser Untersuchung begonnen haben, hatten wir ein ethisches Dilemma – was wäre, wenn wir die Wallet mit einem Schlüssel finden, die eine Million Dollar enthält? Lassen wir es einfach dort? Wenn wir es jedoch dort lassen, wissen wir, dass es hinter einem schlechten privaten Schlüssel steckt, und es wahrscheinlich gestohlen wird. Daher würden wir mitverantwortlich sein, dass dieses Geld gestohlen wird, weil wir jemanden hätten benachrichtigt könnten. Aber das zweite Problem ist, wen benachrichtigen wir? Es gibt keine einfache Möglichkeit, den Besitzer eines privaten Schlüssels zu identifizieren. Vielleicht könnten wir das Geld vorübergehend einziehen, bis jemand beweisen konnte, dass es ihnen gehörte? Aber dann entstehen viele rechtliche Probleme. Also kontaktierte der CEO des Unternehmens [für das sie recherchierten] den IFS um Rechtsberatung. Die Antwort war im Wesentlichen: „Wenn Sie etwas finden, lassen Sie es dort. Unternehmen Sie keine Transfers. Auf diese Weise begeben Sie sich nicht auf gefährliches Eis."

Sicherheitsratschläge und weitere Untersuchungen

Laut Bednarek sind private Schlüssel aus zwei Hauptfaktoren anfällig. Die erste ist die Codierung von Fehlern in der Software, die für deren Generierung verantwortlich ist. Zweitens neigen einige Krypto-Besitzer dazu, dentische private Schlüssel durch schwache Passphrasen wie "abc123" zu erhalten oder gar kein Passwort zu verwenden.

Im ISE-Bericht wurde beispielsweise festgestellt, dass einer der beliebtesten schwachen privaten Schlüssel derjenige ist, der aus einer leeren Wiederherstellungsphrase – “   ” – mithilfe der Parity-Wallet generiert wird. An dieser Adresse wurden angeblich 8.772 Transaktionen mit insgesamt 5.215.586 ETH übertragen.

"Parity lässt Sie für eine Weile ein Standardkennwort verwenden, das daraufhin den privaten Schlüssel generiert", erklärt Bednarek und fügte hinzu, dass der Wallet-Entwickler das Problem angeblich irgendwann behoben habe. „Ich denke, sie haben [seitdem] Mindestanforderungen an das Passwort eingeführt. Es kann nur ein einzelnes Zeichen sein, aber Sie können jetzt keine "leeren" Passwörter für Parity verwenden, wenn Sie die neueste Version ihrer Software verwenden."

Laut Bednarek hat noch kein Wallet-Betreiber mit der ISE Kontakt aufgenommen:

„Das ist ein interessantes Thema, denn es ist schwer zu sagen, welche Wallet dafür verantwortlich war. Wenn es überhaupt eine Wallet war – es könnten nur Leute sein, die falsche private Schlüssel eingeben, es könnten frühe Debug-Versionen von Wallet sein, es könnten aber auch Entwickler sein. Es ist etwas schwer zu sagen, wieso so etwas geschehen kann und welche Wallet daran schuld ist. Ich glaube nicht, dass wir es jemals herausfinden werden."

Bednareks Rat für diejenigen, die nicht mit dem Computer vertraut sind, besteht darin, bekannte und vertrauenswürdige Wallets zu verwenden und möglicherweise auf Hardware- oder papierbasierte Wallets umzusteigen, wenn große Mengen an Kryptowährung involviert sind. Er sagte:

„Wenn viel gehandelt oder gehalten werden soll, verwende Sie eine Hardware-Wallet, bei der der private Schlüssel niemals veröffentlicht wird. Viele meiner langjährigen Freunde und Krypto-Besitzer verwenden Wallets aus Papier, bei denen sie einen zufälligen Schlüssel generieren und auf Papier festhalten, so dass der Computer überhaupt nicht berührt wird. “

Dennoch besteht immer ein gewisses Risiko, selbst wenn es sich um populäre Software handelt, warnte Bednarek. Er erwähnte, dass die Iota-Wallet von einem Entwickler aus Oxford kompromittiert wurde, der letzten Monat beschuldigt und verhaftet wurde, da er etwa 10 Millionen Euro gestohlen hat.

Da die Iota-Wallet einen Open-Source-Code besitzt, wurde dieser auf Github veröffentlicht. Irgendwann modifizierte der Betrüger den Zufallszahlengenerator, indem er eine Änderung an den Code übermittelte.

"Das wurde auf eine sehr verschleierte Weise gemacht", sagte Bednarek. „Auch wenn viele Leute den Code überprüfen könnten“, nahmen sie einfach an, dass es funktionieren sollte.

Auf diese Weise konnte der Hacker sehen, wie private Schlüssel generiert wurden, und diese mithilfe seines eingespritzten Codes reproduzieren, erklärte der ISE-Spezialist.

"Nachdem viele Leute viel Geld verloren hatten, hat jemand seine Modifikationen am Zufallszahlengenerator rückgängig gemacht und sie konnten sehen, dass er fortlaufende Zahlen innerhalb des bestimmten Bereichs des Schlüsselraums erzeugt."

Für die Zukunft plant die ISE, Blockchains und schwache private Schlüssel in größerem Umfang zu überwachen. "Wir werden unsere Scanmethode auf GPUs umstellen, mit denen wir innerhalb von Sekunden 38 Milliarden Schlüssel scannen können", sagte Bednarek gegenüber Cointelegraph.

„Wenn wir das Scannen effizienter gestalten, können wir einige verrückte Dinge tun, wie beispielsweise Brainwallets oder andere möglicherweise fehlerhafte Schlüsselgenerierungsalgorithmen. Wir werden also in verschiedene Bereiche expandieren, um weitere Schlüssel zu identifizieren. "

Darüber hinaus wird die Sicherheitsforschungsgruppe weitere Informationen – einschließlich fehlerhafter öffentlicher Schlüssel – veröffentlichen, damit die Menschen selbst recherchieren und vor möglichen Sicherheitsverletzungen gewarnt werden können. "Vielleicht wird dies zu einer gemeinsamen Anstrengung, um die Ursachen dafür zu finden", schlug Bednarek vor.