Разработчики Arch Linux рассказали (http://vdwaa.nl/arch/linux/reproducible/builds/security/repr.../) о состоянии проекта по обеспечению повторяемых сборок, которые позволяют убедиться, что распространяемые в пакетах бинарные файлы собраны из предоставляемых исходных текстов и не содержат скрытых изменений.
В настоящее время повторяемые сборки обеспечены (https://tests.reproducible-builds.org/archlinux/archlinux.html) для 77% из протестированных 17% пакетов (для сравнения в Debian 9 этот показатель составляет (https://tests.reproducible-builds.org/debian/reproducible.html) 94.1%). Для pacman подготовлен набор патчей с реализацией режима повторяемых сборок, которые намечены для включения в состав одного из следующих стабильных релизов. Началась работа по созданию инфраструктуры для сопровождения повторяемых сборок.Повторяемые сборки являются важным звеном обеспечения безопасности, так как дают любому пользователю возможность убедиться в том, что предлагаемые дистрибутивом сборки байт в байт совпадает со сборками, собранными лично из исходных текстов. Без возможности проверить тождественность бинарной сборки пользователю остаётся лишь слепо доверять чужой сборочной инфраструктуре, компрометация компилятора или сборочного инструментария в которой может привести к подстановке скрытых закладок.
Для обеспечения повторяемых сборок требуется учитывать множество нюансов, таких как точное соответствие зависимостей, использование неизменного состава и версий сборочного инструментария, идентичный набор опций и настроек по умолчанию, сохранение порядка сборки файлов (применение тех же методов сортировки), исключение добавления компилятором непостоянной служебной информации, такой как случайные значения, ссылки на файловые пути и данные о дате и времени сборки.
URL: http://vdwaa.nl/arch/linux/reproducible/builds/security/repr.../
Новость: http://www.opennet.me/opennews/art.shtml?num=47665
> Для обеспечения повторяемых сборок требуется...уметь собирать в чруте, для самого-самого начала.
вот так https://wiki.archlinux.org/index.php/DeveloperWiki:Building_... ?
Угу, только ещё надо повторить повторяемость chroot
А чем сборка в chroot принципиально отличается от сборки в основной системе, кроме того, что корень другой? Я хотел сказать: а что там уметь\не уметь то?
> А чем сборка в chroot принципиально отличается от сборки в основной системе,
> кроме того, что корень другой? Я хотел сказать: а что там
> уметь\не уметь то?Первая ссылка по https://duckduckgo.com/?q=why+build+in+chroot
неожиданно - https://wiki.archlinux.org/index.php/DeveloperWiki:Building_...
, но и другие посмотри.Если мало будет, вот https://nixos.org/~eelco/pubs/phd-thesis.pdf
, например, PhD thesis на 280 страниц -- для углублённого ... изучения.
Не понимаю что неожиданного. Я собираю софт в chroot, ничего отличающегося от основной системы не вижу. Просто кто-то любит себе сложности создавать.
>Не понимаюЭто было заметно и в первый раз http://www.opennet.me/openforum/vsluhforumID3/112875.html#149
Не повторяйтесь больше.>Я собираю
>ничего отличающегося от основной системы не вижу.
>Просто кто-то любит себе сложности создавать.
> Это было заметно и в первый раз https://www.opennet.me/openforum/vsluhforumID3/112875.html#149И что? Какое-то случайное сообщение на форуме где дочерта анонимов. Похоже на то, что вы просто не умеете спорить и пытаетесь запудрить мне мозги. Не надо так.
>> Не понимаюИ не надо.
Это не для тебя.
Ты же не жаришь шаурму? И это нормально. Это просто далеко от тебя, эта шаурма.
Точно так же ты не делаешь ногтевого дизайна или стрижек на дому.
и ТОЧНО ТАК ЖЕ — ты «не понимаешь».
Понимать тебе это так же не нужно, как красить бордюры.
Не твоё.
Иди на холодные звонки.
> Не понимаю что неожиданного. Я собираю софт в chroot, ничего отличающегося от основной системы не вижу. Просто кто-то любит себе сложности создавать.Мда. Со скриптами ./configure вы не сталкивались? Когда вам в зависимости от найденных библиотек, разные сборочные параметры выставляются?
> А чем сборка в chroot принципиально отличается отКстати, эти люди https://reproducible-builds.org/ также отключают бильдерам сеть, меняют хостнеймы, локали... кажется.
> также отключают бильдерам сеть, меняют хостнеймы, локалиИ? Это так сложно сделать на любом *NIX? 2.5 конфинга исправить, тоже мне сложность. Скрипт один раз написать и развёртывать chroot где угодно. Кто-то определённо любит сложности.
> + https://reproducible-builds.org/#howПоловина документа там, кстати, бла-бла-бла. Болтовня не по делу.
> Половина документа там, кстати, бла-бла-бла. Болтовня не по делу.А "Не понимаю " -- ты забыл написать в начале
http://www.opennet.me/openforum/vsluhforumID3/112906.html#10
или просто пртьлмился?
А по делу написать ничего не можете? Так я и знал, ещё один любитель поболтать. Разговор окончен. И, да, тролль из вас так себе -- не особо плохо, но и до отлично не дотягиваете.
соберут во flatpack, appimage, snap и GNU/Linux превратится в мусор
"Those who do not understand NixOS are condemned to reinvent it, poorly."
> "Those who do not understand NixOS are condemned to reinvent it, poorly."У них |nix гы| тоже не 100% reproducible. Так что, в общем-то, мимо.
И да,
reproducible system configurations != reproducible package builds.
Nix делает всё необходимое со стороны дистрибутива. Остальное - косяки апстрима, хотя и их патчат.
> Nix делает всё необходимое со стороны дистрибутива. Остальное - косяки апстрима, хотя
> и их патчат.то же самое "всё" делают и кууучи других дистрибутивом. что так "выгодно" отличает ваш nixos, чтобы удостоить его _отдельного) цпоминания?
В других дистрибутивах сборка в воспроизводимом окружении - внештатный режим, прикрученный сбоку проволокой и отключенный по дефолту. Потому что для сборки каждого пакета в чруте надо с нуля создать новое окружение, распаковать туда все зависимости, это занимает кучу времени. В Nix этого делать не нужно, воспроизводимость достигается засчёт контентно-адресуемого nix store. В качестве идентификатора пакета используется не произвольное имя-версия, а хэш от сборочного рецепта и всех зависимостей. Примерно как хэш коммита в гите, только этот хэш известен ещё до сборки пакета. Это позволяет очень легко организовать кэширование, распределённую сборку из коробки, иметь сколько угодно версий одного и того же пакета без конфликтов, создавать легковесные контейнеры и делать кучу других хороших вещей, которые в других дистрибутивах делаются сложно и дорого.
Главный плюс забыл. Кроме всего прочего, подход NixOS даёт воспроизводимую декларативную конфигурацию. Скопировал /etc/nixos/configuration.nix на новый сервак, запустил nixos-rebuild и получил идентичную систему. В конторе сейчас юзаем NixOS для виртуалок со всякой веб-мелочью и для билд серверов от гитлаба. После ansible даже непривычно, что всё работает и не ломается, лол.
> В других дистрибутивах сборка в воспроизводимом окружении -
> внештатный режим, прикрученный сбоку проволокой и отключенный
> по дефолту. Потому что для сборки каждого пакета в чруте надо
> с нуля создать новое окружение, распаковать туда все зависимости,
> это занимает кучу времени. В Nix этого делать не нужноН-да, вот уж появления никсоламеров я как-то не ожидал увидеть.
Любезнейший, ну почитайте хоть немножко про всякие pbuilder и hasher, а потом осознайте тот простой факт, что в альте эта самая "куча времени" тратится уже больше десятилетия на каждый попадающий в репозиторий пакет. И это не считая других вещей, до осознания существования и осмысленности которых "оптимистам", соответственно, ещё дальше.
PS: хотя закралось подозрение, что Вы не поняли и #43, и то, что от смены методов адресации _источников_ сборочная среда строго заданного вида не самоорганизуется.
> только этот хэш известен ещё до сборки пакета
...что лишь ужесточает требования к пресловутой воспроизводимости для возможности опираться на хэш исходников, а не бинарников, если уж сами даже этого не понимаете. И это ужесточение никак её не помогает обеспечить per se, если это самое опирание дальше по пути некритично.
О, я-я-я, хаки из детства. Замени jnz на nop и обнови mtime/ctime/atime!!! Ломали мы таких неповторяемых.
>Повторяемые сборки являются важным звеном обеспечения безопасности, так как дают любому пользователю возможность убедиться в том, что предлагаемые дистрибутивом сборки байт в байт совпадает со сборками, собранными лично из исходных текстов.Надеюсь это делается произвольным компилятором включая кросскомпиляторы?
Иначе - все это мертвому припарки, потому что в компиляторе может быть закладка.
> Иначе - все это мертвому припарки, потому что в компиляторе может быть закладка.а они Ритчи не читали.
закладка в данном случае может быть прямо в cmp, незачем даже возиться с компилятором - все равно код никто не проверяет ;-)количество ресурсов планеты, переводимых впустую на ненужное ненужно, увы, ужасает. :-(
Такую инициативу можно разве что сравнить с полётом в соседний магазин за хлебом с пересадкой где-то во Франкфурте :))Достоверность исполняшек ‒ дело нужное и полезное, но при локальной пересборке каждого требуемого .deb-ИЛа, в случае неповторяемости хоть одного из них, как потом ты прописяешь, это у тебя закладка, руткит или троян или на дистро-серваке? :)))
Перевожу на юзерский:
"В скором времени пользователи ArchLinux будут ВЫНУЖДЕННЫ сами собирать свои пакеты, и разруливать все зависимости."
>и разруливать все зависимости<подозрительно> А ты точно адекват?
Лично я понял так, что пакеты будут собираться локально только для того, чтоб удостовериться в том, что те, которые находятся в репозитории и будут установлены ничем и никем не модифицированы :))
>Повторяемые сборки являются важным звеном обеспечения безопасности, так как дают любому пользователю возможность убедиться в том, что предлагаемые дистрибутивом сборки байт в байт совпадает со сборками, собранными лично из исходных текстов.Если дистр source based, то лучше принципиально все пакеты собирать самому и не ставить никаких бинарных.
И что, в исходнике нет закладки?
Кто проверял?
Майнтейнер проверен на детекторе лжи, гипнозом и т.д.?
Может он сотрудник аутсорса АНБ, как Сноуден, но без совести?Есть ли безопасные системы?
Параноя?