Создание TrueCrypt на Ubuntu 14.04

С целой вещью NSA люди пытались восстановить тождественно смотрящие двоичные файлы тем, которых truecrypt.org предоставляет, но не следовал. Таким образом, некоторые думают, что они могли бы быть скомпилированы с бэкдорами, которые не находятся в исходном коде.-> Поэтому, как компиляция на последней версии Ubuntu (я использую UbuntuGNOME, но это не должно иметь значения)? Я попробовал некоторые учебные руководства за предыдущие версии Ubuntu, но они, кажется, не работают еще?

править:

https://madiba.encs.concordia.ca / ~ x_decarn/truecrypt-binaries-analysis/Теперь, Вы могли бы думать "хорошо, мы не должны создавать", но: Для создания он использовал программное обеспечение с закрытым исходным кодом и существует доказательство понятий, куда поставленный под угрозу компилятор все еще поместил бэкдоры в двоичный файл: 1. источник без бэкдоров 2. двоичный файл тождественно к ссылочно-двоичным 3. двоичный файл содержит все еще бэкдоры

edit2 (отвечают на сообщение):

При использовании $ make -j 2 PKCS11_INC=$HOME/src/pkcs-11 Я добираюсь:

...

/usr/include/wx-2.8/wx/dynarray.h:669:5: note: in expansion of macro ‘_WX_DEFINE_TYPEARRAY_PTR’
     _WX_DEFINE_TYPEARRAY_PTR(_wxArray##name, name, base, classdecl)
     ^
/usr/include/wx-2.8/wx/dynarray.h:655:5: note: in expansion of macro ‘WX_DEFINE_TYPEARRAY_WITH_DECL_PTR’
     WX_DEFINE_TYPEARRAY_WITH_DECL_PTR(T, name, base, class WXDLLEXPORT)
     ^
/usr/include/wx-2.8/wx/dynarray.h:829:5: note: in expansion of macro ‘WX_DEFINE_EXPORTED_TYPEARRAY_PTR’
     WX_DEFINE_EXPORTED_TYPEARRAY_PTR(T, name, wxBaseArrayPtrVoid)
     ^
/usr/include/wx-2.8/wx/bookctrl.h:26:1: note: in expansion of macro ‘WX_DEFINE_EXPORTED_ARRAY_PTR’
 WX_DEFINE_EXPORTED_ARRAY_PTR(wxWindow *, wxArrayPages);
 ^
Linking truecrypt
/usr/bin/ld: /home/user/src/truecrypt-7.1a-source/Volume/Volume.a(SecurityToken.o): undefined reference to symbol 'dlopen@@GLIBC_2.1'
/lib/i386-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[1]: *** [truecrypt] Error 1
make: *** [all] Error 2
user@user-pc:~/src/truecrypt-7.1a-source$ 

при использовании $ make -j 2 PKCS11_INC=$HOME/src/pkcs-11 LIBS=-ldl:

...

Forms/VolumeSizeWizardPage.o: In function `TrueCrypt::VolumeSizeWizardPage::GetVolumeSize() const':
VolumeSizeWizardPage.cpp:(.text._ZNK9TrueCrypt20VolumeSizeWizardPage13GetVolumeSizeEv+0x80): undefined reference to `TrueCrypt::StringConverter::ToUInt64(std::basic_string, std::allocator > const&)'
Forms/VolumeSizeWizardPage.o: In function `TrueCrypt::VolumeSizeWizardPage::SetVolumeSize(unsigned long long)':
VolumeSizeWizardPage.cpp:(.text._ZN9TrueCrypt20VolumeSizeWizardPage13SetVolumeSizeEy+0x8f): undefined reference to `TrueCrypt::StringConverter::FromNumber(unsigned long long)'
Forms/WizardFrame.o: In function `TrueCrypt::WizardFrame::SetStep(int, bool)':
WizardFrame.cpp:(.text._ZN9TrueCrypt11WizardFrame7SetStepEib+0xe6): undefined reference to `TrueCrypt::Event::Connect(TrueCrypt::EventConnectorBase const&)'
collect2: error: ld returned 1 exit status
make[1]: *** [truecrypt] Error 1
make: *** [all] Error 2
user@user-pc:~/src/truecrypt-7.1a-source$

(то же без make -j ... параметр BTW)

edit3

Теперь это работает, благодарит user76204 и ГЕО-:

  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. помещенные truecrypt источники к /home/USERNAME/truecrypt-7.1a-source
  4. начните создавать: $ LIBS=-ldl make -j 2 PKCS11_INC=/home/USERNAME/src/pkcs-11/
5
задан 30 April 2014 в 13:02

2 ответа

Существует план контролировать truecrypt относительно безопасности программного обеспечения и обзора формулировки его лицензии, которую можно найти интересным.

Вот то, как я успешно скомпилировал его на 12,04, но это должно работать на более поздние версии Ubuntu:

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

Вам также нужны некоторые конкретные заголовочные файлы PKCS-11 от официального сайта RSA. Можно получить их внезапно с wget, который может использовать * с загрузками ftp:

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

Теперь загрузите исходный код с truecrypt сайта и проверьте его с gpg после получения открытого ключа, при необходимости. Затем, возможно, извлеките его к Вашему ~/src.

Необходимо предоставить название этого pkcs-11 папка, содержащая заголовочные файлы при выполнении make, поэтому дайте корректный путь, если это отличается от ниже. Конечно, замена Truecrypt_source с Вашим собственным реальным путем в команде CD и в CP управляют ниже. (Двоичный файл Truecrypt будет найден в Main папка исходной папки.)

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

Иногда Вам, возможно, придется добавить к сделать командной строке LIBS=-ldl как в этом вопросе.

Теперь Ваш недавно скомпилированный truecrypt будет готов использовать, и можно быть уверены, что он не имеет никаких бэкдоров.

Примечание: Прежде, чем установить новую версию, необходимо удалить truecrypt если это уже установлено с предоставленным сценарием удаления, который был установлен с двоичным файлом:

sudo /usr/bin/truecrypt-uninstall.sh
2
ответ дан 30 April 2014 в 13:02

У меня была такая же проблема в Ubuntu 14.04.

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

решили мою проблему (в / tmp / truecrypt / pkcs11 хранятся мои файлы pkcs11.)

Одно замечание для людей, компилирующих 14.04: не устанавливайте libwxgtk3.0-dev используйте взамен более старый libwxgtk2.8-dev, иначе он не будет компилироваться из-за ошибки в libwxgtk3.0-dev.

см. https://groups.google.com/forum/#!topic/wx-users/2D_my-umcLU

.
0
ответ дан 30 April 2014 в 13:02

Другие вопросы по тегам:

Похожие вопросы: