Hintertüren in PC-Hardware gefunden: Warum Hardware-Wallets so wichtig sind

Eine Schwachstelle, die in PC-Motherboards der Firma Gigabyte gefunden wurde, verdeutlicht die Relevanz von Hardware-Wallets.

6 „Gefällt mir“

Angriffe auf Hardwareebene sind gruselig, da man nicht wirklich etwas dagegen tun kann.

Theoretisch kann jedes off the shelf in irgendeiner unwünschenswerten Art und Weise manipuliert sein.

Komplett trustless gibt es nicht. Irgendwem muss man immer bis zu einem gewissen Grad vertrauen…

3 „Gefällt mir“

Danke für den Artikel und die Info!

Mein Gaming PC hat auch so ein Gigabyte Motherboard, also sehr relevant für mich.

Wenn man TAILS z.B. auf so einem infizierten Gerät startet, könne der Angreifer damit die Funds entwenden. Das ist wirklich ein gutes Argument für HW Wallets.

2 „Gefällt mir“

Das ist mit den Jahren immer schlimmer geworden. Ursprünglich gab es keine solchen Instanzen auf dem Mainboard. Nach dem starten des PC wurde der BIOS aktiv und mit einem sehr beschränkten Funktionsumfang wurden die nötigen Initialisierungen durchgeführt und dann das Betriebssystem gestartet. Aber schon damals wurde der BIOS Speicher von Viren infiziert. Trotzdem war der Funktionsumfang aufgrund des limitierten Speichers und technischen Möglichkeiten beschränkt.

Es wurde dann wie üblich immer schlimmer indem man diese Komponente immer mächtiger machte. Auch der neue UEFI Standard ist heute mächtiger und man baute einen Mikrocontroller ein der als sogenannte „Managment Engine“ (ME) dient und auf dem das Betriebssystems Minix läuft. Das ist ein Mikrocontroller der einen großen und nicht vollständig öffentlich dokumentierten Funktionsumfang besitzt. Es kann auf den Arbeitsspeicher zugreifen, auf die SATA Geräte und das Netzwerkgerät. Und das lustige ist, das Benutzer Betriebssystem muss das nicht zwangsläufig mitbekommen. Die ME läuft auf einer tieferen Ebene. Und die ME läuft auch dann wenn der PC ausgeschaltet ist aber noch mit Strom versorgt wird.

Das alles soll natürlich der Sicherheit und dem Komfort dienen aber vergrößert die Angriffsfläche von PCs enorm. Zu viele undurchsichtige Features die so wirken als wären sie geradezu als mögliche Einfallstore konzipiert worden. Handelsübliche Mainboards sind somit für hochsensible Bereiche ungeeignet.

In einem Heise Artikel von 2018 heißt es:

Durch Zufall kam heraus, dass die NSA für eigene Rechner eine Abschaltung der meisten ME-Funktionen verlangt (High Assurance Platform, HAP). Eine weitgehende Deaktivierung ist also möglich, aber Intel verweigert sie normalen PC-Käufern, dokumentiert sie nicht und leistet auch keinen Support.

Heute gibt es wohl auch Geräte wo man die ME abschalten kann. Es bleibt aber weiterhin problematisch. Was man abschalten kann, kann man auch wieder einschalten. Es bleibt eine Angriffsfläche.

5 „Gefällt mir“

Könnte man ja schon fast Böses unterstellen. Verschwörungstheorien Feuer frei :upside_down_face:

1 „Gefällt mir“

Wenn du unter Tails ein wallet erstellst sollte das immer mit einem Air gapped PC passieren der nie wieder mit dem Internet verbunden wird. Am Besten direkt Bluetooth, WLAN und Festplatten ausbauen. Dann wäre auch eine Hintertür im Bios egal wenn es eh keine Internetverbindung gibt.

Ich finde den Vergleich im Artikel ein bisschen weit her geholt. Wenn ich mich auf closed source verlasse muss ich immer darauf vertrauen das keine Hintertüren eingebaut werden. Deshalb setzten ja die DIY wallets die of the shelf hardware verwenden auf Air gapped und Stateless um dem Gerät nicht mehr vertrauen zu müssen.

1 „Gefällt mir“

Bis du dann eine Transaktion machen möchtest und per SD Karte Daten übertragen werden.
Zu 100% sicher sein kann man sich leider nie …

Wo Nullen und Einsen fliegen, kann alles passieren.

