:DE: Welche Wallets es gibt, ihre Angriffsvektoren und wie man Ada sicher aufbewahren kann

Wallets und ihre Angriffsvektoren

Eigentlich ist bereits der Begriff “Wallet” (Geldbörse) schon verwirrend, denn deine Ada liegen nicht in deiner Wallet, sondern in der Blockchain. Stellt man sich eine Wallet jedoch wie ein Browser vor, indem die Ada quasi wie Webseiten sind, die man mit der Kenntnis entsprechender Adressen (private Schlüssel) kontrollieren kann, kommt das der Wirklichkeit viel näher. Dann wundert es auch nicht mehr, dass man eine Wallet, mit den gleichen Seed-Wörtern, auf mehreren PCs installieren kann und alle zeigen den gleichen Inhalt an.

Es gibt grundsätzlich 3 Arten von Wallets: Software-, Paper- und Hardware-Wallets. Ich möchte hier noch zusätzlich die Web-Wallets behandeln, die, um genau zu sein, auch Software-Wallets sind.

Eigentlich haben alle Wallets ihre eigenen Angriffsvektoren, einen haben sie jedoch gemeinsam: wenn jemand in Besitz der Seed-Wörter kommt, ist es vorbei. Deine Ada sind dann weg. Unwiderruflich.

Du findest gelegentlich noch zwei zusätzliche Bezeichnungen: Cold-Wallet (kalte Wallet) und Hot-Wallet (heiße Wallet) auf die ich kurz eingehen möchte ohne jedoch alles unnötig zu verkomplizieren.

Eine Cold-Wallet ist nicht mit dem Internet verbunden. d.h. eine Paper-Wallet wie sie Daedalus erzeugt ist eine Cold-Wallet.

Eine Hot-Wallet dagegen ist mit dem Internet verbunden. d.h. jede Software-Wallet wie Daedalus oder Yoroi ist eine Hot-Wallet.

Hardware-Wallets sind besondere Typen von Cold-Wallets. Sie selbst sind grundsätzlich offline, werden zur Verwendung jedoch mit einem Computer verbunden. Der Chip auf dem dein privater Schlüssel gespeichert wird ist getrennt vom Rest des Systems und immer “offline”.

Eine bewährte Vorgehensweise ist, einen kleinen Teil seiner Ada in einer Hot-Wallet und den größten Teil seiner Ada in einer Cold-Wallet zu sichern. Staken kannst du deine Ada übrigens von jeder Art Wallet, selbst von einer Paper-Wallet.

Software-Wallets

Software-Wallets, wie Daedalus oder Yoroi, sind die gängigste Art. Beim Anlegen der Wallet wird ein privater Schlüssel erzeugt und mit Hilfe des “Spending”-Passworts in einer Wallet-Datei auf dem Computer oder Smartphone verschlüsselt.

Gelegentlich unterhalte ich mich Benutzern, die denken, das “Spending”-Passwort, welches bei der Installation vergeben wird, würde die Seed-Wörter zusätzlich schützen. Das ist jedoch nicht der Fall, wer die Seed-Wörter hat, benötigt kein “Spending”-Passwort. Es ist allein dazu da, einen privaten Schlüssel auf der Festplatte zu verschlüsseln, damit er nicht so einfach geklaut werden kann. Aus diesem Grund musst du das “Spending”-Passwort auch eingeben wenn du Ada verschickst, an einen Pool delegierst oder an einer Abstimmung teilnimmst. Die Wallet muss in diesem Moment auf den privaten Schlüssel zugreifen und das kann sie nur dann wenn du das Passwort eingibst.

Solltest du einmal das Spending-Passwort vergessen, kannst du die Wallet einfach löschen und mit den Seed-Wörtern alles neu installieren.

Angriffsvektoren
Software-Wallets werden in der Regel mit Schadsoftware angegriffen:

Diebstahl der Wallet-Datei
Die verschlüsselte Datei kann von einem Schadprogramm oder von jemandem, der Zugang zum Computer hat, gestohlen werden. Zusätzlich muss ein Angreifer das “Spending”-Passwort bekommen.

