Ein 15-Jähriger entdeckte eine Schwachstelle in der Ledger Nano S Wallet, mit der er Transaktionen umleiten und sowohl Seeds als auch Recovery-Passwörter manipulieren kann. In Zusammenarbeit mit Developern von Ledger entwickelten sie nun ein Update für die Offline-Wallet, das man unbedingt installieren sollte.
Der Hacker Saleem Rashid gab am 20. März auf seinem Blog an, die Ledger-Wallet geknackt zu haben. Die Hintertür, die Rashid entwickelte, ist 300 Bytes klein und bringt das Gerät dazu, vorgefertigte Wallet-Adressen und Recovery-Passwörter für den Angreifer zu erstellen. Der Angreifer kann damit diese Passwörter in eine neue Hardware-Wallet eingeben, um die Private Keys der alten Geräte für diese Passwörter wiederherzustellen.
Mit demselben Ansatz könnten Angreifer ähnliche Eingriffe machen. So können sie zum Beispiel die Zieladressen und Mengen an überwiesenen Kryptowährungen manipulieren. Angreifer könnten sich damit Transaktionen auf ihre eigenen Wallets umleiten.
In der Nachricht zum Update vom 06. März betonte der oberste Sicherheitschef von Ledger jedoch, dass es sich bei der Lücke nicht um eine kritische handle. Charles Guillemet betonte, dass die Angreifer nicht in der Lage seien, die Private Keys auszulesen. Vielmehr gab er an, dass Ledger manipulierte Wallets erkennen könne, wenn sie sich mit dem Ledger-Server verbinden.
Rashid zweifelte an der Sicherheit der Ledger-Wallet
Rashid zweifelte dieses Statement wiederum an und sagte, dass er selbst bei einer Behebung des Problems mit einer kleinen Modifizierung das System wieder knacken könnte.
Die Schwachstelle, bei der Rashid ansetzt, liegt laut seinen Angaben im sicheren Microcontroller (Secure Element) von Ledger. Dieser kommuniziert mit dem „general-purpose Microcontroller“, den Ledger MCU nennt. Der MCU kommuniziert wiederum mit dem Rest der Hardware-Wallet, wie dem USB-Host, dem OLED-Display und den Knöpfen, die die Nutzer bedienen müssen. Rashids Ansatz ist es nun, die originale Firmware mit einem falschen Code zu ersetzen. Im selben Moment manipuliert er den MCU, dass dieser an den sicheren Microcontroller das scheinbar echte Bild sendet.
In einem Gespräch mit dem Online-Magazin Ars Technica äußerte Matt Green von der Johns Hopkins University Zweifel daran, ob das erste Update von Ledger die Probleme aus dem Weg schaffen würde:
„Ledger versucht hier ein fundamentales Problem zu lösen. Sie müssen die Firmware, die auf einem Prozessor läuft, überprüfen. Aber ihr Sicherheitschip kann den Code, der auf dem Prozessor läuft, nicht einsehen. Sie müssen den Prozessor also dazu bringen, mit einem eigenen Code zu arbeiten! Dieser wäre ein Catch-22, da der Prozessor eventuell mit falschem Code arbeiten könnte, dem nicht zu trauen ist. Es ist, als ob man jemanden, der eventuell kriminell ist, fragt, ob er einem aus Gründen der Ehrlichkeit sein Strafregister offenbart.“
Ledger konnte Sicherheitslücke schließen
Das Entwickler-Team von Ledger hat diese Sicherheitslücke jedoch geschlossen. So leiteten sie Schritte ein, den MCU davon abzuhalten, falschen Code an das Secure Element zu übermitteln. Dieses benötigt den MCU, um die gesamten Inhalte seines Flash-Speichers weiterzuleiten. Der MCU hat jedoch eine relativ limitierte Menge an Flash-Memory. Um darauf falschen Code einzuschleusen, muss der MCU theoretisch die offizielle Firmware und den falschen Code speichern. Die Speicherkapazität des MCU sollte diese Art des Angriffs also verhindern.
Rashid konnte diesen Mechanismus angeblich umgehen, indem er zunächst erkannte, dass der MCU sowohl den Bootloader als auch die Firmware beinhaltete und dass einige Teile der Software-Funktionen, die compiler intrinsics, darüber hinaus identisch waren. Diese intrinsics entfernte er letztendlich und ersetzte sie durch schädlichen Code. Wenn das Secure Element den MCU dann nach den Inhalten fragte, erstellte der 15-Jährige ein (scheinbar) legitimes Image, um das Gerät auszutricksen. Dadurch verifizierte das Gerät die gefälschte Firmware.
Als Ergebnis generierte das Gerät dann Wallet-Adressen und Recovery-Passwörter, die die Angreifer kontrollieren konnten. Damit gibt Rashid letztlich an, Passwörter generieren zu können, die den Nutzern zufällig vorkommen, die Angreifer jedoch kennen. Laut Rashid könnte man diese Schwachstelle ausnutzen, indem man bei einem kurzen Zugriff auf die Geräte und Computer Malware einschleusen kann, um die Geräte zu infizieren.
Firmware-Update verspricht Sicherheit
Ledger reagierte auf dieses Problem umgehend. Am 20. März veröffentlichten sie ein Update, das drei Sicherheitsprobleme behebt. Mit dem Update ist es nun möglich, die Integrität des Gerätes zu überprüfen und zu garantieren, dass die Geräte nicht infiziert sind. Die Seeds und Private Keys seien damit sicher.
In Kooperation mit den zwei Sicherheitsexperten Timothée Isnard und Sergei Volokitin hat Rashid selbst mit Ledger dafür gesorgt, dass die Sicherheitslücken geschlossen wurden. Sie empfehlen dringend, die Firmware der Ledger auf Version 1.4.1 upzudaten, um alle Sicherheitsbedrohungen zu eliminieren.
In sechs Schritten zum Update des Ledger Nano S
Im ersten Schritt muss man den Ledger Manager am PC öffnen und seinen Ledger mit dem PC verbinden. Wenn das Gerät neu ist, muss man den rechten Knopf drücken, während man das Kabel anschließt. Nach 5 Sekunden zeigt das Gerät „Recovery“ an und man kommt ins Dashboard. Wenn das Gerät bereits konfiguriert ist, muss man es regulär anschließen und seinen Pin eingeben.
Im zweiten Schritt synchronisiert man den Ledger Manager mit der Wallet und wartet, bis das Dashboard erscheint.
Im dritten Schritt klickt man auf das Firmware-Menü im linken oberen Eck des Ledger Managers am PC. Dann muss man auf den grünen Pfeil in der Zeile „Firmware Version 1.4.1.“ und auf den „Installieren“-Button klicken. Schließlich muss man diesen Schritt noch auf dem Gerät selbst bestätigen. Falls eine Fehlermeldung erscheint, heißt das nicht zwingend, dass das Gerät infiziert ist. Man muss dann alle Anwendungen vom Gerät deinstallieren und das Update von Neuem beginnen.
Wichtig: Versionsnummer des Updates überprüfen
Im vierten Schritt muss man warten, bis auf dem Display die Meldung „Update Firmware“ steht. Hier gilt es, sicherzugehen, dass es sich tatsächlich um Version 1.4.1. handelt. Letztlich muss man überprüfen, ob der Update-Identifier, der auf dem Display angezeigt wird, mit dem im Ledger Manager Screen übereinstimmt.
Im fünften Schritt muss man den rechten Knopf auf dem Nano S drücken und warten, bis das Display die Aufforderung zur Pin-Eingabe anzeigt. Nach der Eingabe des Pins sollte das Display Folgendes anzeigen: „MCU Firmware is outdatet.“ Daraufhin soll man das Gerät kurz ausstecken und wieder einstecken, während man den linken Knopf gedrückt hält. Dann sollte das Wort „Bootloader“ angezeigt werden. Danach zeigt der Ledger Manager die Nachricht „restoring MCU“. Während des Updates sollte auf dem Display dann „Update“ stehen. Der Manager muss „Installing Firmware, please wait, this might take a few moments“ anzeigen. Falls das Ledger längere Zeit nicht reagiert, muss man 5 Minuten warten, den Ledger Manager schließen und den Prozess von Neuem beginnen.
Noch ein letztes Mal bestätigen
Im sechsten Schritt muss man im Menü des Ledgers auf „Settings“ gehen, um sicherzustellen, dass die Installation ohne Probleme verlief. Indem man beide Knöpfe drückt, öffnet man den Tab und geht ins „Device“-Menü. Auch hier drückt man wieder beide Knöpfe und wählt „Firmware“. Mit dem gleichen Vorgehen wählt man „Secure Element 1.4.1“ aus. Mit einem Klick auf den rechten Knopf überprüft man zum Abschluss, ob die MCU-Version die Nummer 1.5 trägt.
Im letzten Schritt muss man nochmals die Anwendungen installieren oder reinstallieren – das Ledger sollte nun wieder sicher sein.
BTC-ECHO
https://www.btc-echo.de/nach-sicherheitsluecke-ledger-nano-s-unbedingt-updaten/
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://bitcoinsforum.net/nach-sicherheitsluecke-ledger-nano-s-unbedingt-updaten/
Das hört sich nach einer eher unkritischer Sicherheitslücke an, da man viel Aufwand hat, um das Gerät zu infizieren. Natürlich sollte man trotzdem die neuste Firmware aufspielen.