Домой Новости Софт и сервисы В Debian утверждена обязательная поддержка воспроизводимых сборок пакетов

В Debian утверждена обязательная поддержка воспроизводимых сборок пакетов

Разработчики Debian ввели жесткие требования к воспроизводимости пакетов для защиты пользователей от скрытых закладок.

Команда разработчиков Debian официально объявила о переводе воспроизводимой пересборки пакетов в ранг обязательных требований. В сборочную систему были интегрированы механизмы, которые автоматически блокируют добавление в репозиторий новых пакетов, не поддерживающих технологию воспроизводимых сборок. Кроме того, в репозитории testing теперь действует запрет на обновление уже существующих пакетов, в которых обнаружились регрессии, связанные с воспроизводимостью.

В актуальном релизе Debian 13, который насчитывает 36 427 исходных пакетов, общий уровень поддержки повторяемых сборок составляет 96,9% для архитектуры x86_64 и 96,8% для ARM64. В репозиториях Debian Testing показатели составляют 94,5% для ARM64 и 75,7% для x86_64 при тестовой пересборке 37 809 исходных пакетов. На сегодняшний день проверка повторяемости в Debian Testing провалена для 1 141 пакета (3%), а у 7 952 пакетов (21%) зафиксированы различные сложности при компиляции из исходного кода.

Зачем нужны воспроизводимые сборки

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

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

Особенности технической реализации

Для достижения стабильного и воспроизводимого результата разработчикам приходится учитывать множество мелких нюансов:

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

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

Источник: http://www.opennet.ru