The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Инициатива по обеспечению повторяемых сборок Arch Linux

02.12.2017 10:28

Разработчики Arch Linux рассказали о состоянии проекта по обеспечению повторяемых сборок, которые позволяют убедиться, что распространяемые в пакетах бинарные файлы собраны из предоставляемых исходных текстов и не содержат скрытых изменений.

В настоящее время повторяемые сборки обеспечены для 77% из протестированных 17% пакетов (для сравнения в Debian 9 этот показатель составляет 94.1%). Для pacman подготовлен набор патчей с реализацией режима повторяемых сборок, которые намечены для включения в состав одного из следующих стабильных релизов. Началась работа по созданию инфраструктуры для сопровождения повторяемых сборок.

Повторяемые сборки являются важным звеном обеспечения безопасности, так как дают любому пользователю возможность убедиться в том, что предлагаемые дистрибутивом сборки байт в байт совпадает со сборками, собранными лично из исходных текстов. Без возможности проверить тождественность бинарной сборки пользователю остаётся лишь слепо доверять чужой сборочной инфраструктуре, компрометация компилятора или сборочного инструментария в которой может привести к подстановке скрытых закладок.

Для обеспечения повторяемых сборок требуется учитывать множество нюансов, таких как точное соответствие зависимостей, использование неизменного состава и версий сборочного инструментария, идентичный набор опций и настроек по умолчанию, сохранение порядка сборки файлов (применение тех же методов сортировки), исключение добавления компилятором непостоянной служебной информации, такой как случайные значения, ссылки на файловые пути и данные о дате и времени сборки.

  1. Главная ссылка к новости (http://vdwaa.nl/arch/linux/rep...)
  2. OpenNews: Для 94% пакетов Debian обеспечена возможность повторяемой сборки
  3. OpenNews: В NetBSD обеспечена поддержка повторяемых сборок
  4. OpenNews: Корпорации профинансируют обеспечение повторяемых сборок пакетов в дистрибутивах
  5. OpenNews: Ведущие корпорации профинансируют создание повторяемых сборок Debian и средства выявления ошибок в СПО
  6. OpenNews: Проект по обеспечению повторяемости сборки пакетов для Fedora Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47665-archlinux
Ключевые слова: archlinux, reproducible, build
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (32) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Michael Shigorin (ok), 10:59, 02/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –17 +/
    > Для обеспечения повторяемых сборок требуется

    ...уметь собирать в чруте, для самого-самого начала.

     
     
  • 2.2, Vasya (??), 12:02, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    вот так https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot ?
     
     
  • 3.23, pavlinux (ok), 22:03, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Угу, только ещё надо повторить повторяемость chroot
     
  • 2.3, Аноним (-), 12:48, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А чем сборка в chroot принципиально отличается от сборки в основной системе, кроме того, что корень другой? Я хотел сказать: а что там уметь\не уметь то?
     
     
  • 3.4, Andrey Mitrofanov (?), 13:21, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > А чем сборка в chroot принципиально отличается от сборки в основной системе,
    > кроме того, что корень другой? Я хотел сказать: а что там
    > уметь\не уметь то?

    Первая ссылка по https://duckduckgo.com/?q=why+build+in+chroot
    неожиданно - https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot#
    , но и другие посмотри.

    Если мало будет, вот https://nixos.org/~eelco/pubs/phd-thesis.pdf
    , например, PhD thesis на 280 страниц -- для углублённого ... изучения.

     
     
  • 4.10, Аноним (-), 15:01, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Не понимаю что неожиданного. Я собираю софт в chroot, ничего отличающегося от основной системы не вижу. Просто кто-то любит себе сложности создавать.
     
     
  • 5.14, Andrey Mitrofanov (?), 15:33, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Не понимаю

    Это было заметно и в первый раз http://www.opennet.dev/openforum/vsluhforumID3/112875.html#149
    Не повторяйтесь больше.

    >Я собираю
    >ничего отличающегося от основной системы не вижу.
    >Просто кто-то любит себе сложности создавать.

     
     
  • 6.18, Аноним (-), 16:09, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Это было заметно и в первый раз https://www.opennet.dev/openforum/vsluhforumID3/112875.html#149

    И что? Какое-то случайное сообщение на форуме где дочерта анонимов. Похоже на то, что вы просто не умеете спорить и пытаетесь запудрить мне мозги. Не надо так.

     
  • 5.31, Петр А (?), 11:40, 03/12/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >> Не понимаю

    И не надо.
    Это не для тебя.
    Ты же не жаришь шаурму? И это нормально. Это просто далеко от тебя, эта шаурма.
    Точно так же ты не делаешь ногтевого дизайна или стрижек на дому.
    и ТОЧНО ТАК ЖЕ — ты «не понимаешь».
    Понимать тебе это так же не нужно, как красить бордюры.
    Не твоё.
    Иди на холодные звонки.

     
  • 5.43, freehck (ok), 16:16, 04/12/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не понимаю что неожиданного. Я собираю софт в chroot, ничего отличающегося от основной системы не вижу. Просто кто-то любит себе сложности создавать.

    Мда. Со скриптами ./configure вы не сталкивались? Когда вам в зависимости от найденных библиотек, разные сборочные параметры выставляются?

     
  • 3.5, Andrey Mitrofanov (?), 13:28, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > А чем сборка в chroot принципиально отличается от

    Кстати, эти люди https://reproducible-builds.org/ также отключают бильдерам сеть, меняют хостнеймы, локали...  кажется.

    + https://reproducible-builds.org/#how

     
     
  • 4.11, Аноним (-), 15:03, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > также отключают бильдерам сеть, меняют хостнеймы, локали

    И? Это так сложно сделать на любом *NIX? 2.5 конфинга исправить, тоже мне сложность. Скрипт один раз написать и развёртывать chroot где угодно. Кто-то определённо любит сложности.


     
  • 4.12, Аноним (-), 15:06, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > + https://reproducible-builds.org/#how

    Половина документа там, кстати, бла-бла-бла. Болтовня не по делу.

     
     
  • 5.15, Andrey Mitrofanov (?), 15:37, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Половина документа там, кстати, бла-бла-бла. Болтовня не по делу.

    А "Не понимаю "  -- ты забыл написать в начале
    http://www.opennet.dev/openforum/vsluhforumID3/112906.html#10
    или просто пртьлмился?

     
     
  • 6.19, Аноним (-), 16:11, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А по делу написать ничего не можете? Так я и знал, ещё один любитель поболтать. Разговор окончен. И, да, тролль из вас так себе -- не особо плохо, но и до отлично не дотягиваете.
     
  • 2.42, vz (?), 16:15, 04/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    соберут во flatpack, appimage, snap и GNU/Linux превратится в мусор
     

  • 1.6, Домохозяйка Анонима (?), 13:41, 02/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    "Those who do not understand NixOS are condemned to reinvent it, poorly."
     
     
  • 2.9, Andrey Mitrofanov (?), 14:00, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > "Those who do not understand NixOS are condemned to reinvent it, poorly."

    У них |nix гы| тоже не 100% reproducible.  Так что, в общем-то, мимо.

    И да,
    reproducible system configurations != reproducible package builds.

     
     
  • 3.16, edolstra (?), 15:49, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Nix делает всё необходимое со стороны дистрибутива. Остальное - косяки апстрима, хотя и их патчат.
     
     
  • 4.17, Andrey Mitrofanov (?), 16:02, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Nix делает всё необходимое со стороны дистрибутива. Остальное - косяки апстрима, хотя
    > и их патчат.

    то же самое "всё" делают и кууучи других дистрибутивом. что так "выгодно" отличает ваш nixos, чтобы удостоить его _отдельного) цпоминания?

     
     
  • 5.20, Мамин Сибиряк (?), 16:56, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В других дистрибутивах сборка в воспроизводимом окружении - внештатный режим, прикрученный сбоку проволокой и отключенный по дефолту. Потому что для сборки каждого пакета в чруте надо с нуля создать новое окружение, распаковать туда все зависимости, это занимает кучу времени. В Nix этого делать не нужно, воспроизводимость достигается засчёт контентно-адресуемого nix store. В качестве идентификатора пакета используется не произвольное имя-версия, а хэш от сборочного рецепта и всех зависимостей. Примерно как хэш коммита в гите, только этот хэш известен ещё до сборки пакета. Это позволяет очень легко организовать кэширование, распределённую сборку из коробки, иметь сколько угодно версий одного и того же пакета без конфликтов, создавать легковесные контейнеры и делать кучу других хороших вещей, которые в других дистрибутивах делаются сложно и дорого.
     
     
  • 6.21, Домохозяйка Анонима (?), 17:13, 02/12/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Главный плюс забыл. Кроме всего прочего, подход NixOS даёт воспроизводимую декларативную конфигурацию. Скопировал /etc/nixos/configuration.nix на новый сервак, запустил nixos-rebuild и получил идентичную систему. В конторе сейчас юзаем NixOS для виртуалок со всякой веб-мелочью и для билд серверов от гитлаба. После ansible даже непривычно, что всё работает и не ломается, лол.
     
  • 6.48, Michael Shigorin (ok), 23:57, 06/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > В других дистрибутивах сборка в воспроизводимом окружении -
    > внештатный режим, прикрученный сбоку проволокой и отключенный
    > по дефолту. Потому что для сборки каждого пакета в чруте надо
    > с нуля создать новое окружение, распаковать туда все зависимости,
    > это занимает кучу времени. В Nix этого делать не нужно

    Н-да, вот уж появления никсоламеров я как-то не ожидал увидеть.

    Любезнейший, ну почитайте хоть немножко про всякие pbuilder и hasher, а потом осознайте тот простой факт, что в альте эта самая "куча времени" тратится уже больше десятилетия на каждый попадающий в репозиторий пакет.  И это не считая других вещей, до осознания существования и осмысленности которых "оптимистам", соответственно, ещё дальше.

    PS: хотя закралось подозрение, что Вы не поняли и #43, и то, что от смены методов адресации _источников_ сборочная среда строго заданного вида не самоорганизуется.

    > только этот хэш известен ещё до сборки пакета

    ...что лишь ужесточает требования к пресловутой воспроизводимости для возможности опираться на хэш исходников, а не бинарников, если уж сами даже этого не понимаете.  И это ужесточение никак её не помогает обеспечить per se, если это самое опирание дальше по пути некритично.

     

  • 1.22, pavlinux (ok), 22:00, 02/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    О, я-я-я, хаки из детства. Замени jnz на nop и обнови mtime/ctime/atime!!!  Ломали мы таких неповторяемых.    
     
  • 1.30, ыы (?), 09:25, 03/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Повторяемые сборки являются важным звеном обеспечения безопасности, так как дают любому пользователю возможность убедиться в том, что предлагаемые дистрибутивом сборки байт в байт совпадает со сборками, собранными лично из исходных текстов.

    Надеюсь это делается произвольным компилятором включая кросскомпиляторы?
    Иначе   - все это мертвому припарки, потому что в компиляторе может быть закладка.

     
     
  • 2.32, пох (?), 14:05, 03/12/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Иначе   - все это мертвому припарки, потому что в компиляторе может быть закладка.

    а они Ритчи не читали.
    закладка в данном случае может быть прямо в cmp, незачем даже возиться с компилятором - все равно код никто не проверяет ;-)

    количество ресурсов планеты, переводимых впустую на ненужное ненужно, увы, ужасает. :-(

     

  • 1.37, 0x0 (?), 22:22, 03/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Такую инициативу можно разве что сравнить с полётом в соседний магазин за хлебом с пересадкой где-то во Франкфурте :))

    Достоверность исполняшек ‒ дело нужное и полезное, но при локальной пересборке каждого требуемого .deb-ИЛа, в случае неповторяемости хоть одного из них, как потом ты прописяешь, это у тебя закладка, руткит или троян или на дистро-серваке? :)))

     
  • 1.38, Адекват (ok), 07:13, 04/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Перевожу на юзерский:
    "В скором времени пользователи ArchLinux будут ВЫНУЖДЕННЫ сами собирать свои пакеты, и разруливать все зависимости."
     
     
  • 2.39, Аноним (-), 09:40, 04/12/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >и разруливать все зависимости

    <подозрительно> А ты точно адекват?

     
  • 2.41, 0x0 (?), 15:23, 04/12/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Лично я понял так, что пакеты будут собираться локально только для того, чтоб удостовериться в том, что те, которые находятся в репозитории и будут установлены ничем и никем не модифицированы :))
     

  • 1.40, Аноним (-), 11:29, 04/12/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Повторяемые сборки являются важным звеном обеспечения безопасности, так как дают любому пользователю возможность убедиться в том, что предлагаемые дистрибутивом сборки байт в байт совпадает со сборками, собранными лично из исходных текстов.

    Если дистр source based, то лучше принципиально все пакеты собирать самому и не ставить никаких бинарных.

     
     
  • 2.44, vz (?), 16:19, 04/12/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И что, в исходнике нет закладки?
    Кто проверял?
    Майнтейнер проверен на детекторе лжи, гипнозом и т.д.?
    Может он сотрудник аутсорса АНБ, как Сноуден, но без совести?

    Есть ли безопасные системы?
    Параноя?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру