Die Fallstricke von Multisig bei der Verwendung von Hardware-Portemonnaies


Anstatt Ihre Bitcoins mit einem einzigen Schlüsselsatz zu halten, können Sie Ihre Bitcoins auch mit mehreren Schlüsselsätzen halten. Dies wird als Multisignatur oder kurz Multisignatur bezeichnet, für die mehrere Signaturen erforderlich sind, um eine Bitcoin-Transaktion zu autorisieren. Sie können sowohl die Gesamtanzahl der Schlüssel als auch den Schwellenwert für die Ausgabe der Münzen festlegen. Wenn Sie einen Schwellenwert größer als 1 auswählen, kann ein Angreifer, der einen der Schlüssel erlernt, Ihr Geld immer noch nicht stehlen. Aus diesem Grund empfehlen viele Leute auf dem Gebiet, dass jeder multisig verwenden sollte, um seine Münzen zu sichern. In diesem Artikel wird jedoch erläutert, warum die zunehmende Komplexität der Verwendung von Multisig anstelle von Singlesig eigene Gefahren mit sich bringt. Diesbezüglich haben wir SatoshiLabs (Hersteller von Trezor) und Ledger verantwortliche Angaben gemacht, die wir zuvor noch nicht veröffentlicht haben.

Bei der Implementierung der experimentellen Unterstützung für Multisig in der BitBoxApp habe ich meinen Kollegen dazu gebracht benma Beachten Sie, dass der Empfangsadressenbildschirm seines Trezor im Falle von Mehrfachsignalen nicht als vertrauenswürdig eingestuft werden kann (weitere Einzelheiten siehe unten). Nachdem uns klar wurde, wie wichtig es ist, mit Adressenänderungen umzugehen, um Adressen zu erhalten, wurden wir neugieriger, wie andere Hardware-Portemonnaies mit Multisig umgehen. Wir starteten die BitBox02 Ende September und hatten endlich Zeit, uns andere Hardware-Wallet-Implementierungen anzuschauen, um zu bewerten, wie viel Aufwand erforderlich ist, um multisig selbst ordnungsgemäß hinzuzufügen. Wir sind über mehrere Probleme gestolpert, die zu verantwortungsvollen Offenlegungen gegenüber Trezor, Coldcard und Ledger geführt haben (wie hier besprochen).

Ich habe in einem früheren Blog-Beitrag ausführlicher darauf eingegangen, aber kurz gesagt, eine Hardware-Brieftasche sollte es Ihnen ermöglichen, Gelder sicher zu empfangen und auszugeben sowie die Änderung wieder auf dasselbe Konto zu übertragen, selbst wenn Ihr Computer oder Mobiltelefon Malware enthält . Zwar kann jeder Hersteller festlegen, was sein Produkt für Sie tun und was nicht, wir sind jedoch der Meinung, dass das Bedrohungsmodell für Hardware-Portemonnaies im Fall von Multisig böswillige oder gefährdete Mitsignierer enthalten sollte. Der Grund dafür ist, dass Unternehmen daran interessiert sind, Multisig als Teil der Münzlagerung, Ratenbegrenzung oder Vererbung zu nutzen. Wenn ihre Infrastruktur beeinträchtigt wird, können viele Benutzer betroffen sein – insbesondere, wenn sie die App des Dienstanbieters verwenden, um mit ihrer Hardware-Brieftasche zu interagieren.

Es gibt zwei Hauptanwendungsfälle für Multisig: (i) Aufteilung der Befugnis zum Ausgeben von Münzen auf mehrere Parteien ohne eine einzige Fehlerquelle oder (ii) Verringerung der Auswirkung von Sicherheitsanfälligkeiten durch Verwendung von Hardware-Brieftaschen verschiedener Hersteller. In beiden Szenarien sollten Sie auf bestimmte Dinge achten. Andernfalls erhalten Sie möglicherweise weniger Sicherheit, als wenn Sie gewöhnliches singlesig verwenden würden. Multisig erhöht die Komplexität für die Hardwarebörse, die Softwarebörse und für Sie, aber „Komplexität ist der Feind der Sicherheit“. Da Singlesig weitaus beliebter als Multisig ist, achten Unternehmen mehr auf die Sicherheit und Benutzerfreundlichkeit ihres Singlesig-Workflows als auf die Implementierung von Multisig. Ich stimme zu, dass Multisig theoretisch sicherer ist. In den folgenden Abschnitten wird jedoch erläutert, warum dies in der Praxis manchmal nicht der Fall ist.

