С целой вещью 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 и ГЕО-:
$ 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
$ mkdir -p $HOME/src/pkcs-11
/home/USERNAME/truecrypt-7.1a-source
$ LIBS=-ldl make -j 2 PKCS11_INC=/home/USERNAME/src/pkcs-11/
Существует план контролировать 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
У меня была такая же проблема в 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
.