Das “Spending”-Passwort könnte gleich vom Schadprogramm mitprotokolliert werden. Ein Schlechtes könnte außerdem von Computern “erraten” werden, wenn es entweder sehr kurz ist oder in einem Wörterbuch auftaucht. (Bruteforce)

Fake-Wallet
Ein weiterer Angriffsvektor ist, einem User eine falsche Wallet unterzuschieben. Sobald der User die Wallet installiert und seine Seed-Wörter eingibt, dann verschickt die falsche Wallet alle Ada an eine, vom Angreifer hinterlegte, Adresse.

Solche falschen Wallets tauchen sowohl auf dem Desktop als auch in den App Stores auf. Sie kopieren dabei 1:1 das Aussehen von anderen Wallets und sogar den Namen des Entwicklers. Natürlich sind Entwicklernamen einzigartig im Store, durch eine geschickte Zeichenwahl könnte man zum Beispiel “ADAtainment” mit “ADAtalnment” verwechseln. (statt i ein kleines L)

Deshalb sollte man Wallets und Updates immer aus zuverlässigen Quellen laden und den Download zusätzlich mit einem Hash überprüfen.

Zwischenablage verändern
Schadprogramme, welche die Zwischenablage verändern, sog. “Clipboard Hijacker” funktionieren so: sie überwachen ständig die Zwischenablage und sobald man eine Adresse kopiert, wird sie, still und heimlich, mit der Adresse des Angreifer ersetzt. Wer die Adresse nach dem Einfügen nicht nochmal nachprüft, hat Pech gehabt.

“Gut” gemachte Schadprogramme haben einen großen Pool von alternativen Adressen und suchen eine aus, die der ersetzen Adresse am ähnlichsten ist. Mein Tipp: nach dem Einfügen, wenigstens die ersten 10 und die letzten 10 Zeichen einer Adresse überprüfen.

Fazit
Daedalus oder Yoroi sind grundsätzlich uneingeschränkt zu empfehlen, haben aber auch beide ihr Vor- und Nachteile. (vgl.: Fullnode vs Lightweightnode)

Web-Wallets

Web-Wallets zählen auch zu Software-Wallets, aber ich möchte sie hier extra behandeln, da man um sie zu nutzen eine Webseite aufrufen muss. Dort kann man entweder die Seed-Wörter eingeben, den privaten Schlüssel über eine Datei laden oder die Wallet mit einer Hardware-Wallet verbinden.

Angriffsvektoren
Gute Web-Wallets, wie Ada Lite laufen komplett “lokal” im Browser und übertragen keine kritische Daten wie den privaten Schlüssel. Die größte Gefahr hierbei ist nicht mit der richtigen Webseite zu kommunizieren und diese Wallet überträgt dann doch plötzlich den privaten Schlüssel.

DNS-Hijacks
Um die Informationen einer Webseite anzuzeigen muss der Computer von der eingegebene, lesbaren Adresse wie adatainment.com zuerst die IP Adressen bekommen. Das stellt man sich am besten vor wie ein Telefonbuch. Die Adresse adatainment.com ist der Name und die IP Adresse ist die Nummer. Der Computer muss in einem Telefonbuch (DNS-Server) nachschauen welche Nummer zum Namen gehört.

Ein ganz besonderer Teil dieses Telefonbuchs ist die Host-Datei auf dem PC. Dort kann man Dinge konfigurieren um Seiten umzuleiten oder zu blockieren. Wenn jemand mit Zugang zum PC oder ein Schadprogramm diese Datei manipuliert, könnte er zu einer beliebigen Webseite eine andere Nummer eintragen. Dies hat zur Folge, dass man beim eingeben von adatainment.com in Wirklichkeit auf einer vom Angreifer präparierten Seite landet. Sie kann der echten Seite zu 100% gleichen und dann böse Dinge tun.

Der Vollständigkeit halber sei hier erwähnt, dass das Ändern der Host-Datei nicht die einzige Möglichkeit ist, einen DNS-Hijack auszuführen. Man könnte, unter anderem, auch den Eintrag des DNS-Server ändern, dies ist natürlich aufwendiger.

