So können Hardware-Krypto-Wallets gehackt werden

10 Jan 2019

Hardware-Wallets gelten als sicherste Art der Krypto-Wallets. Da es aber für nichts auf dieser Welt eine 100%-ige Sicherheit gibt, können auch sie kompromittiert werden. Auf dem 35. Chaos Communication Congress präsentierten die Sicherheitsforscher Thomas Roth, Dmitry Nedospasov und Josh Datko dazu verschiedene Möglichkeiten. Aber bevor wir uns mit dem Thema Hacking beschäftigen, möchten wir Ihnen das nötige Hintergrundwissen über Hardware-Wallets sowie ihre Funktionsweise geben.Sicherheitsforscher fanden mehrere Möglichkeiten, um die von Ledger und Trezor hergestellten Hardware-Krypto-Wallets zu kompromittieren

Was ist ein Krypto-Wallet?

Gehen wir zunächst darauf ein, was ein Krypto-Wallet überhaupt ist. Mit einfachen Worten handelt es sich bei einem Wallet um eine Art Konto für Kryptowährung. Dieses „Konto“ setzt sich aus einem kryptografischen Schlüsselpaar zusammen; ein öffentlicher sowie ein privater Schlüssel, die eine gewisse Ähnlichkeit mit Login/Passwort-Kombinationen aufweisen. Dabei wird der öffentliche Schlüssel als Wallet-Adresse und der private Schlüssel für den Zugriff auf Coins verwendet – das heißt, zum Signieren ausgehender Transaktionen.

Erwähnenswert ist auch, wie diverse sogenannte Public-Private-Key-Paare in Kryptowährungssystemen für zahlreiche Wallets einer Person generiert werden. Da es zu umständlich sein könnte, mehrere vollständig unabhängig voneinander generierte Schlüsselpaare zu speichern, generieren Kryptowährungssysteme lediglich eine große Zahl, die als kryptografischer „Seed“ (aus dem Englischen für „Samen“) bezeichnet wird. Aus diesem Seed werden dann mehrere Public-Private-Key-Paare für zahlreiche Geldbörsen abgeleitet.

Diese Zahl – der kryptografische Seed – ist um Grunde genommen das, was Benutzer eines Kryptosystems tatsächlich speichern.

Im Gegensatz zu herkömmlichen Finanzsystemen gibt es bei Kryptowährungen für gewöhnlich keine zentralen Behörden, Registrierungsmechanismen, Rückbelastungsversicherungen oder Optionen zur Kontowiederherstellung. Jeder, der über den kryptografischen Seed und somit auch über die daraus abgeleiteten Schlüssel verfügt, ist gleichzeitig auch im Besitz der entsprechenden Krypto-Wallets. Wenn der Seed also verloren geht, sind auch die Coins in den Wallets futsch.

Offiziell ist ein Wallet übrigens ein Schlüsselpaar aus öffentlichen und privaten Keys. Oft werden die Mittel zum Speichern dieser Sicherheitsschlüssel auch als Wallets bezeichnet. Im Grunde genommen ist ein Hardware-Wallet also ein Gerät, auf dem Kryptowallets gespeichert werden. Eigentlich ganz einfach, oder?

Wozu ein Hardware-Wallet?

Verständlicherweise ist es keine schlechte Idee, den Seed so sicher wie möglich aufzubewahren; hierfür gibt es zahlreiche Möglichkeiten, die einige Vor- aber auch Nachteile mit sich bringen. Die bequemste Methode ist die Speicherung des Seeds entweder auf Ihrem Computer, Smartphone oder, noch besser, online. Malware, die es auf Krypto-Wallets abgesehen hat, kommt mittlerweile allerdings recht häufig vor. Online-Wallet-Dienste können also gehackt werden und sogar bankrottgehen, wodurch große Coin-Mengen schlichtweg verschwinden würden.

Hinzu kommen weitere Probleme, wie Phishing, Spoofing von Zahlungsinformationen, der Verlust von Wallets aufgrund von Hardwarefehlern, usw. – aus diesem Grund haben sich Nutzer irgendwann dazu entschieden, diesem Chaos mithilfe der Herstellung von Hardware-Wallets, dedizierte Geräte zur verlässlichen und sicheren Aufbewahrung kryptografischer Seeds, Abhilfe zu schaffen.

So funktionieren Hardware-Krypto-Wallets

Die Grundidee, die hinter diesen Hardware-Krypto-Wallets steckt, ist die Speicherung des kryptografischen Seeds, sodass dieser das Gerät quasi niemals verlässt. Das gesamte Signaturverfahren erfolgt demnach im Wallet selbst und nicht über einen Computer. Selbst wenn Ihr Rechner kompromittiert werden sollte, könnten die Kriminellen Ihre Sicherheitsschlüssel also unter keinen Umständen entwenden.

Warum sind Hardware-Wallets sinnvoll?

