Gefahr von Fake Software für Hardware Wallets?

Hallo zusammen,

hier ist ein Beispiel: Ledger Live: Fake im Microsoft App Store führt zu Bitcoin-Verlust

Leute haben aufgrund kompromitierter Software Geld verloren, die zusammen mit Hardware Wallets verwendet wird, zum Beispiel LedgerLive.
Mir ist jedoch nicht ganz klar, wie das genau passiert. Eigentlich darf das ja nicht passieren, dafür ist ja die Hardware Wallet da. Mir fallen da nur Benutzerfehler ein.

Szenario 1:

Nehmen wir an, ich möchte einen Betrag Bitcoin von der Börse auf eine Adresse schicken, deren privatekey von meiner hardware wallet verwaltet wird. Ich erstelle also einen neuen „account“ in LedgerLive und klicke auf „receive“. In der Original Software öffnet sich jetzt ein Fenster, welches mich informiert, dass die hardware wallet angeschlossen und entsperrt sein muss.

(Jetzt kommt der Teil, den ich selbst schon länger nicht mehr durchgeführt habe, korrigiert mich, wenn ich falsch liege):
die Bitcoin Adresse wird zuerst in der LedgerLive Software angezeigt, danach verlangt LedgerLive eine Überprüfung der Adresse in der Hardware Wallet. Das bedeutet, die hardware wallet zeigt die Adresse nochmal an, man kann sie dann freigeben. LedgerLive zeigt dann nur „sicher freigegeben“ oder sowas an. Ein grundlegender Fehler hier bei ist meiner Meinung nach, dass die Adresse zuerst in LedgerLive angezeigt wird, so dass man sie kopieren kann. Ob man diese dann durch die hardware wallet bestätigt oder nicht, hat keinen Einfluss mehr - eine möglicherweise gefälschte (d.h. vordefinierte Scammer Adresse) befindet sich jetzt möglicherweise schon im Zwischenspeicher eures PCs.

Wenn ein Benutzer diese Überprüfung nicht durchführt (weil er zum Beispiel zu faul ist), dann wird es ihm auch nicht auffallen, wenn die hardware wallet eine andere Adresse oder gar nichts anzeigt. Jetzt übertragt ihr also die in der kompromitierten Software hinterlegte Scammer Adresse zu eurer Börse als eure Auszahlungsadresse. Und weg sind eure Bitcoin!

Mögliche Lösung (Seitenhieb auf Ledger): die Empfangsadresse ZUERST in der Hardware Wallet anzeigen und bestätigen lassen, danach erst in der Software!

Natürlich kann es auch sein, dass eine kompromitierte LedgerLive Software gar nichts von eurer Hardware Wallet wissen möchte und direkt eine Empfangsadresse anzeigt.

Szenario 2:

Die Ledger Live Software ist so ein richtig plumpes Fake und fragt ungeniert nach euren 24 Wörtern. Ihr haltet es für legitim, da es ja aus vermeintlich vertrauenswürdiger Quelle stammt und gebt diese ein. Das kann zum Beispiel passieren, wenn ihr die hardware wallet gerade neu gekauft habt und einrichtet. Dann wartet der Betrüger nur, bis ihr was auf eure Wallet überweist und klaut euch dann alles.

Szenario 3:

Ihr seid aufmerksam. Die Frage nach den 24 Wörtern lässt bei euch alle Alarmglocken schrillen. Auch wenn die von hardware wallet und software angezeigte Empfangsadresse nicht die gleiche ist, wisst ihr, dass da was nicht stimmt. Genauso, wenn die Software für die Freigabe einer Empfangsadresse gar nicht nach eurer hardware wallet fragt.
In diesem Szenario entsteht euch kein Schaden.

Gibt es noch andere Konstellationen? Habe ich etwas übersehen?

Ich formuliere meine Frage nochmal anders und präziser:

Kann kompromitierte Software (z.B. LedgerLive) bei korrekter und bestimmungsgemäßer Verwendung der dazugehörigen Hardware Wallet dazu führen, dass man den Zugriff auf seine Kryptowerte verliert?

Hardware Wallets sind dazu gedacht dich vor Malware zu schützen. Sie sind dafür gedacht, dich davor zu schützen wenn der PC komprimitiert ist. Ob ein fake Ledger Live Program oder ein Virus, ist dabei unerheblich. Ist beides dasselbe. Wenn die Hardwarewallet (sprich Firmware oder Hardware an sich) nicht kompromitiert ist und du die Hardware wallet korrekt und mit gesundem Menschenverstand bedienst, dann kann Malware auf dem PC dir nichts anhaben.

