In einem Blogpost machte benma, einer der Main Developer bei der in Zürich ansässigen Firma Shift Crypto, auf von ihm entdeckte Sicherheitslücken bei den beliebten Hardware-Wallets von Trezor und Keepkey aufmerksam. Gleich vorab – er teilte den beiden Firmen seine Entdeckung mit woraufhin diese zumindest von Trezor umgehend behoben wurden. KeepKey möchte sich erst um “wichtigeres kümmern”, was in meinen Augen ein absolutes No-Go ist.

Benmas’ Arbeitgeber, Shift Crypto, ist vor allem für die Entwicklung und den Verkauf der, in Bitcoiner-Kreisen sehr beliebten, Hardware Wallet “Bitbox02” bekannt. Als er gerade über Verbesserungen für das Handling von Passphrasen bei der Bitbox02 nachdachte, stieß er auf eine mögliche Vulnerabilität, von der neben des KeepKey-Wallets (welches auf den Quellcode von Trezor aufbaut) sowohl das Trezor Model T als auch das Model One betroffen waren.

Er beschreibt das Ganze wie folgt:

Wo lag das Problem?

Als Benutzer einer Hardware-Wallet solltest du immer davon ausgehen, dass dein Computer und dein Handy kompromittiert sind, einschließlich aller installierter Software. Das ist der Grund dafür, überhaupt eine Hardware-Wallet zu benutzen.

Daher ist es wichtig, dass die Hardware-Wallet jede Eingabe, die sie vom Computer erhält, validiert. In diesem Fall sollte die Passphrase mit dem Benutzer auf dem Gerät bestätigt werden, bevor sie zur Ableitung des Seeds verwendet wird. Der Trezor und der KeepKey taten dies im Falle der auf dem Computer eingegebenen Passphrase nicht.

Infolgedessen könnte eine kompromittierte Wallet oder eine “Man-in-the-Middle”-Software, die per USB übertragene Daten verändert, eine beliebige gefälschte Passphrase an den Trezor/KeepKey senden und alle in dieser Wallet verwalteten Coins in seine Gewalt bringen. Die vom Benutzer eingegebene Passphrase könnte einfach ignoriert werden und die tatsächlich verwendete Passphrase wäre nur dem Angreifer bekannt.

Wenn das passiert, werden der Trezor und die Wallet auf dem Computer normal geladen und der Benutzer hat keine Möglichkeit zu bemerken, dass ein Angriff im Gange ist, selbst wenn er die Hardware-Wallet einwandfrei benutzt und alle Empfangsadressen nach den besten Praktiken überprüft. Die Empfangsadressen in der Computer-Wallet stimmen wie üblich mit der auf dem Gerät angezeigten Adresse überein, aber die Adressen gehören nicht mehr dem Benutzer:
Der Angreifer kann den Zugang zu ihnen sperren, indem er die Passphrase vorenthält, die er zum Ausgeben benötigt.

Mit etwas Raffinesse würde der Benutzer nicht bemerken, dass überhaupt etwas nicht stimmt, bis der Angreifer den Zugang zu den Coins blockiert und ein Lösegeld für deren Rückgabe an das Opfer verlangt.

Praktischerweise könnte der Angreifer sogar einen Server laufen lassen, von dem die verseuchte Wallet jedes Mal, wenn der Benutzer die Wallet freigibt, eine gefälschte Passphrase abruft und die diese dem ahnungslosen Benutzer erst dann nicht mehr zur Verfügung stellt, sobald sich genug Coins im Wallet befinden, um schlussendlich Lösegeld zu fordern. Ohne die Passphrase hat der Benutzer keine Möglichkeit ohne die Kooperation des Angreifers die Kontrolle über seine Coins zurückzugewinnen.

Folgen und Ausmaß der Sicherheitslücke

Da der Angriff aus der Ferne durchgeführt werden kann, gilt er gemäß der Sicherheitsbewertungsrichtlinie von Shift Crypto als äußerst kritisch.

Der Angriff skaliert darüber hinaus sehr gut: ein Angreifer, der viele Computer kompromittiert hat, kann den Angriff parallel auf viele Opfer ausführen und mit dem Angriff warten bis genügend Coins gesammelt und unter seine Gewalt gebracht werden können.

Da die privaten Schlüssel für alle Krypto-Währungen (Bitcoin, Litecoin, etc.) aus demselben Seed und derselben Passphrase stammen, können Coins aller Krypto-Währungen auf einmal gesperrt werden.

Der Angriff ist besonders gefährlich für neu erstellte Wallets, aber es ist auch möglich, bestehende Wallets anzugreifen. Zum Beispiel könnte die bösartige Software den erweiterten public Key aus einer vorherigen Sitzung festhalten und ihn dazu benutzen, das Konto so anzuzeigen, wie der Benutzer es erwarten würde sowie einige andere zusätzliche Tricks anwenden.

Ein Hindernis bei der Durchführung des Angriffs in großem Maßstab ist, dass der Benutzer die optionale Passphrase-Funktion auf dem Gerät aktiviert haben muss, um verwundbar zu sein.

Einige Hinweise zur Passphrase

Zum Abschluss seiner Erklärung gab er noch einige Hinweise zum Umgang mit der Passphrase-Funktion bei Hardware-Wallets.

Wichtig ist, dass die Passphrase niemals “25. Wort” genannt werden sollte, da dies in zweierlei Hinsicht irreführend ist:

  1. Es kann eine beliebige Passphrase mit Zahlen und Sonderzeichen sein, es muss nicht unbedingt ein Wort sein.
  2. Es kann dazu führen, dass Benutzer ein Wort aus der offiziellen mnemonischen Wortliste verwenden.

    In beiden Fällen würde das “Brute-Forcen” der Passphrase trivial bzw. deutlich vereinfacht werden worunter die Sicherheit enorm leidet.

Was du nun tun musst…

…falls du Besitzer eines Trezors oder KeepKeys bist:

Überprüfe deine aktuell installierte Softwareversion und update diese wenn nötig. Die Behebung der Sicherheitslücken für Trezor kam für den Trezor One in der Version 1.9.3 und für das Model T in der Version 2.3.3.

KeepKey wurde zwar informiert, hat sich aber bisher noch nicht um einen Fix bemüht, weswegen du aktuell dein KeepKey auf jeden Fall nicht mit einer Passphrase benutzen und warten solltest bis ein Update veröffentlicht wurde.

__________________________________________________

Autor

Vor einigen Jahren in das Bitcoin - "rabbit hole" gefallen und seitdem keinen Weg nach draußen gefunden.