Безопасная сборочная

Сборка образов и артефактов с учётом требований безопасности.

Введение

Все компоненты платформы «Штурвал» собираются из исходных кодов и размещаются в репозитории на территории Российской Федерации. Для обеспечения безопасности эксплуатации реализована безопасная сборочная: она включает автоматизированное сканирование на разных этапах жизненного цикла сборки и централизованный учёт уязвимостей.


Виды сканирования в сборочной

В безопасной сборочной применяются следующие виды сканирования:

ВидИнструментыНазначение
SAST (Static Application Security Testing)Специфичные инструменты статического анализа для применяемого стэка языковАнализ исходного кода на уязвимости и слабые места (инъекции, небезопасные функции, типичные ошибки).
SCA (Software Composition Analysis)Dependency-Track, Syft (генерация SBOM)Проверка зависимостей исходного кода на известные уязвимости; формирование Software Bill of Materials.
Сканирование образов (Image-Scan)TrivyУязвимости, мисконфигурации и секреты в собранных образах контейнеров.
Поиск секретов (Secret Detection)gitleaks (в том числе pre-commit)Предотвращение попадания учётных данных, ключей и токенов в репозиторий исходного кода и образы контейнеров.
DAST (Dynamic Application Security Testing)OWASP ZAPПроверка в режиме работы приложения по открытым портам и доступным API (активное тестирование).
Vulnerability ManagementDefectDojoУчёт и управление уязвимостями, консолидация отчётов из всех видов сканирования.

Режим проведения сканирования

Сканирование осуществляется ежедневно от момента выбора версии компонента, планируемой к включению в релиз, до выпуска релиза.

Обнаруживаемые уязвимости уровней High и Critical:

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

Детальные отчёты с размеченными уязвимостями по релизам доступны в базе знаний Service Desk.


Процесс сборки (верхнеуровнево)

Верхнеуровнево процесс сборки выглядит следующим образом: выбор версий компонентов → сборка артефактов → сканирование инструментами классов SAST/SCA/DAST → устранение или разметка уязвимостей → формирование артефактов и размещение в репозитории. Точная схема и настройки задаются внутренними регламентами платформы.

Ниже приведена схема процесса безопасной сборочной (Security CI).

Схема процесса безопасной сборочной

Ниже — цикл обработки CVE и итог по CVE.

Цикл обработки CVE: Сборка, SCA, обновление компонентов, анализ применимости CVE, разметка, контрибьюция в open source, формирование Vex
Итог по CVE: закрытые, размеченные, акцептованные