Support Dokumente

Ableitungspfad-Schwachstelle in Bitcoin-Derivaten

Am 2. Mai 2020 meldete ein Sicherheitsforscher in den von Bitcoin abgeleiteten Apps (Litecoin, Dogecoin usw.) eine Schwachstelle, mit der Benutzer eine Transaktion für einen anderen Coin signieren können als den, für den sie signieren möchten. 

Unter Ausnutzung dieser Schwachstelle könnte ein bösartiges Wallet vorgeben, eine Dogecoin-Transaktion durchzuführen, während der Benutzer in Wirklichkeit beispielsweise eine Bitcoin-Transaktion signiert.

Wie ist die aktuelle Situation?

Version 1.4.6 der Bitcoin-App behebt das Problem in den Bitcoin-Derivat-Apps und wird am 5. August 2020, veröffentlicht. Bei dieser Version wird eine Warnung angezeigt, wenn ein Benutzer eine Adresse anfordert oder versucht, eine Transaktion auf einem Ableitungspfad zu signieren, der nicht zu der Coin-Anwendung gehört, die auf der Ledger-Hardware-Wallet geöffnet ist.

Was kann ich tun, um mich zu schützen?

Aktualisieren Sie die Bitcoin-App auf Version 1.4.6 im Manager in Ledger Live. Dadurch werden automatisch alle von Bitcoin abgeleiteten Apps aktualisiert. Da das Problem spezifisch bei von Bitcoin abgeleiteten Apps auftritt, können Sie andere Anwendungen weiterhin ohne Bedenken nutzen.

Wie funktioniert das Bug Bounty Program?

Ledger hat ein Bug Bounty Program, dessen Ziel es ist, externen Sicherheitsforschern die Meldung von Sicherheitslücken in Ledger-Produkten zu ermöglichen. Sobald ein Sicherheitsforscher eine potenzielle Sicherheitslücke über die E-Mail-Adresse bounty@ledger.fr meldet, werden die folgenden Schritte ausgeführt. Das Sicherheitsteam bestätigt zunächst den Empfang der E-Mail und gibt eine Frist von 90 Tagen. Das Team beginnt das Problem zu untersuchen und wenn es bestätigt wird, bedeutet dies:

  • Die beteiligten Teams tun ihr Bestes, um das Problem innerhalb von 90 Tagen zu beheben. Diese 90-Tage-Frist, die ursprünglich von Google Project Zero festgelegt wurde, ist heute in der gesamten Branche üblich.
  • Sobald die Frist abgelaufen ist, kann der Forscher seine Ergebnisse veröffentlichen.
  • Wenn das Problem früher behoben wird und eine gegenseitige Vereinbarung zwischen dem Sicherheitsforscher und dem Sicherheitsteam besteht, kann die Offenlegung vor Ablauf der 90-tägigen Frist erfolgen.

Während dieser 90 Tage koordiniert das Sicherheitsteam mit anderen Ledger-Teams (Technik, Tests usw.), um einen Patch zu entwickeln und zu prüfen, der die Schwachstelle behebt. In der Zwischenzeit wird ein Ledger Security Bulletin verfasst, um die technischen Details mit externen Sicherheitsforschern zu teilen und die über das Bug Bounty Program gemeldeten Sicherheitsprobleme öffentlich zu verfolgen.

Sobald eine neue Version der App oder der Firmware zur Verfügung steht, wird eine Belohnung an den Sicherheitsforscher gezahlt, das Security Bulletin wird veröffentlicht, und der Sicherheitsforscher darf seine Erkenntnisse veröffentlichen.

Was ist mit dieser Schwachstelle schiefgegangen?

In diesem Fall bedauern wir, dass wir die Offenlegungsfrist nicht respektiert haben. Dies führte dazu, dass der Sicherheitsforscher einen Blogeintrag auf seiner Website veröffentlichte, bevor eine Behebung für die Benutzer zur Verfügung gestellt werden konnte.

Neben anderen Problemen, die zur gleichen Zeit bearbeitet wurden, dauerten die internen Diskussionen zur Suche nach einer geeigneten Lösung und die Koordination mit anderen technischen Teams länger als erwartet. Dies führte dazu, dass eine neue Version der Bitcoin-App nach der geplanten Frist (die auf 90 Tage nach der Meldung der Sicherheitslücke festgelegt war) veröffentlicht wurde. 