Die erste Gefahr tritt auf, bevor Sie überhaupt Geld erhalten oder ausgeben. Angenommen, Sie erstellen beispielsweise eine 2-aus-3-Konfiguration, bei der der Schwellenwert kleiner als die Anzahl der Mitunterzeichner ist. Mit anderen Worten, von 3 möglichen Signaturen sind 2 Signaturen erforderlich, um eine Transaktion zu genehmigen. Es ist absolut entscheidend, dass das Backup jedes Mitzeichners die erweiterten öffentlichen Schlüssel (kurz xpubs) aller anderen Mitzeichner enthält (auf dem Schlüsselpfad für mehrere Signalkonten und idealerweise zusammen mit dem verwendeten Schwellenwert, dem Ableitungspfad und dem Skripttyp). Andernfalls bedeutet der Verlust eines einzelnen Startwerts, dass Sie das Geld nicht mehr zurückerhalten und ausgeben können. Dies liegt daran, dass nicht ausgegebene Transaktionsausgaben von Multisig-Konten mit dem Hash aller öffentlichen Schlüssel (und dem Schwellenwert) gesperrt sind. Wenn Sie die öffentlichen Schlüssel aller Mitsignierer nicht mehr ableiten können, können Sie die Einlöseskripts, die zum Auffinden und Ausgeben der UTXOs Ihres Multisig-Kontos erforderlich sind, nicht mehr ermitteln. Wenn Sie beispielsweise ein 2-aus-3-Multisig-Konto einrichten, aber vergessen, auch die erweiterten öffentlichen Schlüssel der beiden anderen Mitunterzeichner zu sichern, reichen zwei von drei aus, um Geld auszugeben und zu erhalten, solange die betreffende Person (Hardware) Geldbörsen sind funktional. Wenn Sie jedoch aus irgendeinem Grund den Zugriff auf Ihre Brieftaschen verlieren, benötigen Sie alle drei Seed-Backups anstelle von nur zwei für die Wiederherstellung.

Ihre Hardware-Brieftasche sollte die folgenden vom nicht vertrauenswürdigen Computer bereitgestellten Informationen überprüfen oder überprüfen lassen:

  • Die Empfangsadresse, die den Hash eines normalen Multisig Redeem-Skripts ohne andere Ausgabebedingungen codieren muss
  • Der Schlüssel der Hardware-Brieftasche, der einer der öffentlichen Schlüssel im Einlösungsskript sein muss
  • Der Schlüsselpfad der angezeigten Adresse, um Lösegeldangriffe zu vermeiden, wenn die Hardware-Brieftasche keine Einschränkungen erzwingt
  • Die Anzahl der Mitunterzeichner, um zu verhindern, dass ein Angreifer weitere hinzufügt
  • Der Schwellenwert für erforderliche Signaturen darf nicht höher oder niedriger als beabsichtigt sein
  • Die xpubs der Mitunterzeichner, um zu verhindern, dass ein Angreifer sie austauscht

Um ein einzelnes menschliches Versagen bei der Verwendung einer Empfangsadresse zu vermeiden, sollte der gleiche Schwellenwert von Mitsignierern dem Absender bestätigen, dass die Empfangsadresse korrekt übertragen wurde. Wenn Sie ein Multisig-Setup verwenden, um das Risiko einer Sicherheitsanfälligkeit in der Firmware eines bestimmten Geräts zu vermeiden, sollten Sie die Empfangsadresse auf mehreren Hardware-Wallets überprüfen. Sicheres Empfangen von Münzen ist genauso wichtig wie sicheres Ausgeben von Münzen.

