Как и 99% пользователей, я устанавливаю Ubuntu из готовых двоичных файлов.
Как я могу убедиться, что эти двоичные файлы на самом деле взяты из исходного исходного кода Ubuntu?
Было бы хорошо проверить, что АНБ / кто-то еще не сотрудничал ни с Ubuntu, ни с Linode (моим провайдером VPS), чтобы связываться с двоичными файлами. Если бы мы могли проверить двоичные файлы, они также вряд ли попытались бы сделать это в первую очередь, так как было бы легко их вызвать.
apt-get source
или использовать его для компиляции своего собственного. Смотрите этот вопрос: askubuntu.com/questions/28372/…Ответы:
Вы можете скачать исходный код и скомпилировать его самостоятельно. Но подождите - сначала вы должны проверить этот исходный код, потому что, если Canonical сотрудничал с АНБ, они, вероятно, где-то ввели какой-то код, чтобы разрешить кейлоггер или что-то, что можно активировать удаленно.
Так...
Но подождите - вы можете доверять компилятору ?
источник
Если вы не готовы принять «потому что Ubuntu так говорит», то вы не можете.
источник
Ubuntu предлагает удобные средства для компиляции пакета на вашем компьютере. Однако нет способа проверить, что исполняемый файл в загруженном вами двоичном пакете был получен из этого исходного кода. Процесс подписания, используемый Ubuntu, существенно снижает риск вмешательства сторонних разработчиков в пакеты, но вы все равно должны полагать, что перед компиляцией не было добавлено вредоносного кода, который не отражен в загружаемом исходном коде.
Причина в том, что очень трудно получить точно такие же двоичные файлы, какие есть в скомпилированных пакетах, поскольку они зависят от точной версии компилятора, его параметров, и, вероятно, также есть некоторые пути или переменные среды, скомпилированные в двоичный файл. Таким образом, вы не сможете получить точно такой же двоичный файл при компиляции, который «проверит» загруженный двоичный файл.
На самом деле вокруг этой проблемы есть небольшое исследовательское сообщество - как сделать компиляцию воспроизводимой.
Тем не менее, ручное сравнение загруженного двоичного файла и самоскомпилированного может обнаружить добавленный / измененный код, поэтому было бы рискованно, если кто-то предлагает двоичные файлы и исходный код, чтобы что-то скрыть в двоичных файлах, поскольку это может быть обнаружено.
Но есть проблема доверия к компилятору, как уже упоминалось ...
источник
Трудно создать одинаковые двоичные файлы на двух разных компьютерах. Проект TOR делает это как обычную часть их сборки. Есть описание, как они это делают. У Debian и Fedora, кажется, есть проекты, делающие это возможным для этих дистрибутивов, но они находятся на ранних стадиях. Это не похоже , есть какая - либо работа , проделанная в Ubuntu .
Чтобы воспроизвести бинарный пакет Ubuntu, вам необходимо максимально точно воспроизвести среду, в которой он был создан. Для начала вам необходимо выяснить, где и как эти пакеты компилируются. Не похоже, что эту информацию легко найти.
источник
Проверка с помощью Ubuntu MD5. Если MD5, который вы получаете из ваших файлов, совпадает с тем, который опубликовал Ubuntu, то никто не вмешивался в двоичные файлы между ними.
источник
Это тяжелая работа, я думаю, что доверие здесь лучше, чем эта сложная работа. Но вопрос Можете ли вы доверять?
Поскольку программное обеспечение с открытым исходным кодом предоставляет пользователям много возможностей для изменения кода, вы никому не можете доверять.
Давайте сделаем сценарий для этой цели, я хочу проверить, что
Ubuntu == source code
, подожди, почему ты не пытаешься сравнить пакеты с их источником?Но для меня сравнение хорошо дает незначительные результаты из-за разных временных меток, сред, но разве это доказывает, что это не из исходного кода!
источник