Bookmarks ändern
Dieser Angriff ist sehr leicht durchzuführen. Ein Schadprogramm oder jemand mit Zugang zum PC ändert die Webseite, die hinter dem Bookmark liegt. Wenn man auf das Bookmarkt klickt, dann landet man auf einer anderen Seite. Natürlich steht in der Adressleiste, dann auch eine andere Adresse. Deshalb werden für solche Angriffe gerne Adressen verwendet die sich sehr stark ähneln wie z.B. statt adatainment.com wird adatalnment.com (i mit l ersetzt).

Phishing Mails / Nachrichten
Man kann auch durch Phishing Emails oder Messenger-Nachrichten mit Links zu einer “besonders großartigen Spezialversion”, einem “sehr wichtigen Update” oder sonstigen verlockenden Dingen auf eine falsche Webseite geleitet werden.

Fremde PCs
Der Vorteil von Web-Wallets ist, dass man keine andere Software benötigt. Man ist vielleicht dazu geneigt Web-Wallets von fremden PCs zu verwenden. Darauf sollte man verzichten, denn man kann nie wissen wie es um die Sicherheit des PC steht. Womöglich läuft absichtlich ein Programm mit, welches alles protokolliert oder vielleicht ist der PC bereits unabsichtlich mit einer Schadsoftware infiziert.

Zu viel Bequemlichkeit
Da man für eine Web-Wallet häufig seinen privaten Schlüssel oder die Seed-Wörter benötigt sind Benutzer eventuell versucht diese unverschlüsselt in einer Textdatei auf dem PC zu speichern. Dort können sie schnell gestohlen werden.

Zwischenablage verändern
Wie bei Software-Wallets, wären Schadprogramme welche die Zwischenablage verändern, hier auch denkbar.

Fazit
Ada Lite ist ein gutes Stück Software. Trotzdem würde ich persönlich, aus den genannten Gründen, grundsätzlich von Web-Wallets abraten. Schon alleine deshalb, weil es Webseiten sind und man zu schnell auf einer falschen landet. Wenn man sie verwendet, dann bitte nur in Verbindung mit einer Hardware-Wallet. Dann kann man sich sicher sein, dass keine kritischen Daten übertragen werden.

Paper-Wallets

Paper-Wallets, wie die, die von Daedalus erzeugt werden, sind in Sachen “kann gehackt werden” als sehr sicher anzusehen. Niemand kann ein Stück Papier hacken, insbesondere wenn es in einem Safe oder Bankschließfach liegt.

Der große Nachteil dabei, man kann seine Ada nicht mehr verwenden. Um einen Teil seiner Ada zu versenden, müsste man die Paper Wallet zuerst in Daedalus oder Yoroi importieren. Sobald eine Paper Wallet importiert wird, ist sie nicht mehr so sicher wie vorher, denn der private Schlüssel ist dann in einem Computer gespeichert.

Der Grundsatz: wenn man eine Paper-Wallet importiert, dann ist sie keine Cold-Wallet mehr. Sie wird zur Hot-Wallet und man sollte diese Paper-Wallet dann nicht mehr verwenden.

Angriffsvektoren
Niemand kann ein Stück Papier hacken, stehlen allerdings schon. Der Sinn einer Paper-Wallet ist seine Seed-Wörter nicht digital aufzubewahren. Deshalb solltest du eine Paper-Wallet nicht als PDF speichern, nicht abfotografieren und auch keinen Screenshot davon erstellen. In manchen Unternehmen werden alle Ausdrucke digital archiviert, vielleicht druckst du dir deinen Paper-Wallet deshalb nicht gerade im Büro aus.

Diebstahl
Diebstahl ist sicher die größte Gefahr bei einer Paper-Wallet. Dazu zählt auch das abfotografieren oder abschreiben der Seed-Wörter.

Verlust / Zerstörung
Sie können auch leicht verloren gehen oder durch Wasser und Feuer zerstört werden.

Bösartige Generatoren
Wer ein bösartiges Programm einsetzt um eine Paper-Wallet zu erzeugen, weil er bei Google kurz nach “Paper Wallet Generator” gesucht hat, wird sein blauen Wunder erleben, wenn er versucht die Wallet wieder zu importieren. Die Ada sind dann weg.