Wie gehen verschiedene Hardware-Portemonnaies damit um?

Wie andere schon bemerkt haben, Das Ledger kümmert sich nicht darum. Stattdessen muss der Benutzer der auf dem Computer angezeigten Empfangsadresse entgegen dem Zweck einer Hardware-Brieftasche vertrauen.

Trezor überprüft, ob sein Schlüssel Teil der ordnungsgemäß eingerichteten Empfangsadresse ist, und zeigt dem Benutzer alle anderen Informationen an (siehe oben noch einmal Tweet auf Ledger) mit Ausnahme der Mitunterzeichner. Der Einfachheit halber versuchen die Hersteller, die Firmware von Hardware-Geldbörsen so staatenlos wie möglich zu halten und folglich zu vermeiden, dass etwas anderes als der Keim gespeichert wird. Bis zur Veröffentlichung der Firmware-Version 2.1.8 am 6. November 2019 gab es für den Benutzer keine Möglichkeit, die vom Computer bereitgestellten xpubs der Mitsignierer zu überprüfen. Mit anderen Worten, Malware könnte die xpubs der beiden Mitsignierer in unserem obigen Beispiel mit zwei oder drei Multisignierern ersetzen, und der Angreifer würde dann die empfangenen Münzen vollständig kontrollieren. Dies ist ein echtes Problem, da Benutzer darauf geschult sind, dem Bildschirm ihrer Hardware-Brieftasche zu vertrauen, aber nicht über das oben genannte Ersatzrisiko informiert sind, das den Bildschirm des Geräts im Fall von Mehrfachsignalen unzuverlässig macht. Dies ist die zweite Sicherheitsanfälligkeit, die wir Trezor gemeldet haben. Sie wird in den Versionshinweisen erwähnt. Sie hielten es eher für ein Usability-Problem als für ein Sicherheitsproblem. (Solange Sie die Empfangsadresse auf mehreren Geräten überprüfen, von denen jedes bestätigt, dass sein Schlüssel in der Multisig-Adresse enthalten ist, ist dies in der Tat kein Sicherheitsproblem.) Während die neue Firmware Ihre Multisig-Konfiguration immer noch nicht beibehält, können Sie jetzt überprüfen die xpubs deiner cosigner bei der anzeige einer multisig-empfangsadresse:

So überprüfen Sie die xpubs Ihrer Multisig-Cosigner auf Trezor Model T.

Leider zeigt der Trezor, soweit wir das beurteilen können, nicht an, welches xpub Ihnen gehört. Da die Hardware-Brieftasche Ihr eigenes xpub bereitstellt, müssen Sie es nicht selbst überprüfen. Auf der anderen Seite, da es keine andere Methode zu geben scheint, um Ihr eigenes xpub auf dem vertrauenswürdigen Bildschirm Ihres Trezor anzuzeigen, können Sie Ihren Mitunterzeichnern jetzt mit größerer Sicherheit sagen, was Ihr eigenes xpub ist.

Coldcard bietet den besten Ansatz, indem die Multisig-Konfiguration nach einer ersten Einrichtung beibehalten wird. Es gab jedoch ein Problem mit der Bereinigung des Ableitungsschlüsselpfads, das wir ihnen verantwortungsbewusst mitteilten.

Wie können Sie sicher ein paar Münzen ausgeben, nachdem Sie sie sicher erhalten haben? In der Hardware-Brieftasche müssen die folgenden Informationen überprüft werden, die vom nicht vertrauenswürdigen Computer bereitgestellt werden, oder Sie müssen sie überprüfen lassen:

  • Die vom Benutzer angezeigte und bestätigte Empfängeradresse, wie bei singlesig
  • Die Änderungsadresse mit denselben Mitzeichnern und demselben Schwellenwert in einem normalen Multisig-Skript ohne andere Ausgabebedingungen
  • Die Änderung wird an eine Adresse mit einem vom Benutzer wiederherstellbaren Schlüsselpfad gesendet