Fehlkommunikation hat nicht dazu beigetragen, das Problem früher zu lösen. Der Reporter schickte Twitter-Direktnachrichten, die von den meisten Sicherheitsingenieuren nicht gesehen wurden. In der Tat ist die E-Mail-Adresse bounty@ledger.fr die einzige Möglichkeit, das gesamte Sicherheitsteam zu erreichen.

Worin besteht die Schwachstelle?

Die Ledger Nano S und Nano X sind hierarchische deterministische (HD) Wallets. Das bedeutet, dass sie verschiedene kryptografische Geheimnisse aus einem einzigen Seed ableiten können, der aus der 24-Wörter-Wiederherstellungsphrase stammt, die die Benutzer auf ihren Wiederherstellungszettel schreiben. Einige dieser Geheimnisse werden verwendet, um Kryptowährungstransaktionen zu signieren.

Jede Anwendung ist in der Regel auf ihre spezifischen HD-Pfade beschränkt. Die Zcoin-App darf beispielsweise ihren eigenen Ableitungspfad (m/44'/136'/) verwenden und darf keine Schlüssel auf dem Dogecoin-Ableitungspfad (m/44'/3'/) ableiten. Diese Pfadbeschränkung wurde für die Bitcoin-App und die meisten ihrer Derivate nicht durchgesetzt, so dass ein Bitcoin-Derivat (z. B. Litecoin) öffentliche Schlüssel ableiten oder Bitcoin-Transaktionen signieren konnte. 

Ein Angreifer, dem es gelungen ist, Schadsoftware auf dem Computer oder Smartphone des Opfers zu installieren, kann die Benutzer dazu bringen, eine Bitcoin-Transaktion mit einer Altcoin-App anstatt mit der Bitcoin-App auf ihrem Ledger Nano S/X zu unterzeichnen.

Mit dieser Schwachstelle können Angreifer keine Geheimnisse von den Ledger-Geräten extrahieren, z. B. die privaten Schlüssel zum Signieren von Transaktionen. Außerdem können Angreifer die PIN-Authentifizierung nicht umgehen. Die Sicherheit des physischen Geräts bleibt also unangetastet.

Weitere technische Details finden Sie im Ledger Security Bulletin 014: Path derivation too permissive in Bitcoin derivative apps.

Warum zeigt ihr eine Warnung an, anstatt solche Transaktionen zu blockieren?

Würden diese Transaktionen blockiert, würde dies zur Sperrung der Gelder vieler unserer Benutzer führen. Dies ist ein branchenweites Problem, das durch die Struktur von frühen Bitcoin-Forks verursacht wird. Transaktionen können von einem Offline-Signiergerät nicht auseinandergehalten werden.

Mein Ledger-Gerät zeigt eine Warnung über einen ungewöhnlichen Ableitungspfad oder einen ungewöhnlichen Signierpfad an. Was bedeutet das?

Wenn Sie diese Warnung sehen, bedeutet dies, dass die von Ihnen verwendete Wallet-Anwendung nicht den richtigen Ableitungspfad verwendet, der mit der von Ihnen geöffneten Coin-App verknüpft ist. Bitte prüfen Sie, ob der Ableitungspfad korrekt ist, bevor Sie eine solche Transaktion unterzeichnen.

Durch die Aktualisierung der Bitcoin-App auf Version 1.4.6 wird die Schwachstelle für alle abgeleiteten Bitcoin-Apps behoben. Diese Version sollte keine sichtbaren Änderungen für Ledger Live-Benutzer mit sich bringen. 

Eine neue Meldung „Der Ableitungspfad ist ungewöhnlich“ wird angezeigt, wenn öffentliche Schlüssel für ein Bitcoin-Derivat exportiert werden, das nicht dem Coin-Typ der Anwendung entspricht. Ebenso wird eine neue Nachricht „Der Signierpfad ist ungewöhnlich. Ablehnen, wenn Sie nicht sicher sind“ angezeigt, wenn Sie eine Transaktion signieren. 

Benutzer von Drittanbieter-Wallets wie Electrum können diese Warnmeldung jedoch auch dann sehen, wenn der öffentliche Schlüssel oder die Signaturanforderung von einer legitimen Wallet stammt. Dies ist darauf zurückzuführen, dass diese Wallets einen falschen Ableitungspfad verwenden, der auch für Bitcoin gelten kann. Leider gibt es für die App auf Ihrem Ledger-Gerät keine Möglichkeit zu erkennen, ob dieser Pfad legitim ist. Wir ermutigen Entwickler, den richtigen Ableitungspfad abzuleiten und zu signieren.