Die HW Wallet hat die Kontrolle. So ähnlich wie hoffentlich jeder Server einer jeden Webseite, der es auch egal ist, wie sehr man die zugehörige Webseite im Browser bei sich auf dem eigenen PC manipuliert (mal als Analogie in den Raum geworfen).

Korrigiert mich falls ich falsch liege, aber ich meine meine IT Kenntnisse gehen soweit, das behaupten zu können.

1 „Gefällt mir“

Wie sollte man dieses Problem deiner Meinung nach lösen?

Das kann meiner Meinung nach nicht gelöst werden. Wenn der Benutzer essentielle Bestandteile der Verifizierung einfach ungesehen wegklickt, dann hilft alles nichts.

@einbaumhatzweige So sehe ich es auch.

Das heißt aber im Endeffekt, dass alles klagen über gestohlene Werte aufgrund kompromitierter Software im Endeffekt in erster Linie auf Benutzerfehler zurückzuführen ist und nicht auf die Software.

2 „Gefällt mir“

Wer noch Unklarheiten hat, dem empfehle ich dieses Video:

Um es vorwegzunehmen: Hier wird u.a. auf den worst case eingegangen und wie man sich davor schützen kann. Nicht das nachher jemand paranoid wird…

1 „Gefällt mir“

@BessereZukunft
Danke für dieses tolle Video! Damit sind eigentlich alle meine Fragen beantwortet worden :pray:

@BessereZukunft
Da hat sich jetzt aufgrund deines Videos doch noch eine Unklarheit aufgetan :slight_smile:

Thomas erklärt in seinem Video, dass man überprüfen kann, ob eine Hardware Wallet kompromitiert ist, in dem man eine weitere HW eines anderen Herstellers mit demselben Seed konfiguriert und sich eine Empfangsadresse ausgeben lässt. Die Empfangsadressen beider HW müssen dann dieselben sein. Klingt erstmal logisch, ABER: aus dem mnemonic seed können ja unzähliche xpubs erzeugt werden → es ist unwahrscheinlich, dass zwei HW unterschiedlicher Hersteller dieselben xpubs ableiten → die Überprüfung scheint mir so nicht ohne weiteres möglich zu sein …

Das stimmt, solange es nur um den Zugriff auf die Coins geht. Die Privatsphäre kann durch Malware auf dem PC natürlich immernoch kompromittiert werden. Das sollte man nicht vergessen.

Allerdings würde ich noch ergänzen wollen dass man einer Wallet Frontend (Ledger, Electrum, etc), nie vertrauen sollte. Selbst wenn man den MD5 der EXE vorher verifiziert hat, kann ja auch die MD5 kompromitiert sein, oder die Software Bugs haben, oder im nachhinein (remotely) durch Firmenmitarbeiter kompromitiert werden, etc. Deswegen sollte man nie nie nie einen laxen Umgang mit den Sachen, die das Display der HW Wallet anzeigt, pflegen. Und Firmware updates sowieso erstmal nicht sofort installieren, sondern erstmal die online Reaktionen abwarten. Weil wenn erstmal eine fake firmware draufist, dann gute Nacht. Ich bin mir ziemlich sicher dass die HW Wallet alle Firmwares mittels einer Signatur prüft, aber den Schlüssel dazu hat ja Ledger (sonst könnten sie selbst keine Firmwares rausbringen), also kann ja auch das kompromittiert werden, theoretisch.

Die Privatsphäre kann durch Malware auf dem PC natürlich immernoch kompromittiert werden

Na klar, notfalls reichen einfach Screenshots :smiley: Aber klar der public key ist ja auf dem PC immer drauf, muss ja für LedgerLive,Electrum und co, Bequemlichkeit und so.

1 „Gefällt mir“

Man darf sich halt keine kompromitierte Firmware auf die HW installieren. Wie man das allerdings wirklich ausschließen kann, ist mir selber nicht ganz klar.

Da gibt’s nur einen Weg: Die Firmware, die bei einem vernünftigen Gerät ja open source sein sollte, auf einem vertrauenswürdigen Gerät selbst überprüfen und kompilieren. Ist allerdings in den allermeisten Fällen ein ziemlicher Overkill und schützt einen dann immernoch nicht vor kompromittierter Hardware.

Der Weg ist, dass der Bootloader nur vom Hersteller signierte Firmware lädt. Es müsste also schon der Hersteller selbst betrügen, oder Dritte müssten die Schlüssel entwenden.

Um das auszuschließen gibt es allerdings reproducible Builds. D.h. man kann zwar keine eigene Software kompilieren und laden, aber man kann prüfen, dass die signierte Hersteller-Software dem Open-Source-Code entspricht.

Schon richtig, aber das kann einen immernoch nicht vor unmittelbar kompromittierter Hardware schützen.

1 „Gefällt mir“