Die verschlüsselte und „versteckte“ wallet.dat

Wir werden hier zeigen, wie man ohne großartiges technisches Know-How, eine verschlüsselte Partition erstellt und wie man seine wallet.dat mit einem einfachen Startparameter bzw. einem kleinen Skript vor einigen kursierenden Bitcoin-Trojanern versteckt und somit zumindest etwas an Sicherheit für seine BTCs zulegt.

1.) Wir laden uns die aktuelle Version von Truecrypt herunter und installieren diese. Truecrypt ist im Gegensatz zu anderen Verschlüsslungsprogrammen Open Source und zudem kostenlos. Durch den offenen Quellcode von Truecrypt, ist man hier auch relativ sicher, dass es im Gegensatz zu einigen kommerziellen Lösungen keinen sog. „MasterKey“ in den verwendeten Verschlüsslungsalgorithmen gibt.

2.) Mit Truecrypt erstellen wir uns unter „Volumes->Create New Volume…“ ein neues Volumen:

3.) Wir erstellen einen sog. Truecrypt Container, dazu wählen wir „Create an encrypted file container:

4.) Als nächstes, erscheint eine Auswahl zwischen einem Standard Truecrypt Volumen oder einem sog. „Hidden Truecrypt volume“. In einem „Hidden TrueCrypt volume“, erhält man die Möglichkeit zwei gültige Passwörter zu erstellen, die jeweils zu unterschiedlichen Daten führen. Dies ist interessant, wenn es um polizeilich-relevante Daten geht, um eine Kooperation mit der Institution zu ermöglichen, ohne jedoch wirklich etwas preiszugeben. In unserem Fall ist ein Standardvolumen vollkommen ausreichend:

5.) Als nächstes werden wir aufgefordert einen Speicherort für unseren Container auszuwählen, hierzu wählen wir uns am besten einen USB-Stick, den wir für nichts anderes verwenden werden außer unsere Wallet bzw. unsere BitcoinDaten. Als Dateiendung für den Container, wählen wir „.tc“, es kann aber auch jede andere Dateiendung gewählt werden:

6.) Im nächsten Fenster wählen wir den Verschlüsslungsalgorithmus, standardmäßig schlägt Truecrypt „AES“ vor, dieser Algorhitmus ist für uns vollkommen ausreichend, auch hier zählt wieder AES überzeugt durch offenen Quellcode. An dem vorgeschlagenen Hashalgorithmus ändern wir auch nichts:

7.) Im nächsten Schritt wählen wir die Größe für unseren Container, wir empfehlen hier mindestens 3GB zu nehmen, wahlweise auch mehr. Der Platz soll ausreichen um unsere „wallet.dat“ bzw. das gesamte Anwendungsverzeichnis von Bitcoin darin zu speichern:

8.) Nun werden wir aufgefordert ein Passwort für unseren Container einzugeben. Es sollte hier ein sicheres Passwort gewählt werden, Truecrypt wird euch warnen, falls das Passwort unsicher erscheint. Am besten schreibt ihr das Passwort irgendwo auf, wir empfehlen es nicht auf dem Computer zu speichern:

9.) Im folgenden Fenster klicken wir auf „Format“ und unser Volumen wird erstellt:

10.) Je nach Größe des Containers und der Übertragungsrate des USB-Sticks bzw. der Festplatte, nimmt die Erstellung des Volumens unterschiedlich viel Zeit in Anspruch:

11.) Wenn der Vorgang abgeschlossen ist, verlassen wir das folgende Fenster mit „Exit“ und wir befinden uns wieder in Truecrypt. Der nächste Schritt ist nun, unser Volume an einen Laufwerksbuchstaben zu mounten. Dazu wählen wir zuerst mit „Select File“ unseren Container aus, selektieren einen Laufwerksbuchstaben (in unserem Beispiel „Z:“) und binden den Container mit „Mount“ an diesen Buchstaben, daraufhin erscheint ein Passworteingabefeld, hier tippen wir unser Passwort ein:

12.) Falls wir das richtige Passwort eingetippt haben, sollten wir im Arbeitsplatz einen neuen Datenträger mit dem angegebenen Laufwerksbuchstaben, unser Truecryptfenster sollte folgendermaßen aussehen:

