Как я могу проверить, был ли подделан пакет PPA?

Я хочу использовать недавний пакет из PPA. Как мне убедиться, что сопровождающий PPA не добавил вредоносный код в предоставленной там версии?

4
задан 25 January 2013 в 18:00

2 ответа

  1. Установите пакет devscripts.
  2. Перейдите на страницу PPA и найдите файлы исходного пакета, связанные с интересующим вас пакетом. Найдите тот, который заканчивается .dsc.
  3. Запустите команду dget url_of_dsc_file. Это загрузит и распакует исходный код, использованный для сборки пакета, в каталог. Переименуйте этот каталог в ppa.
  4. Получите исходный код для сравнения с PPA. Это может быть оригинальный архив с сайта проекта, который соответствует используемой вами версии, или, возможно, самый последний официальный выпуск пакета Ubuntu (вы можете найти ссылку на последний .dsc из https://launchpad.net/ubuntu/+source/source_package_name). Загрузите и распакуйте его, затем переименуйте этот каталог в upstream, используя dget для загрузки из .dsc при необходимости.
  5. Теперь сравните каталоги upstream и ppa, чтобы увидеть, были ли внесены какие-либо вредоносные изменения в ppa, которых не было в upstream. Для этого вы можете использовать meld, который является графическим средством просмотра различий. apt-get install meld, затем запустите meld upstream ppa. Он покажет вам, какие файлы являются новыми, изменены или удалены, и вы можете дважды щелкнуть файл, чтобы просмотреть подробные изменения в удобном для просмотра формате.

Поскольку PPA создаются из источника в инфраструктуре Canonical, вы можете верить, что бинарный файл, который вы установили из PPA, соответствует источнику, который вы просматриваете, как указано выше, при условии, что вы доверяете Canonical. Это должно быть приемлемо, учитывая, что вы доверяете Canonical для создания Ubuntu.

0
ответ дан 25 January 2013 в 18:00

Вы действительно не можете быть уверены, что в пакете, предоставленном PPA, нет вредоносного ПО, но вы можете по крайней мере проверить, что исходный код не был подделан:

  • Из Страница PPA, загрузите файл пакета orig.tar.* и распакуйте его
  • , затем загрузите и распакуйте ту же версию программы с веб-сайта проекта
  • Запустите diff -r orig-dir/ ppa-dir/
[ 117] Два исходных дерева должны быть идентичны. Если это не так, вы можете подробно рассмотреть различия и убедиться, что они не являются вредоносными.

Вам также необходимо проверить саму упаковку. Пакеты Debian могут содержать патчи к дереву исходного кода и могут добавлять дополнительный код.

Пакеты Debian (.deb) можно распаковать так:

ar p mypackage.deb data.tar.gz | tar zx
0
ответ дан 25 January 2013 в 18:00

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

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