Übrigens: nur weil man einen Paper-Wallet Generator “offline” verwendet, bedeutet dies nicht, dass man auf der sicheren Seite ist. Ein bösartiges Programm könnte viele scheinbar korrekte Adressen generieren, die für den Programmierer des Generators jedoch leicht berechenbar sind. D.h. selbst wenn du so ein Programm an einem PC einsetzt, der noch nie mit dem Internet verbunden war, sind deine Ada weg. Unwiderruflich.

Daedalus ist die einzige Wallet, die Paper-Wallets erzeugt. Importiert werden können diese entweder von Daedalus selbst oder auch von Yoroi.

Fazit
Paper-Wallets eignen sich hervorragend zur Langzeitaufbewahrung größerer Mengen, wenn man eine Möglichkeit hat, sie sicher zu lagern.

Hardware-Wallets

Das schöne an einer Hardware-Wallet ist, dass man sie im Gegensatz zur Paper-Wallet, verwenden kann obwohl der private Schlüssel abgeschottet ist. Das ist ein bisschen wie eine Mischung aus Software-Wallet und Paper-Wallet.

Bei einer Hardware-Wallet wird der private Schlüssel in einem besonderen Chip gespeichert. Durch diesen Chip ist der private Schlüssel vom Rest des Systems isoliert und kann nicht direkt verwendet werden. Ist er einmal gespeichert, kann er nur über eine Schnittstelle benutzt werden. Mit ihr werden dann z.B. Transaktionen übergeben, die zuerst mit dem privaten Schlüssel signiert und die signierte Transaktion dann zurückgegeben wird. Dieser Vorgang wird auf dem Display der Hardware-Wallet angezeigt und muss mit einem Knopf an der ihr bestätigt werden.

Man muss sich das wie eine gepanzerte Box vorstellen, die oben und unten jeweils einen Schlitz hat. Oben wirft man die gewünschte Transaktion rein und unten fällt die unterschriebene Transaktion heraus. Sie wird dann ins Netzwerk geschickt. Durch dieses Design ist bei einer Hardware-Wallet der private Schlüssel auch dann sicher, wenn er mit einem Computer verbunden ist auf dem eine Schadsoftware läuft. Solange sich der Mensch nicht überlisten lässt eine Transaktion zu bestätigen, die er nicht machen möchte.

Angriffsvektoren
Wie das Team von Wallet.Fail zeigt, sind Hardware-Wallets alles andere als fehlerfrei und die Angriffsmöglichkeiten sehr kreativ. Wie bei einer Paper-Wallet benötigt man dabei aber erstmal Zugriff auf das Gerät selbst. Es muss also erstmal gestohlen werden oder bereits in der Lieferkette / Transportweg zum Kunden manipuliert worden sein.

Vorkonfiguriert
Damit kommen wir auch schon zum Klassiker der Angriffsvektoren bei Hardware-Wallets: die Wallet kommt bereits “vorkonfiguriert”, manchmal sogar mit einem schönen Beipackzettel mit bereits belegten 24 Wörtern zur Wiederherstellung und einer kleinen Anleitung. Verwendet man so eine “vorkonfigurierte” Wallet, dann ist man in kürze seine Ada los. Deshalb diese zwei Grundsätze beachten:

  1. immer direkt beim Hersteller kaufen, https://www.ledger.com (Nano S, Nano X) oder https://trezor.io (Trezor T)

  2. eine Hardware-Wallet immer selbst einrichten, dabei die Seed-Wörter selbst notieren. Nach dem Einrichten solltest du einen sehr kleine Anzahl an Ada überweisen und die Wiederherstellung erstmal testen.

Diebstahl
Im Gegensatz zu einer gestohlenen Paper-Wallet muss man bei einer Hardware Wallet einen Pin eingeben. Wird dieser 3 mal falsch eingegeben, dann löscht sich die Hardware-Wallet automatisch. Sie kann dann nur mit den Seed-Wörtern wieder hergestellt werden. Der Super Gau natürlich, wenn durch eine Lücke im System, der private Schlüssel oder die Seed Wörter von einem geklauten Gerät extrahiert werden können. Gezeigt beim TREZOR-T auf dem 35. Chaos Communication Kongress (35C3) im Dezember 2018. (Wenn du etwas Zeit hast und englisch kannst, solltest du das ganze Video anschauen. Dort werden viele weitere Angriffsvektoren erklärt und es ist außerdem auch sehr unterhaltsam)

