it-swarm.com.de

Erstellen von TrueCrypt unter Ubuntu 14.04

Mit der ganzen NSA Sache versuchten die Leute, identisch aussehende Binärdateien mit denen von truecrypt.org wiederherzustellen, aber es gelang ihnen nicht. Einige denken also, sie könnten mit Hintertüren kompiliert werden, die nicht im Quellcode enthalten sind. -> Wie kompiliere ich auf der neuesten Ubuntu-Version (ich verwende UbuntuGNOME, aber das sollte keine Rolle spielen)? Ich habe einige Tutorials für frühere Ubuntu-Versionen ausprobiert, aber sie scheinen nicht mehr zu funktionieren.

bearbeiten:

https://madiba.encs.concordia.ca/~x_decarn/truecrypt-binaries-analysis/ Jetzt könnte man denken "ok, wir müssen nicht bauen", aber: Zum bauen hat er gebraucht Closed-Source-Software und es gibt Proof-of-Concepts, bei denen ein kompromittierter Compiler noch Hintertüren in die Binärdatei einsetzt: 1. Quelle ohne Hintertüren 2. Binärdatei identisch mit der Referenz-Binärdatei 3. Binärdatei enthält noch Hintertüren

edit2 (Antwort auf Beitrag):

Bei Verwendung von $ make -j 2 PKCS11_INC=$HOME/src/pkcs-11 erhalte ich:

 ... 
 