Die Wahrscheinlichkeit ist natürlich sehr sehr gering, aber eben nicht ausgeschlossen.

Eine PSBT kannst du auch per QR code übertragen. Da fliegen dann zwar auch Nullen und Einsen aber es ist erst mal wesentlich schwerer die Hardware dazu zu zwingen eine Ingormation preiszugeben. Die müsste dann ja auch wieder per QR code gescanned werden.

Wie sähe denn danach der mögliche Angriff aus? Meiner Meinung nach nur das anzeigen falscher Adressen und das könnte man beim initialen erstellen indem man die ersten x Adressen aufschreibt.

Aber eben nicht unmöglich. Das ist der Punkt.

1 „Gefällt mir“

Das es 100 % sicherheit gibt ist sowieso illusorisch davon brauchen wir nicht sprechen. Wir können nur diskutieren was sicherer ist, wie man etwas sicherer machen kann und was ein sinvolles Aufwand/Nutzen Verhältnis ist.

Wo liegen denn deine Bedenken? Bei Open source software die ordentlich reviewed wurde wüsste ich nicht welches risiko besteht das durch scannen eines QR codes bei einem Air gapped PC ohne Bluetooth, Wifi und gerätespeicher ein Betrug stattfinden kann.

Zumindest hat man bei Hardware Wallets in der Vergangenheit schon einfachere Hacks gesehen.

1 „Gefällt mir“

Wir hatten diese Diskussion schonmal und ich kann nach wie vor nicht wirklich verstehen, dass du in einem DIY-Signer die sicherere Alternative gegenüber z.B. einer BitBox02 siehst. :slight_smile:

Das fängt doch schon bei der Nutzung an. Ich muss für jede Transaktion mit einem unverschlüsseltem Backup hantieren. Transaktionen unterwegs sind damit schonmal ausgeschlossen, aber auch in einer vermeintlichen sicheren Umgebung ist das ein grundsätzliches Risiko. Die wenigsten werden bei jeder Verwendung den Raum abdunkeln und sämtliche Kameras abkleben. Zurück kommt dann als Argument, dass ein SeedSigner nicht für praktische single-sig, sondern langfristige multi-sig ausgerichtet ist, und das ist auch in Ordnung! Aber dann ist es eben nicht pauschal „die bessere Wallet“, wenn sie von vorneherein nur für eine bestimmte Zielgruppe und eine fehleranfälligere Nutzungsweise gedacht ist.

Insbesondere bei Anfängern gilt: Bad usability is bad security.

Eine BitBox02 kann man übrigens auch sehr einfach Stateless nutzen, in meinen Augen durch die microSD Backups sogar weniger fehleranfällig und was die physische Umgebung angeht sicherer als mit einem SeedSigner. Wobei ich hier auch nicht wirklich den Sinn sehe. Stateless ist kein „Feature“, sondern ein notwendiger Kompromiss bei einem DIY-Signer.

„Stateless“ und „Air Gap“ werden von der SeedSigner-Community mittlerweile so inflationär gepredigt, ohne auch nur eine Sekunde auf Nachteile einzugehen. Ein „Air Gap“ System kann per Definition keinen Kommunikationskanal auf ein externes System öffnen. Das trifft natürlich auf keine Bitcoin Wallet zu, und das weißt du natürlich auch. Trotzdem wird es gegenüber Anfängern als Argument genutzt, ohne wirklich zu begründen, warum Kommunikation über QR-Codes grundsätzlich sicherer sein soll. Die Bandbreite eines Kommunikationskanals trifft keine Aussage darüber, wie leicht er kompromittiert werden kann.

Bestes Beispiel ist die nonce covert channel attack. Die kann ich wunderbar auch über eine formal integre PSBT durchführen. Das Anti-Klepto-Protokoll wird von BitBox-Fans wie mir natürlich auch etwas aufgeblasen, obwohl es sich nur um einen sehr spezifischen Angriff handelt. Aber es ist halt ein gutes Beispiel.

Auch davon hatten wir es schon: Die veröffentlichten SeedSigner Images können nicht reproduziert werden, und können entsprechend beliebige Manipulation enthalten. Open-Source hilft dir nichts, wenn du nicht weißt, was in deinem Release steckt.

Ich würde dieses Argument aus einer neutralen Diskussion heraus zwar nie bringen, da vollständige Reproduzierbarkeit sehr schwer zu realisieren ist, aber du fängst schließlich immer damit an. Und die allermeisten Nutzer nehmen sich schließlich die bereitgestellten Images.