Wie gehen verschiedene Hardware-Portemonnaies damit um?

Durch Überprüfen der Multisig-Konfiguration hat Coldcard den besten Ansatz. Wenn jedoch nicht genügend Einschränkungen für den Schlüsselpfad erzwungen werden, kann nicht sichergestellt werden, dass auf die Änderung zugegriffen werden kann. Wir haben dieses Problem verantwortungsbewusst gemeldet und es wurde in der am 1. November 2019 veröffentlichten Firmware 3.0.2 behoben.

Trezor überprüft, ob die Änderung auf dasselbe Brieftaschenkonto (mit denselben Mitunterzeichnern und demselben Schwellenwert) zurückgeht, hat jedoch einen Fehler bei der Überprüfung festgestellt. Da Trezor den Singlesig- und den Multisig-Workflow nicht ordnungsgemäß getrennt hat, kann ein Angreifer (i) einer Singlesig-Transaktion eine gemeinsame Multisig-Eingabe hinzufügen, dann (ii) die Änderung an dasselbe Multisig-Konto senden und (iii) das gesamte Guthaben des Benutzers stehlen Dort. Wir haben diesen kritischen Remote-Angriff am 1. Oktober 2019 gemeldet, der in der am 6. November 2019 veröffentlichten Firmware-Version 2.1.8 behoben wurde Der Benutzer bestätigt, dass die xpubs der Mitunterzeichner für Ausgaben verwendet werden, da das Einlöseskript mit den öffentlichen Schlüsseln der Mitunterzeichner Teil des zu signierenden Hashs ist. Wenn Malware auf Ihrem Computer beim Signieren einer Transaktion über die xpubs Ihrer Mitunterzeichner lügt, lehnen andere Knoten im Bitcoin-Netzwerk die ungültige Transaktion ab.

Wie Saleem Rashid bereits vor fast zwei Jahren herausgestellt hat, überlässt Ledger die Änderungsausgabe dem Benutzer, um im Falle von Multisig-Transaktionen zu bestätigen, was zu verschiedenen Problemen führt. Wie sollen Benutzer die Änderungsadresse überprüfen? Wenn sie dafür einen separaten, absolut vertrauenswürdigen Computer benötigen, warum benötigen sie dann überhaupt eine Hardware-Brieftasche? Wenn wir annehmen, dass der Benutzer die Änderungsadresse mit dem Mitunterzeichner bestätigen muss, führt dies zu den folgenden zwei Problemen:

  1. Send-to-Many nicht klar von Multisig zu unterscheiden: Die einzige Möglichkeit, mit der Benutzer feststellen können, ob sie eine Multisig-Transaktion und keine Send-to-Many-Transaktion signieren, besteht darin, dass sie im ersten Fall eine Änderungsschlüsselpfad-Warnung erhalten, im zweiten Fall jedoch nicht. Von normalen Benutzern kann nicht erwartet werden, dass sie den Unterschied bemerken, und Multisig-Benutzer sind mit dem Vorgang vertraut, immer mehr als den beabsichtigten Empfänger in einem Ledger zu bestätigen. Daher kann ein kompromittierter Mitunterzeichner eine Sende-Adresse bereitstellen, die er selbst steuert, und diese fälschlicherweise als Multisig-Änderungsadresse bestätigen lassen.
  2. Reduzierung der Multisig-Schwelle: Wenn Sie ein M aus N-Multisig-Setup haben, können Sie nicht erkennen, wann die Multisig-Schwelle des Änderungsausgangs auf 1 aus N gesenkt ist. Falls ein kompromittierter Mitunterzeichner Sie über die zu bestätigende Änderung belügt, können diese Änderungen durchgeführt werden stehlen Sie die Änderung, nachdem die Transaktion abgeschlossen ist.
    Während diese beiden Probleme gelöst werden, wenn Benutzer Zugriff auf ein Änderungsorakel haben, das ihnen sagt, wie die Änderung aussehen muss, gibt es ein anderes Problem, vor dem Benutzer nicht schützen können:
  3. Singlesig-Eingänge für Multisig-Wechsel: Wenn der Benutzer auch über singlesig-Guthaben im selben Hauptbuch verfügt, kann ein Angreifer eine Multisig-Transaktion finanzieren, die der Benutzer mit seinen singlesig-UTXOs ausführen möchte, anstatt sie vom Multisig-Konto zu übernehmen. Wenn das Multisig-Konto eine 1 aus N-Konfiguration aufweist, kann ein böswilliger oder gefährdeter Mitunterzeichner die Änderung unmittelbar danach ausgeben. Mit anderen Worten, aufgrund dieser Entwurfswahl überprüft ein Ledger nicht, ob die Änderung auf dasselbe Konto zurückgeht, wodurch Ihre singlesig (und andere multisig) Fonds gefährdet werden.