/usr/include/wx-2.8/wx/dynarray.h: 669: 5: Anmerkung: in Erweiterung des Makros '_WX_DEFINE_TYPEARRAY_PTR' 
 _WX_DEFINE_TYPEARRAY_PTR (_wxArray ## name, name, base, classdecl) 
 ^ 
/Usr/include/wx-2.8/wx/dynarray.h: 655: 5: Anmerkung: In Erweiterung des Makros 'WX_DEFINE_TYPEARRAY_WITH_DECL_PTR' 
 WX_DEFINE_TYPEARRAY_WITH_DECL_PTR (T, Name, Basis, Klasse WXDLLEXPORT) 
 ^ 
/Usr/include/wx-2.8/wx : in der Erweiterung des Makros 'WX_DEFINE_EXPORTED_TYPEARRAY_PTR' 
 WX_DEFINE_EXPORTED_TYPEARRAY_PTR (T, Name, wxBaseArrayPtrVoid) 
 ^ 
/usr/include/wx-2.8/wx : note: in der Erweiterung des Makros 'WX_DEFINE_EXPORTED_ARRAY_PTR' 
 WX_DEFINE_EXPORTED_ARRAY_PTR (wxWindow *, wxArrayPages); 
 ^ 
 Linking truecrypt 
/usr/bin/ld: /user/src/truecrypt-7.1a-source/Volume/Volume.a(SecurityToken.o): undefinierter Verweis auf das Symbol 'dlopen @@ GLIBC_2.1' 
/lib/i386-lin ux-gnu/libdl.so.2: Fehler beim Hinzufügen von Symbolen: DSO fehlt in der Befehlszeile 
 collect2: Fehler: ld hat 1 Exit-Status zurückgegeben 
 make [1]: *** [truecrypt] Error 1 
 Make: *** [all] Fehler 2 
 User @ user-pc: ~/src/truecrypt-7.1a-source $ 

bei Verwendung von $ make -j 2 PKCS11_INC=$HOME/src/pkcs-11 LIBS=-ldl:

 ... 
 
 Forms/VolumeSizeWizardPage.o: In Funktion `TrueCrypt :: VolumeSizeWizardPage :: GetVolumeSize () const ': 
 VolumeSizeWizardPage.cpp :(. text._ZNK9TrueCrypt20VolumeSizeWizardPage13GetVolumeSizeEv + 0x80): undefinierter Verweis auf `TrueCrypt :: StringConverter :: ToUInt64 (std :: basic_string, std :: allocator> const &) '[.____] Forms/VolumeSizeWizardPagePage.o :: SetVolumeSize (unsigned long long) ': 
 VolumeSizeWizardPage.cpp :(. Text._ZN9TrueCrypt20VolumeSizeWizardPage13SetVolumeSizeEy + 0x8f): undefinierter Verweis auf `TrueCrypt :: StringConverter :: FromNumber] (unsigned long____. Forms/WizardFrame.o: In Funktion `TrueCrypt :: WizardFrame :: SetStep (int, bool) ': 
 WizardFrame.cpp :(. Text._ZN9TrueCrypt11WizardFrame7SetStepEib + 0xe6): undefinierter Verweis auf` TrueCrypt :: Event: : Connect (TrueCrypt :: EventConnectorBase const &) '
 Collect2: Fehler: ld hat 1 Beendigungsstatus 
 Make [1] zurückgegeben: *** [truecrypt] Fehler 1 
 Make: * ** [alle] Äh ror 2 
 user @ user-pc: ~/src/truecrypt-7.1a-source $ 

(gleich ohne den make -j ... Parameter BTW)

edit3

Jetzt funktioniert es, danke user76204 und GEO:

  1. $ Sudo apt-get install build-essential nasm libfuse-dev wx-common wx2.8-headers libwxbase2.8-dev libwxsvg-dev libwxgtk2.8-0 libwxgtk2.8-dev
  2. $ mkdir -p $HOME/src/pkcs-11
  3. setzt TrueCrypt-Quellen auf /home/USERNAME/truecrypt-7.1a-source
  4. baubeginn: $ LIBS=-ldl make -j 2 PKCS11_INC=/home/USERNAME/src/pkcs-11/
5
linuxubuntu

Ich hatte das gleiche Problem auf Ubuntu 14.04.

LIBS=-ldl make PKCS11_INC=/tmp/truecrypt/pkcs11 

löste mein Problem (/ tmp/truecrypt/pkcs11 ist, wo meine pkcs11-Dateien gespeichert sind.)

Ein Hinweis für Leute, die am 14.04 kompilieren: Installieren Sie libwxgtk3.0-dev nicht, sondern verwenden Sie stattdessen das ältere libwxgtk2.8-dev, da es sonst aufgrund eines Fehlers in libwxgtk3.0-dev nicht kompiliert werden kann.

siehe https://groups.google.com/forum/#!topic/wx-users/2D_my-umcL

1
GEO

Es gibt einen Plan zur Prüfung von TrueCrypt in Bezug auf die Sicherheit der Software und eine Überprüfung des Wortlauts der Lizenz, die Sie möglicherweise interessant finden.

So habe ich es am 12.04 erfolgreich kompiliert, aber es sollte für spätere Versionen von Ubuntu funktionieren:

Sudo apt-get install build-essential nasm libfuse-dev wx-common wx2.8-headers libwxbase2.8-dev libwxsvg-dev libwxgtk2.8-0 libwxgtk2.8-dev

Sie benötigen auch einige bestimmte PKCS-11-Header-Dateien von der offiziellen RSA-Site. Sie können sie alle auf einmal mit wget erhalten, das * mit ftp-Downloads verwenden kann:

mkdir -p $HOME/src/pkcs-11
wget 'ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11*' -P $HOME/src/pkcs-11

Laden Sie nun den Quellcode von der TrueCrypt-Site herunter und überprüfen Sie ihn ggf. mit gpg, nachdem Sie den öffentlichen Schlüssel erhalten haben. Dann extrahiere es vielleicht in deinen ~/src.

Wenn Sie make ausführen, müssen Sie den Namen des pkcs-11-Ordners angeben, der die Header-Dateien enthält. Ersetzen Sie Truecrypt_source im Befehl cd und im Befehl cp durch Ihren eigenen Pfad. (Die Truecrypt-Binärdatei befindet sich im Ordner Main des Quellordners.)

cd Truecrypt_source
make PKCS11_INC=$HOME/src/pkcs-11
Sudo cp Truecrypt_source/Main/truecrypt /usr/local/bin

Gelegentlich müssen Sie der make-Befehlszeile LIBS=-ldl hinzufügen, wie in diese Frage .

Jetzt ist Ihre neu kompilierte TrueCrypt einsatzbereit und Sie können sicher sein, dass sie keine Hintertüren hat.

HINWEIS: Bevor Sie die neue Version installieren, sollten Sie truecrypt deinstallieren, wenn es bereits mit dem mitgelieferten Deinstallationsskript installiert wurde, das mit der Binärdatei installiert wurde :

Sudo /usr/bin/truecrypt-uninstall.sh
2
user76204