Auch das ist eine gefährliche Pauschalisierung. Du schreibst selbst, dass es keine 100% Sicherheit geben kann. Genauso wenig kann es 0% Vertrauen geben.

Du kannst mit einem DIY-Signer nie verifizieren, dass auf der Hardware tatsächlich die gewünschte Firmware läuft. Es ist in meinen Augen essenziell, mit der Host-Software eine zweite Instanz zu haben, welche die Hardware auf Authentizität prüfen kann. Was auf meinem Desktop Rechner passiert kann ich sehr genau nachvollziehen, bei der Hardware trifft das natürlich nicht zu.

Entscheidend bei einem SeedSigner ist, dass man ihn auch tatsächlich selbst baut und die Einzelteile bestenfalls von unterschiedlichen Händlern bezieht. Sowas hier ist natürlich kompletter Unsinn, sieht man aber immer häufiger. Doch auch dann sind supply-chain Angriffe nicht ausgeschlossen, alleine weil die spezifischen Bauteile mittlerweile „SeedSigner-Typisch“ sind.

Ich will dieses Projekt beim besten Willen nicht schlecht reden oder den „BitBox-Shill“ spielen, im Gegenteil, ich finde das Projekt großartig, habe selbst auch einen SeedSigner und sehe vor allem in Ländern in denen politische Unterdrückung herrscht oder die finanziellen Mittel fehlen großes Potenzial. Aber ich reagiere einfach allergisch auf diese undifferenzierten Lobpreisungen, dass ein zusammengebastelter Pi Zero sicherer sein soll als eine purpose-built Hardware-Wallet, weil „aiR gApPeD“.

Was ich damit sagen will: Das Eine (DIY-Signer) ist nicht pauschal besser als das andere (Hardware-Wallet), aber auch nicht umgekehrt. Wenn mich mein Vater fragt, was er für eine Wallet kaufen soll ist meine Empfehlung ohne zu Überlegen eine BitBox02. Wenn mich ein Kommilitone aus einem Informatik-Studiengang fragt, der wahrscheinlich einen Pi Zero noch daheim rum liegen hat, liegt die Empfehlung für einen SeedSigner natürlich nahe. Wenn ich eine pauschale Empfehlung geben möchte, die eine möglichst breite Zielgruppe abdeckt, dann ist ein DIY-Signer aber sicherlich nicht die erste Wahl.

Die allermeisten dieser Schwachstellen hätten übrigens durch die Air-Gap Eigenschaft nicht verhindert werden können. Siehe die Auflistung hier im Blog-Beitrag: Does airgap make Bitcoin hardware wallets more secure?

4 „Gefällt mir“

Ich würde nicht sagen das man bei BitBox02 vs SeedSigner sagen kann, das ein Gerät sicherer ist als ein anderes. Das größte Fehlerpotential liegt da mit Sicherheit beim Nutzer und da mag die BitBox Anfängerfreundlicher sein. Es Ging ja jetzt erst mal um TailsOS und da wäre Air Gapped mit PSBT ja besser als ein PC der direkt am Netz hängt und mit schon vorher benutzen SD karten benutzt wird. Ich denke da gehst du mit.

Wo du jetzt die DIY Wallets noch mal in den Ring geworfen hast denke ich können wir auch festhalten das es auf jeden Fall einen Use Case für sie gibt und es spannend ist zu sehen, wo der open source Ansatz am Ende hinführt. Das Projekt hier finde ich z. B. auch sehr interessant:

Hier fehlt natürlich noch einiges aber ein interessanter proof of concept.

Zu einigen deiner Kritikpunkte gibt es auf jeden Fall schon Lösungsvorschläge und die usability verbessert sich auch mit jeden Update. Ist auf jeden Fall schön zu sehen, das es auch ohne Firmen, die am ende Reguliert werden können gehen kann und wir zur Not alternativen haben. Die Ganze Diskussion auch um Trezor und Ledger sind langfristig sicherlich auch Hilfreich wenn auch aktuell etwas Panikmache mitschwingt.

Würde ich schon sagen… :wink:

Aber es geht ja auch nicht darum, dass wir uns da gegenseitig versuchen müssen zu überzeugen, sondern dass einfach alles „auf dem Tisch“ liegt und jeder seine eigene Meinung bilden kann.

Absolut! :+1:

2 „Gefällt mir“