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

2026-05-11 79 комментарии
Многолетние усилия проекта Reproducible Builds в Debian переведены из рекомендации в обязательное требование к выпуску. Независимый пересборщик теперь сможет взять исходный код любого пакета Debian 14, собрать его у себя и заметить подмену в цепочке поставки, если она была

В Debian заблокировали попадание невоспроизводимых пакетов в ветку testing. Изменение действует с , в середине цикла разработки Debian 14 Forky. Команда выпуска объявила, что проект Debian должен поставлять только воспроизводимые пакеты, и Debian 14.0 станет первым крупным релизом, выходящим по этому правилу. Ограничение касается и пакетов, уже находящихся в testing, если очередное обновление нарушает их воспроизводимость.

Что изменилось в правилах миграции пакетов

В программе автоматической миграции пакетов теперь действует блокировка: пакет, не прошедший проверку на воспроизводимость сборки, в тестируемый выпуск (testing) не переводится. Правило срабатывает в двух случаях: для нового пакета, который не удаётся пересобрать с тем же результатом, и для уже принятого пакета, чья воспроизводимость ухудшилась после очередной загрузки в unstable.

До сих пор воспроизводимость считалась рекомендацией: правило Debian Policy формулировалось как «пакеты должны быть воспроизводимыми» (should), но приёму невоспроизводимых сборок не препятствовало. С 9 мая то же требование переведено в категорию обязательных.

Миграция пакетов — автоматический процесс перехода пакета из ветки unstable в ветку testing после того, как пакет провёл в unstable установленный срок (от 2 до 10 дней в зависимости от срочности), собран для всех целевых архитектур и не имеет критичных для выпуска ошибок. Решение принимается утилитой britney2.

Что такое воспроизводимая сборка простыми словами

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

Воспроизводимость нужна для того, чтобы независимый наблюдатель мог пересобрать пакет и проверить: бинарный файл, который Debian раздаёт пользователям, действительно собран из заявленных исходных кодов, а не подменён где-то по дороге.

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

Что это даёт пользователям Debian

Если коротко: рядовой пользователь не заметит ничего. Команды apt и apt-get работают как раньше, пакеты ставятся теми же способами, обновления приходят с тех же серверов. Изменение касается внутренней механики проекта, а не интерфейса для конечного пользователя.

На стабильный выпуск Debian 13 Trixie новое правило не распространяется вовсе. Эффект проявится в перспективе, в следующем стабильном выпуске Debian 14 Forky, который ожидается в 2027 году.

Зачем это вообще нужно простому пользователю:

  • Защита от подделки. Допустим, кто-то взломает сборочный сервер Debian и подменит компилятор так, чтобы тот втихую добавлял вредоносный код в каждый собранный пакет. С воспроизводимыми сборками такая атака долго не проживёт: любой независимый человек пересоберёт пакет у себя, увидит, что байты не совпадают с официальными, и поднимет тревогу.
  • Доказательство честности. Сегодня пользователь верит, что бинарный файл .deb собран именно из того исходного кода, который показан на сайте Debian. Проверить это самостоятельно практически невозможно. Воспроизводимая сборка превращает веру в проверяемый факт.
  • Меньше точек отказа. Если взлом сборочного сервера сразу же ловится сторонними пересборщиками, у атакующих пропадает смысл такие серверы взламывать. Атака теряет ценность, а оборона распределяется по множеству независимых машин по всему миру.
  • Польза за пределами Debian. На Debian построены Ubuntu, Raspberry Pi OS и десятки корпоративных дистрибутивов. Все они получают ту же гарантию проверяемости.

Текущее состояние воспроизводимости Forky

Проверки опираются на инфраструктуру reproduce.debian.net, где каждый бинарный пакет Debian пересобирается побайтово на основе файла .buildinfo, созданного при оригинальной сборке. Цепочка вызовов такова: rebuilderd передаёт работу debrebuild, та через debootsnap и snapshot.debian.org получает точные версии всех сборочных зависимостей, далее mmdebstrap разворачивает изолированное окружение, а sbuild собирает пакет в пространстве имён пользователя.

В тестирование включены все архитектуры будущего выпуска, кроме s390x. На момент анонса панель показывала высокий процент успешных пересборок для Forky — по архитектуре all более 98% воспроизводимых сборок при 23 728 успешно собранных пакетах.

В Debian также сообщили, что программа миграции теперь запускает autopkgtests для бинарных загрузок без участия мейнтейнера (binNMU) — раньше такие тесты прогонялись только для полных загрузок исходного кода.

Заключение

Команда выпуска Debian охарактеризовала шаг как «небольшое изменение в коде, но большой шаг в обязательствах». На практике это означает, что мейнтейнерам пакетов с проблемами воспроизводимости предстоит устранить их до выпуска Debian 14 Forky — иначе обновление просто не дойдёт до testing. Подробности команда опубликовала в анонсе на debian-devel-announce.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте