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

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

Введение

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


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

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

Вид Инструменты Назначение
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 Management DefectDojo Учёт и управление уязвимостями, консолидация отчётов из всех видов сканирования.

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

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

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

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

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


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

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

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

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

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

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