Bitte beachten Sie, dass für diese Angriffe der Computer des Opfers kompromittiert werden muss. Dies ist eine häufige Annahme für das Bedrohungsmodell von Hardware-Wallets. Wir haben alle drei Probleme am 4. November 2019 an Ledger gemeldet. Sie antworteten, dass dies alles zu erwartende Verhalten ist und dass sie an einer neuen Bitcoin-Anwendung arbeiten, die diese Probleme beheben sollte (weitere Informationen finden Sie in diesem Kommentar zu Reddit). Wenn Sie Ihr Ledger sowohl für Singlesig als auch für Multisig verwenden und Ihren Mitzeichnern Ihr Singlesig-Guthaben nicht anvertrauen möchten, empfehlen wir, Ihr Singlesig-Guthaben zunächst in eine andere Brieftasche zu verschieben, bevor Sie weitere Multisig-Transaktionen unterzeichnen. Darüber hinaus empfehlen wir, für höchstens ein Multisig-Setup ein einzelnes Trezor- oder Ledger-Gerät zu verwenden, da Sie nicht wissen können, von welchem ​​Konto aus Sie Geld ausgeben, da das Konto nicht angezeigt wird.

Eine Aufzeichnung des Multisig-Workflows auf einem Ledger Nano X.

Die Quelle aller hier erwähnten Sicherheitslücken ist, dass die Hardware-Portemonnaies entweder versuchen, intelligent zu sein und so wenig wie möglich anzuzeigen (Trezor und Coldcard) oder dumm zu sein und mehr anzuzeigen (Ledger), aber beide Ansätze sind fehlgeschlagen, dh sie haben nicht genug überprüft noch genug angezeigt. Es ist nicht einfach, mit der richtigen Menge an stiller Bestätigung und Benutzerbestätigung eine Balance zwischen beiden zu finden. Darüber hinaus scheint es mir, dass diese Familie der "change the change" -Angriffe genauer betrachtet werden muss. Alle in diesem Artikel erwähnten Angriffe waren (oder sind immer noch) Remoteangriffe, bei denen ein kompromittierter Computer die API der Hardwarebörse einfach missbrauchen kann. Informationen dazu, wie Hardware-Wallets solche Angriffe abwehren und damit die Sicherheit verbessern können, finden Sie in benmas Artikel. Während sich dieser Artikel auf Hardware-Wallets konzentriert, ist zu beachten, dass Software-Wallets bei Verwendung von Multisig auch für API-Missbrauchsangriffe anfällig sind, da Transaktionen ähnlich wie bei Hardware-Wallets an sie weitergeleitet werden können.

Credits gehen an TheCharlatan um herauszufinden, dass Sie singlesig Geld an multisig Wechsel mit einem Ledger und an senden können benma für die Infragestellung der Annahme, dass Mitunterzeichner vertrauenswürdig sind, während ich die oben genannten Angriffe verfeinerte und sie Ledger meldete. TheCharlatan kümmerte sich auch darum, sie mit Änderungen an der Electrum-Brieftasche und am HWI zu replizieren. Dies schließt unsere Schwachstellen-Offenlegungs-Trilogie ab.

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining

Werbung: Immobilienmakler HeidelbergMakler Heidelberg

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close