The OpenNET Project / Index page

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

В NetBSD обеспечена поддержка повторяемых сборок

20.02.2017 22:17

Проект NetBSD объявил о реализации возможности осуществления повторяемых сборок, позволяющих убедиться, что распространяемые бинарные файлы собраны из предоставляемых исходных текстов и не содержат скрытых изменений. Повторяемые сборки пока поддерживаются только для архитектур amd64 и sparc64.

Похожие инициативы развиваются проектами FreeBSD, Debian, Fedora, Tails, OpenWrt, LEDE, openSUSE, Arch Linux и ALT Linux. Например, во FreeBSD уже обеспечена возможность повторяемой сборки базовой системы и примерно 80% портов, а в Debian Testing повторяемые сборки реализованы для более чем 90% пакетов.

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

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

  1. Главная ссылка к новости (http://blog.netbsd.org/tnf/ent...)
  2. OpenNews: Корпорации профинансируют обеспечение повторяемых сборок пакетов в дистрибутивах
  3. OpenNews: Отчёт о развитии FreeBSD за четвёртый квартал 2016 года
  4. OpenNews: Ведущие корпорации профинансируют создание повторяемых сборок Debian и средства выявления ошибок в СПО
  5. OpenNews: Для 83% пакетов в основном репозитории Debian доказана тождественность сборок исходным текстам
  6. OpenNews: Проект по обеспечению повторяемости сборки пакетов для Fedora Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46073-netbsd
Ключевые слова: netbsd
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Омомим (?), 23:39, 20/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я поддерживаю данное начинание, однако, мне сложно себе представить человека, проверяющего подлинность пакетов, например, в Дебиане, путём их пересбора.
     
     
  • 2.2, A.Stahl (ok), 23:42, 20/02/2017 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Человека нет, а вот организацию вполне можно.
     
     
  • 3.14, Аноним (-), 10:17, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Особенно с безопасниками экс-солдафонами, у которых от безделья креатив прёт.
     
     
  • 4.29, ram_scan (?), 18:16, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А не в безопасниках даже дело. Вот нанял ты подрядчика, сделал он тебе на заказ кастомный продукт, сдал согласно ТЗ КД по ЕСКД, бинари и софт на носителях. Бинари работают согласно протоколу испытаний, сорцы даже компилятся. Выглядят на взгляд даже похоже. Вроде акт приемки выполненных работ подписывать надо. А как проверить что сорцы от бинарей то ? Что в бинарях костылей не наставлено заради испытания пройти ? Ато ухарей то много работать поменьше а получить побольше, а потом попробуй прищеми их когда акт подписан и "претензий не имею".
     
     
  • 5.30, Аноним (-), 18:21, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >А как проверить что сорцы от бинарей то ? Что в бинарях костылей не наставлено заради испытания пройти ?

    Достаточно просто не заплатить этим работничкам - по крайней мере сразу. Если у них там закладок наставлено, они их сами же и засветят.

     
     
  • 6.32, Аноним (-), 22:37, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    полуразово имхо. встречный иск от разработчика и небольшой гешефт сверху за нарушение контракта )
     
  • 2.25, Аноним (-), 13:52, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Кто руками пересобирать будет? Скрипты сборочные наваляют - они по ночам будут выкачивать обновления, выкачивать исходники, в сборочном окружении собирать пакет и сверять со скачанным обновлением!
     

  • 1.3, Я. Р. Ош (?), 00:25, 21/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как же
    -march=native -mtune=native
    ?
     
     
  • 2.4, Я. Р. Ош (?), 00:35, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Посмотрел
    -mtune=nocona -march=x86-64
     

  • 1.5, Аноним (-), 03:12, 21/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я думал такое уже давно было и есть. Иначе доверия к этим бинарникам не сильно больше чем к винде.
     
  • 1.6, Аноним (-), 03:28, 21/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Круто. Ждём когда эта фича появится в Gentoo.
     
     
  • 2.11, Andrey Mitrofanov (?), 09:44, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Круто. Ждём когда эта фича появится в Gentoo.

    Это не фича, это процесс.

     
  • 2.26, Аноним (-), 13:54, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Круто. Ждём когда эта фича появится в Gentoo.

    Зачем это Gentoo?

    Разве что для верификации stage & LiveCD/DVD

     
     
  • 3.31, Аноним (-), 18:46, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Зачем это Gentoo?

    Надо было, наверное, жирный знак *ИРОНИЯ* добавить.

    Но, на самом деле, это можно использовать в случаях, когда сборка происходит только на одном из хостов в сети, который в свою очередь раздаёт бинарные пакеты на другие хосты. Такое часто делают в случае множества однотипных серверов на Gentoo.

     
     
  • 4.33, Andrey Mitrofanov (?), 11:08, 22/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>Зачем это Gentoo?
    > Надо было, наверное, жирный знак *ИРОНИЯ* добавить.

    Генте это надо [ну, мне так придумалось], чтоб и сборку у пользователя сделать, и "пакеты" одинаковые получались (хотя б в каких-то пределах) -- чтоб разрабы могли проще(?) пользователей поддерживать. Ну, типа, как в Debian-е?---

    > раздаёт бинарные пакеты на другие хосты. Такое часто делают в случае
    > множества однотипных серверов на Gentoo.

    Воспроизводимая сборка для этого не нужна.

    Я на своих серверах директории с софтом в /opt/$PACKAGE-$VERSION с-под configure-make-install таскаю _безо _всякой нужды в воспроизводимости.

    .
    .
    .
    Там наверху, наверное, непонятно написано? Речь про доверие -- проверил(*), убедился, сделал вывод о доверии(**) к [дистрибутиву? -ору? софту-пакету...].

    (*)Или тот, кому ты доверяешь, сказал тебе, что проверил - и подтвердил, воспроизводимо.   Например, к бинарному пакету из какого Debian-а или NetBSD.
    (**)о степени доверия! Не да/нет и не "фича", а больше/меньше и процесс. И субъективность, даже.

    >>>Debian’s dirtiest secret: Binary packages built by developers are used in the archive
    >>> — Lucas Nussbaum, FOSDEM 2015
    ((взял из слайдов https://archive.fosdem.org/2016/schedule/event/deployments_with_gnu_guix, оригинал не искал))

    Тор, например, заморочился этим раньше других "дистрибуторов" -- от их софта [, говорят,] буквально зависят жизни. И весьма "влиятельные" враги, например, заинтереованы в компрометации сборки -- на машине разработчика. Поэтому они не ограничиваются "просто сборкой", а и перепроверяют её. В т.ч., чтобы и самим убедиться, что их [и их сборки] не поломали.

     

  • 1.8, Ананас (?), 07:35, 21/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    И зачем это нужно, если, чтобы убедиться, нужно перекомпилять всю систему особым извращенным способом? Может, тогда проще поставить генту и сверять исходники?
     
     
  • 2.19, Аноним (-), 11:59, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Где извращённым, а где нет. Во Фре, Gentoo, которые и так готовы к сборке из исходников, а последняя и расчитана на это, это весьма тривиальная задача.
     
     
  • 3.21, Andrey Mitrofanov (?), 12:14, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Во Фре, Gentoo, которые и так готовы к сборке из исходников, а последняя и расчитана на это, это

    Сборка из исходников и _воспроизводимая_ сборка не одно и то же.

    Ср.: "у каждого собралась своя уникальная снежинка" и "у каждого собралось то же, что у всех остальных с точностью до бита -- то же, что в бин.пакетах".

    И фря, и гента [в т.ч. со Свободой USE-флагов или как их там] -- ровно первое и не второе.

    >весьма тривиальная задача.

    Нет. Вы не понимаете.

    --"Это не мелочи, дружище Битнер."

     
     
  • 4.24, Аноним (-), 13:25, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Сборка из исходников и _воспроизводимая_ сборка не одно и то же.

    Согласен, не одно и то же. Но там, где сборка уже есть, к этому прийти поди проще.

     

  • 1.9, DmA (??), 09:10, 21/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Интересно, появится ли такое когда-нибудь в Винде :)
    Для пересборки дистрибутива Линукс на современных  многоядерных(12-16) компьютерах занимаем немного времени - минут 15 на cd диск с бинарниками уходит. Дистр размером с DVD получается около часа. Что по современным меркам немного, ещё лет 5 и дистры Линукс будут поставлятся только с исходным текстом, а дальше а ля Gentoo
     
     
  • 2.10, ryoken (ok), 09:18, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Дистр размером с DVD получается около часа. Что по современным меркам
    > немного, ещё лет 5 и дистры Линукс будут поставлятся только с
    > исходным текстом, а дальше а ля Gentoo

    Сэр теоретик? :) Я б только ЗА, но боюсь что разовьётся в такую фигню, которая только на JS будет %).

     
     
  • 3.13, DmA (??), 10:15, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    что поделаешь, программы на js быстрее всех размножаются :) https://www.opennet.dev/opennews/art.shtml?num=45861
    Зато для желающих понимать что и как под рукой будем всегда именно тот исходник, который у них сейчас работает у них в системе
     
  • 2.15, Аноним (-), 10:26, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да ладно, за 15 мин. Ну проц о 16-ти ядрах может и обеспечит такую скорость сборки, но дисковая подсистема - узкое горлышко.
     
     
  • 3.17, DmA (??), 10:55, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Да ладно, за 15 мин. Ну проц о 16-ти ядрах может и
    > обеспечит такую скорость сборки, но дисковая подсистема - узкое горлышко.

    хранить исходный текст в сжатом виде на диске :)
    Твёрдотельный забодяжить туда на SATA III


     
  • 3.18, DmA (??), 11:00, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Да ладно, за 15 мин. Ну проц о 16-ти ядрах может и
    > обеспечит такую скорость сборки, но дисковая подсистема - узкое горлышко.

    Тут где-то господин Шигорин приводил данные по сборке Live дистра то ли от проекта АльЛинукс, то ли Базальт. Там даже и 5-7 минут были...

     
  • 3.22, Я. Р. Ош (?), 12:34, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >но дисковая подсистема - узкое горлышко.

    1. Если достаточно памяти, то Linux отлично кеширует доступ к диску
    2. Никто не мешает создавать временно раздел на tmpfs

     

  • 1.12, Филипп Филиппович (ok), 10:02, 21/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Очевидно, распараллеливание сборки по типу make -j4 тоже надо отключать...
     
     
  • 2.16, www2 (ok), 10:40, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >Очевидно, распараллеливание сборки по типу make -j4 тоже надо отключать...

    Мне не очевидно. Почему надо? Если две вещи можно делать параллельно, то мне лично кажется очевидным, что эти две вещи никак друг от друга не зависят.

     
     
  • 3.20, Аноним (-), 12:12, 21/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это в идеальном мире и у фукцианальщиков. А на практике там мутабельная п* и сайдэффекты могу быть непредсказуемые.
     
  • 3.39, Филипп Филиппович (ok), 12:15, 25/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так потому, что в новости сказано о строгом соблюдении последовательности. Хотя в теории, конечно, хуже от -j 4 вроде бы и не станет. Но то теория...
     

  • 1.35, ПавелС (ok), 13:02, 22/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Я не одобряю такую трату усилий. Если у кого-то паранойя, что его обманывают и он не доверяет репозиторию, пусть пересобирает world в генту. Людям хватает просто доверия к дистрибутивам.
     
     
  • 2.36, Andrey Mitrofanov (?), 14:59, 22/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Я не одобряю
    >пусть пересобирает
    > Людям хватает просто

    Отл! Ну, хоть кто-то но опенете знает, что надо людЯм. </отлегло>

    //Из соседняя палата обеспокоена: "Ах! Боже мой! Что станет говорить Княгиня Марья Алексевна!"

     
     
  • 3.38, ПавелС (ok), 19:28, 22/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Я не одобряю
    >>пусть пересобирает
    >> Людям хватает просто
    > Отл! Ну, хоть кто-то но опенете знает, что надо людЯм. </отлегло>
    > //Из соседняя палата обеспокоена: "Ах! Боже мой! Что станет говорить Княгиня Марья
    > Алексевна!"

    Я не про то. Сообщество косвенно озадачило разработчиков на высший пилотаж. Ну возможно, ну можно повторить, но трата усилий ради какой-то идеалистической идеи? Зачем? Это уже искусство какое-то, а не производство.

     
  • 2.37, anonymous (??), 18:46, 22/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Я не одобряю такую трату усилий.

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

     
  • 2.40, Филипп Филиппович (ok), 12:20, 25/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы выпускаете продукт на базе дистрибутива (это куда удобнее и дешевле, чем собирать всё с нуля) -- скажем, навигационную систему для танкеров, то страховаться от неприятностей -- не такая уж и паранойя. Шансов на неприятность, может, и мало, но вот потенциальный ущерб уж очень велик.
     

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



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

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