Wallets und ihre Angriffsvektoren

Hardware-Wallets

Das schöne an einer Hardware-Wallet ist, dass man sie im Gegensatz zur Paper-Wallet, verwenden kann obwohl der private Schlüssel abgeschottet ist. Das ist ein bisschen wie eine Mischung aus Software-Wallet und Paper-Wallet.

Bei einer Hardware-Wallet wird der private Schlüssel in einem besonderen Chip gespeichert. Durch diesen Chip ist der private Schlüssel vom Rest des Systems isoliert und kann nicht direkt verwendet werden. Ist er einmal gespeichert, kann er nur über eine Schnittstelle benutzt werden. Mit ihr werden dann z.B. Transaktionen übergeben, die zuerst mit dem privaten Schlüssel signiert und die signierte Transaktion dann zurückgegeben wird. Dieser Vorgang wird auf dem Display der Hardware-Wallet angezeigt und muss mit einem Knopf an der ihr bestätigt werden.

Man muss sich das wie eine gepanzerte Box vorstellen, die oben und unten jeweils einen Schlitz hat. Oben wirft man die gewünschte Transaktion rein und unten fällt die unterschriebene Transaktion heraus. Sie wird dann ins Netzwerk geschickt. Durch dieses Design ist bei einer Hardware-Wallet der private Schlüssel auch dann sicher, wenn er mit einem Computer verbunden ist auf dem eine Schadsoftware läuft. Solange sich der Mensch nicht überlisten lässt eine Transaktion zu bestätigen, die er nicht machen möchte.

Angriffsvektoren
Wie das Team von Wallet.Fail zeigt, sind Hardware-Wallets alles andere als fehlerfrei und die Angriffsmöglichkeiten sehr kreativ. Wie bei einer Paper-Wallet benötigt man dabei aber erstmal Zugriff auf das Gerät selbst. Es muss also erstmal gestohlen werden oder bereits in der Lieferkette / Transportweg zum Kunden manipuliert worden sein.

Vorkonfiguriert
Damit kommen wir auch schon zum Klassiker der Angriffsvektoren bei Hardware-Wallets: die Wallet kommt bereits “vorkonfiguriert”, manchmal sogar mit einem schönen Beipackzettel mit bereits belegten 24 Wörtern zur Wiederherstellung und einer kleinen Anleitung. Verwendet man so eine “vorkonfigurierte” Wallet, dann ist man in kürze seine Ada los. Deshalb diese zwei Grundsätze beachten:

  1. immer direkt beim Hersteller kaufen z.B. www.ledger.com für den Ledger Nano

  2. eine Hardware-Wallet immer selbst einrichten, dabei die Seed-Wörter selbst notieren. Nach dem Einrichten solltest du einen sehr kleine Anzahl an Ada überweisen und die Wiederherstellung erstmal testen.

Diebstahl
Im Gegensatz zu einer gestohlenen Paper-Wallet muss man bei einer Hardware Wallet einen Pin eingeben. Wird dieser 3 mal falsch eingegeben, dann löscht sich die Hardware-Wallet automatisch. Sie kann dann nur mit den Seed-Wörtern wieder hergestellt werden. Der Super Gau natürlich, wenn durch eine Lücke im System, der private Schlüssel oder die Seed Wörter von einem geklauten Gerät extrahiert werden können. Gezeigt beim TREZOR-T auf dem 35. Chaos Communication Kongress (35C3) im Dezember 2018.

Zwischenablage verändern
Schadprogramme, welche die Zwischenablage verändern, wären hier auch denkbar. Da die Adresse zusätzlich nochmal im Display der Hardware-Wallet angezeigt wird, fällt dieser Angriff jedoch leichter auf.

Kompromittierter Computer
Eine Möglichkeit eine Hardware-Wallet anzugreifen besteht darin, dass man dem Benutzer etwas anderes zeigt (eine andere Zieladresse oder ein anderer Betrag), als tatsächlich zur Hardware-Wallet geschickt wird. Der Computer wurde also in irgendeiner Form kompromittiert. Genau dafür haben Hardware-Wallets ein Display und man sollte immer den Betrag und die Zieladresse dort abgleichen und nur die Transaktion bestätigen wenn alles übereinstimmt. Eine Hardware-Wallet ist also auch sicher, wenn der Computer kompromittiert wurde, solange sich der Mensch nicht überlisten lässt.

Manipulation
Das Display der Hardware-Wallet zu manipulieren ist zwar nicht ausgeschlossen, aber ungleich aufwendiger als zum Beispiel durch ein Schadprogramm einfach die Zwischenablage des Computers oder die Anzeige auf dem Computerbildschirm zu verändern. Die Wallet muss dazu gestohlen und danach wieder zurückgelegt werden. Auf der Webseite von Wallet.Fail werden dafür Beispiele gezeigt.

Lösegeld (Ransom Attack)
Eine weitere interessante Möglichkeit eine Hardware-Wallet anzugreifen ist im März 2019 aufgetaucht. Die Lösegeldattacke beruht darauf, dass eine modifizierte Wallet (also muss der PC bereits kompromittiert sein) eine Empfangsadresse generiert, die zwar dir gehört aber die sehr zufällig gewählt wurde. Um das zu verstehen muss man wissen, dass Wallets normalerweise Adressen aus dem privaten Schlüssel über einen Index generieren der bei 0 beginnt und dann langsam um eins hochzählt: 0,1,2,3… oder unter Umständen auch kleine Lücken entstehen wie 4,5,15,16…

Die manipulierte Wallet-App hält sich nicht daran sondern wählt eine zufälligen Index im Milliardenbereich. Was passiert ist: die Transaktion an deine Adresse wird ganz normal in der Blockchain bestätigt, taucht jedoch nicht in deinem Wallet auf. Sie gehören immer noch zum privaten Schlüssel können aber nur mit dem richtigen Keyindex gefunden werden, da keine Wallet-Software eine so große Lücke im Keyindex entdeckt oder absuchen kann.

Einige Hersteller wie Ledger und TREZOR-T haben mit Firmwareupdates bereits verkündet, dass die Attacke “behoben” sei. Man muss aber verstehen, dass sich dies grundsätzlich nicht beheben lässt. So wird bei Ledger zum Beispiel eine Warnung ausgegeben, wenn der Keyindex außerhalb eines sehr hohen Bereichs (über 50.000) liegt. Für den Angriff an sich reicht es jedoch auch schon aus, wenn der Keyindex nur um ein paar Tausend springt. Der Unterschied ist: wenn so ein Angriff passiert, kann man mit einem niedrigeren Bereich schneller wieder an seine Ada gelangen. (Da man alle Möglichkeiten durchprobieren müsste)

Fazit
Obwohl hier eine lange Liste von Angriffsvektoren aufgeführt ist, benötigt man für alle erstmal direkten Zugriff auf die Wallet bzw den Computer selbst. Andere Wallets hätten dann bereits verloren. Wenn man die Angriffsvektoren kennt, sind Hardware-Wallets ziemlich sicher und bieten gleichzeitig größte Flexibilität.

Was gegen eine Hardware-Wallet spricht ist in jedem Fall der Preis. Wenn du z.B. für 200 Euro Ada gekauft hast, lohnt es sich nicht zwischen 60 bis 120 Euro für eine Hardware-Wallet auszugeben.

7 „Gefällt mir“