Zwischenablage verändern
Schadprogramme, welche die Zwischenablage verändern, wären hier auch denkbar. Da die Adresse zusätzlich nochmal im Display der Hardware-Wallet angezeigt wird, fällt dieser Angriff jedoch leichter auf.

Kompromittierter Computer
Eine Möglichkeit eine Hardware-Wallet anzugreifen besteht darin, dass man dem Benutzer etwas anderes zeigt (eine andere Zieladresse oder ein anderer Betrag), als tatsächlich zur Hardware-Wallet geschickt wird. Der Computer wurde also in irgendeiner Form kompromittiert. Genau dafür haben Hardware-Wallets ein Display und man sollte immer den Betrag und die Zieladresse dort abgleichen und nur die Transaktion bestätigen wenn alles übereinstimmt. Eine Hardware-Wallet ist also auch sicher, wenn der Computer kompromittiert wurde, solange sich der Mensch nicht überlisten lässt.

Manipulation
Das Display der Hardware-Wallet zu manipulieren ist zwar nicht ausgeschlossen, aber ungleich aufwendiger als zum Beispiel durch ein Schadprogramm einfach die Zwischenablage des Computers oder die Anzeige auf dem Computerbildschirm zu verändern. Die Wallet muss dazu gestohlen und danach wieder zurückgelegt werden. Auf der Webseite von Wallet.Fail werden dafür Beispiele gezeigt.

Lösegeld (Ransom Attack)
Eine weitere interessante Möglichkeit eine Hardware-Wallet anzugreifen ist im März 2019 aufgetaucht. Die Lösegeldattacke beruht darauf, dass eine modifizierte Wallet (also muss der PC bereits kompromittiert sein) eine Empfangsadresse generiert, die zwar dir gehört aber die sehr zufällig gewählt wurde. Um das zu verstehen muss man wissen, dass Wallets normalerweise Adressen aus dem privaten Schlüssel über einen Index generieren der bei 0 beginnt und dann langsam um eins hochzählt: 0,1,2,3… oder unter Umständen auch kleine Lücken entstehen wie 4,5,15,16…

Die manipulierte Wallet-App hält sich nicht daran sondern wählt eine zufälligen Index im Milliardenbereich. Was passiert ist: die Transaktion an deine Adresse wird ganz normal in der Blockchain bestätigt, taucht jedoch nicht in deinem Wallet auf. Sie gehören immer noch zum privaten Schlüssel können aber nur mit dem richtigen Keyindex gefunden werden, da keine Wallet-Software eine so große Lücke im Keyindex entdeckt oder absuchen kann.

Einige Hersteller wie Ledger und TREZOR-T haben mit Firmwareupdates bereits verkündet, dass die Attacke “behoben” sei. Man muss aber verstehen, dass sich dies grundsätzlich nicht beheben lässt. So wird bei Ledger zum Beispiel eine Warnung ausgegeben, wenn der Keyindex außerhalb eines sehr hohen Bereichs (über 50.000) liegt. Für den Angriff an sich reicht es jedoch auch schon aus, wenn der Keyindex nur um ein paar Tausend springt. Der Unterschied ist: wenn so ein Angriff passiert, kann man mit einem niedrigeren Bereich schneller wieder an seine Ada gelangen. (Da man alle Möglichkeiten durchprobieren müsste)

Fazit
Obwohl hier eine lange Liste von Angriffsvektoren aufgeführt ist, benötigt man für alle erstmal direkten Zugriff auf die Wallet bzw den Computer selbst. Andere Wallets hätten dann bereits verloren. Wenn man die Angriffsvektoren kennt, sind Hardware-Wallets ziemlich sicher und bieten gleichzeitig größte Flexibilität.

Was gegen eine Hardware-Wallet spricht ist in jedem Fall der Preis. Wenn du z.B. für 200 Euro Ada gekauft hast, lohnt es sich nicht zwischen 60 bis 120 Euro für eine Hardware-Wallet auszugeben.


Übersetzung von: https://forum.cardano.org/t/learn-about-different-wallet-types-their-attack-vectors-and-how-to-keep-your-ada-safe/27927
7 Likes