Направления / AppSec и DevSecOps: безопасность в конвейере разработки

Цепочка поставок: SBOM, подписи, защита конвейера

AppSec и DevSecOps: безопасность в конвейере разработки

Как сделать сборку прозрачной и защитить её от подмены: состав, происхождение, подписи, права.

продвинутый~50 минSBOMSLSAподписиконвейер

Зачем это нужно

  • Атаки на цепочку поставок дают доступ к множеству систем сразу.
  • Прозрачность состава и происхождения артефактов сокращает время реакции на чужие уязвимости.
  • Защита конвейера — часть защиты всей инфраструктуры.

Теория

Состав программного обеспечения (SBOM) описывает компоненты, входящие в артефакт, и их версии. Форматы SPDX и CycloneDX поддерживаются инструментами сборки. Наличие SBOM позволяет мгновенно ответить на вопрос «затронуты ли мы новой уязвимостью библиотеки», а также выявлять лицензионные риски. SBOM нужно генерировать автоматически и хранить вместе с артефактом.

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

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

Ключевые концепции

SBOM
Машиночитаемый перечень компонентов артефакта: основа управления риском зависимостей.
SPDX и CycloneDX
Распространённые форматы описания состава программного обеспечения.
SLSA
Модель уровней гарантий целостности сборки и происхождения артефактов.
Подпись артефакта
Криптографическое подтверждение авторства и неизменности сборки.
Краткосрочные учётные данные
Временные ключи вместо долгоживущих: снижают ущерб от утечки.
Изоляция исполнителя
Сборка выполняется в чистом окружении без лишних прав и данных.

Инструменты

  • Генераторы SBOM, встроенные в сборку (SPDX, CycloneDX).
  • Средства подписи артефактов и проверки подписей.
  • Инструменты проверки происхождения сборки.
  • Платформы конвейеров с ролевым доступом и защитой веток.
  • Реестры артефактов с контролем доступа и проверкой подписей.

Практика в легальных лабораториях

  • Сгенерируйте SBOM для учебного проекта и проверьте его содержимое.
  • Найдите в SBOM компонент с известной уязвимостью и оцените влияние.
  • Настройте подпись артефакта и проверку подписи перед развёртыванием.
  • Ограничьте права задачи сборки и убедитесь, что сборка продолжает работать.
  • Составьте чек-лист защиты конвейера из десяти пунктов.

Защита, детект и защитные меры

  • Генерируйте SBOM автоматически и храните рядом с артефактом.
  • Подписывайте артефакты и проверяйте подписи при развёртывании.
  • Давайте задачам сборки минимальные права и краткосрочные учётные данные.
  • Защищайте ветки и требуйте ревью изменений в конвейере.

Правовая рамка и этика

  • SBOM может раскрывать внутренние детали: распространяйте его с учётом конфиденциальности.
  • Требования к составу и происхождению могут быть обязательными по нормам регуляторов и заказчиков.

Типичные ошибки

  • Генерировать SBOM, но не использовать его при реагировании на уязвимости.
  • Хранить долгоживущие ключи в конвейере.
  • Позволять запуск произвольного кода из внешних источников.
  • Не проверять подписи при развёртывании.

Чек-лист «умею»

  • Умею генерировать и использовать SBOM.
  • Понимаю уровни гарантий происхождения сборки.
  • Настраиваю подпись и проверку артефактов.
  • Ограничиваю права конвейера и использую краткосрочные учётные данные.
  • Защищаю ветки и ревью изменений.

Вопросы на интервью

  • Как SBOM помогает при появлении новой критической уязвимости?
  • Что даёт подпись артефактов и что она не защищает?
  • Как вы защитите конвейер от компрометации?

Источники и первоисточники

CyberPath — обучение пентесту, кибербезопасности и сетевой грамотности