Darüber hinaus sind einige der zusätzlichen Zugriffsschutzmaßnahmen sehr sinnvoll, wie beispielsweise das Sperren des Geräts via PIN-Code oder die tatsächliche Überprüfung der Transaktion auf dem Gerät selbst, um diese entweder bestätigen oder ablehnen zu können.

In Sachen Design handelt es sich bei einem Hardware-Wallet für gewöhnlich um einen relativ kleinen, per USB verbundenen Dongle, der über ein Display und einige Tasten zur PIN-Eingabe und Transaktionsbestätigung verfügt.

Das Innenleben solcher Geräte kann jedoch variieren. Die beiden führenden Hersteller von Hardware-Wallets – Trezor und Ledger – sind das perfekte Beispiel für zwei vollkommen unterschiedliche Ansätze in Sachen Hardware-Design.

Ledger’s Ansatz: Der kryptografische Seed wird im Secure-Element-Chip gespeichert

Ledgers Geräte – Ledger Nano S und Ledger Blue – verfügen über zwei Hauptchips. Einer davon ist Secure Element, ein Mikrocontroller, der entwickelt wurde, um hochempfindliche kryptografische Daten zu speichern. Genauer gesagt werden diese Chips in SIM-Karten, in Chip- und PIN-Bankkarten sowie in Samsung Pay- und Apple Pay-kompatiblen Smartphones verwendet.

Der zweite Chip ist ein Universal-Mikrocontroller, der alle peripheren Aufgaben übernimmt: Aufrechterhalten der USB-Verbindung, Kontrolle des Displays und der Tasten, usw. Tatsächlich fungiert dieser Mikrocontroller als Mittelsmann zwischen dem Secure Element und allem anderen; dazu zählt auch der Nutzer.

Das Sicherheitsmodell Ledger Nano S

Aber selbst das Speichern von kryptografischen Seeds in einem geschützten Chip macht das Krypto-Wallet von Ledger noch lange nicht völlig undurchdringlich. Obwohl es sehr schwierig ist, Secure Element selbst zu hacken und auf diese Weise kryptografische Seeds zu entwenden, ist es relativ einfach, einen Universal-Mikrocontroller zu kompromittieren und das entsprechende Hardware-Wallet zu täuschen, um die Transaktionen eines Fremden zu bestätigen.

Die Forscher untersuchten die Ledger-Nano-S-Firmware und stellten fest, dass diese mit einer kompromittierten Version erneut geflasht werden kann, wenn ein bestimmter Wert einer spezifischen Speicheradresse zugeordnet wird. Diese Speicheradresse wird auf eine Blacklist gesetzt, damit sie nicht beschrieben werden kann. Der im Gerät verwendete Mikrocontroller unterstützt jedoch das sogenannte Memory Remapping, wodurch die Adresse „zugreifbar“ wird. Die Forscher nutzten diese Funktion aus und bestückten den Nano S mit modifizierter Firmware. Zu Demonstrationszwecken enthielt diese modifizierte Firmware lediglich ein Snake-Spiel. Im Ernstfall könnte sie jedoch ein schädliches Modul enthalten, das die Wallet-Adresse in allen ausgehenden Transaktionen ändert.

Ein alternativer Ansatz zur Kompromittierung eines Hardware-Wallets ist der Gebrauch eines Hardwareimplantats. Josh Datko hat es geschafft, ein billiges Implantat, das die Schaltfläche „Bestätigen“ aktiviert, sobald ein schädlicher Funkbefehl eingeht, im Hardware-Wallet Ledger Nano S zu implantieren. Die gleiche Methode funktioniert wahrscheinlich auch mit jedem anderen Hardware-Wallet; die Forscher hatten sich allerdings für das Modell Ledger Nano S entschieden, weil es eines der kleinsten ist und daher für diese Art des Angriffs die größte Herausforderung darstellt.

Ein anderes Gerät des gleichen Herstellers, das Ledger Blue, erwies sich als anfällig für Seitenkanalattacken. Ledger Blue ist ein Hardware-Wallet mit einem relativ großen Display und Akku und weist einen Konstruktionsfehler in der Platine auf, der unterscheidbare HF-Signale durchlässt, wenn der Nutzer einen PIN-Code eingibt. Die Forscher zeichneten die Signale auf und schulten einen maschinellen Lernalgorithmus, um diese mit einer 90%-igen Genauigkeit zu erkennen.

Hack eines Blockchain-IoT-Geräts mit KI

Trezor’s Ansatz: Der kryptografische Seed wird im Flash-Speicher des Universal-Mikrocontrollers gespeichert

Die Geräte von Trezor hingegen unterscheiden sich in ihrer Funktionsweise. Sie verwenden kein Secure Element, weshalb alle Vorgänge im Gerät von einem einzigen Chip, einem Universal-Mikrocontroller, der auf der ARM-Architektur basiert, gesteuert wird. Dieser Chip ist sowohl für die kryptografische Datenspeicherung und -verarbeitung als auch für die Verwaltung der USB-Verbindung, des Displays, der Schaltflächen, usw. verantwortlich.

Theoretisch könnte dieser Ansatz das Hacken der Gerätefirmware erleichtern und somit den Zugriff auf den im Flash-Speicher des Mikrocontrollers gespeicherten kryptografischen Seed ermöglichen. Die Forscher betonten jedoch, das Trezor beim Härten der Firmware wirklich gute Arbeit geleistet hätte und somit ein Hack der Hardware zunächst unumgänglich wäre.

Trezor One Sicherheitsmodell

Mit einer Hackingmethode namens „voltage glitching“ (dem Mikrocontroller wird eine niedrigere Spannung zugeführt, die „lustige“ Effekte im Chip verursacht), wurde der Chipzustand des Trezor One von „Kein Zugriff“ auf „Teilzugriff“ geändert, wodurch die Forscher den RAM des Chips, nicht aber den Flash-Speicher, auslesen konnten. Danach stellten sie fest, dass der Chip beim Starten des Firmwareaktualisierungsprozesses den kryptografischen Seed vorläufig im RAM speichert, während der Flash-Speicher überschrieben wird. Auf diese Weise gelang es den Forschern, den gesamten Speicherinhalt abzurufen. Auch die Suche nach dem kryptografischen Seed stellte sich als kinderleicht heraus, da er unverschlüsselt im RAM, in Form einer mnemonischen Phrase, gespeichert wurde, die leicht zu erkennen war.

Der Speicherauszug enthält den kryptografischen Seed in Form eines mnemonischen Codes und einer PIN (in diesem Fall 1234), die in Klartext gespeichert ist

Fazit

Die meisten der von Thomas Roth, Dmitry Nedospasov und Josh Datko beschriebenen Hacks sind wirklich anspruchsvoll und erfordern den physischen Zugriff auf das Gerät. Sie müssen Ihren Ledger oder Trezor also nicht sofort in den Papierkorb werfen. Solange niemand auf Ihr Gerät zugreifen kann, sollten Ihre Bitcoins in Sicherheit sein.

Dennoch ist es eine gute Idee, die Existenz von Supply-Chain-Angriffen immer im Hinterkopf zu behalten. Hardware-Wallets lassen sich relativ leicht manipulieren und können bereits vor dem Kauf kompromittiert werden. Gleiches gilt natürlich auch für normale Laptops oder Smartphones. Natürlich können Angreifer nicht wissen, ob ein bestimmtes Gerät für die Aufbewahrung von Kryptowährung verwendet wird oder nicht. Hardware-Wallets sind also in diesem Kontext eine ziemlich sichere Sache.

Hersteller von Hardware-Wallets versuchen, dieses Problem zu adressieren, indem sie beispielsweise Sicherheitsaufkleber auf den Gerätepaketen verwenden und auf ihren Websites zusätzliche Seiten erstellen, mit denen Kunden Online-Sicherheitchecks ihrer Wallets durchführen können. Diese Maßnahmen sind jedoch möglicherweise nicht hilfreich und können sogar sehr verwirrend für Nutzer sein.

Im Gegensatz zu einigen anderen Hardware-Wallets sind die Geräte von Ledger und Trezor jedoch speziell auf die Sicherheit ihrer Nutzer ausgerichtet. Hier trotzdem noch einige Tipps, um Ihre Kryptowährung zu schützen:

  • Kaufen Sie Hardware-Wallets ausschließlich bei vertrauenswürdigen Anbietern.
  • Prüfen Sie das Gerät beim Kauf sorgfältig auf jegliche Manipulationsanzeichen.
  • Um auf der sicheren Seite zu sein, öffnen Sie das Gerät und stellen Sie sicher, dass keine zusätzlichen Elemente auf der Leiterplatte angebracht worden sind.
  • Bewahren Sie Ihr Krypto-Wallet an einem sicheren Ort auf.
  • Schützen Sie den Computer, den Sie für den Kauf, Handel, etc. von Kryptowährung verwenden mit einer zuverlässigen Sicherheitssoftware, denn ein Großteil der oben beschriebenen Hacks erfordert die Installation von Malware auf dem Rechner, der mit dem Wallet verbunden ist.

Extratipps für Trezor-Nutzer:

  • Trezor ist eine Open-Source-Plattform. Wenn Sie sich also ein wenig mit Elektronik auskennen, können Sie mit einigen Standardkomponenten Ihr eigenes Hardware-Wallet zusammenstellen. Auf diese Weise können Sie zu 100% sicher sein, dass sich niemand am Hardwareteil Ihres Wallets zu schaffen gemacht hat.
  • Trezor-Geräte bieten mit einer Passphrase zusätzlichen Schutz, um vor Cyberkriminellen und Extraktions-Hacks zu schützen (der gespeicherte Seed ist ohne diese Passphrase unvollständig und somit unbrauchbar).

Im Anschluss finden Sie den Originalvortrag vom 35c3 – dieser ist zugegebenermaßen nicht nur sehr unterhaltsam, sondern auch sehr hilfreich für alle Wallet-Nutzer.