13.) Falls ihr den Bitcoin-Clienten schoneinmal gestartet habt, dann schneidet ihr aus dem Anwendungsordner die Datei „wallet.dat“, falls wir uns das lästige Blöcke nachladen bei jedem Start ersparen wollen, dann nehmen wir noch die Dateien „blk<nummmer>“.dat“, sowie „blkindex.dat“. Für unser Adressbuch, schneiden wir die Datei „addr.dat“ mit aus:

14.) Diese fügen wir nun in ein beliebiges Verzeichnis in unserem Container, wir empfehlen, dass die Ordnerstruktur nicht auf Bitcoin schließen lässt

15.) Als nächsten Schritt starten wir den Bitcoin Clienten mit entsprechendem Startparameter. Hierzu öffnen wir „Ausführen“ (Windowstaste + R) und tippen hier „cmd“ ein, es erscheint ein Konsolenfenster. In diesem navigieren wir uns in das Bitcoinverzeichnis (Hierbei hilft uns die „Tab-Taste“ beim Auswählen der Ordner) und führen Bitcoin mit dem „-datadir=<datenverzeichnis>“ aus

 

16.) Der Bitcoin Client startet wie gewohnt mit allen Blöcken, Adressbuch und natürlich unseren Bitcoins.

17.) Komfortabler lässt sich der Start des Bitcoinclientens mit angepasstem Datenpfad mit einer Batch-Datei bewerkstelligen, die wie folgt aussehen könnte:

btcbase.zip (Download beinhaltet eine bat-Datei zum Start von Bitcoin)

Das hier angebotene Batchskript mit „Rechsklick->Bearbeiten“ an euch anpassen und speichern.

Hier in Textform, für alle die sich die Datei selbst erstellen wollen:

@ECHO OFF
SET WALLETPFAD=Z:\Pictures
SET BITCOINPFAD=C:\Program Files (x86)\Bitcoin\bitcoin.exe
"%BITCOINPFAD%" -datadir="%WALLETPFAD%"

 

Bitte beachten:

Trotz aller hier beschriebenen Sicherheitsvorkehrungen, ist dies selbstverständlich, kein 100%iger Schutz vor dem Diebstahl seiner „wallet.dat“!

Die beste Verschlüsslung bringt nichts, wenn sie entschlüsselt ist! Wir empfehlen das Volumen nur dann zu mounten, wenn man wirklich Bitcoins empfangen oder senden will. Bestenfalls auf einem speziell nur für Bitcoin genutztem PC in einem seperaten Netzwerk oder wahlweise auch in einer virtuellen Maschine, mehr dazu könnt ihr demnächst auf unserem Blog lesen.

Solange es nicht möglich ist, den Dateinamen seiner „wallet.dat“ zu ändern, ist die hier nur ein kleiner Schritt in die richtige Richtung, denn die gängigen „Bitcoin-Klauer“ zielen darauf ab, die Datei „wallet.dat“ aus dem Anwendungsverzeichnis zu kopieren. Diese würden mit einem so präperierten Bitcoin-Start ins leere laufen.

Fragen, Anregungen, Kritik und ähnliches bitte wie immer in den Kommentaren.

Enjoyed this post? Share it!

 

3 thoughts on “Die verschlüsselte und „versteckte“ wallet.dat

  1. Ich würde meinen Bitcoin-Client nur auf ’nem System laufen lassen, welches durch SELinux geschützt ist. Das verhindert nämlich zuverlässig das Ausführen ungewollten Codes bzw. den Zugriff auf nicht freigegebene Ordner und Dateien. Also bspw. RedHat/CentOS/Fedora.

    • Richtig, deshalb hat jimon auch nochmal deutlich darauf hingewiesen, dass diese Methode keinen 100%igen Schutz bietet, jedoch den großteil älterer Spyware/Trojaner und die meisten www code-injections (fixe Deeplinks usw.) umgeht. Dieser Guide soll Bitcoin-Nutzern den ersten Schritt in die richtige Richtung ermöglichen, eine bessere Sicherheit bieten und das Bewusstsein für die Anfälligkeit digitaler Daten stärken.
      Wie jimon ebenfalls schon erwähnt hat wird in naher Zukunft ein Guide erscheinen um ein dediziertes, sicheres System zum Schutz der Bitcoins aufzubauen.

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.