Защита трубопроводов с помощью Scribe

Защита трубопроводов с помощью Scribe

Число атак на цепочки поставок программного обеспечения растет, и необходимость реагирования на этот вектор атак стала критически важной. Но с чего начать?

Если бы у вас были планы сражения злоумышленника, вы могли бы соответствующим образом расставить приоритеты в своих усилиях. У нас нет планов конкретного злоумышленника, но у нас есть схема типичных боевых планов злоумышленников — матрица угроз CI\CD, основанная на Система атаки MITRE.

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

В каждом столбце таблицы перечислены методы, которые может использовать злоумышленник. Например, в первом столбце предполагается, что первоначальный доступ может быть получен либо путем предварительной компрометации CI\CD, либо посредством слабого контроля доступа (действительная учетная запись службы Git, действительная учетная запись службы CI\CD или действительная учетная запись администратора). критического сервера).

 

Основанный на фактических данных подход Scribe к обеспечению безопасности цепочки поставок по сути прост:

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

Для реализации этого подхода Scribe предоставляет программные инструменты, необходимые для сбора таких доказательств и управления ими, а также оценки надежности артефакта в соответствии с политиками и аттестациями (подписанными доказательствами).

Получить краткое описание решения

Примеры политик, поддерживаемых Scribe:

Политики настроек безопасности

Убедитесь, что параметры безопасности служб, используемых в процессе сборки, соответствуют заранее определенному стандарту.

Политики модификации Источник\Файл\Модуль

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

Политики целостности Источник\Файл\Модуль

Убедитесь, что исходный код, файлы и модули идентичны заранее определенным разрешенным версиям.

Политики доверия зависимостей

Убедитесь, что используемые зависимости соответствуют заранее определенному стандарту (например, системе показателей OSSF, возрасту версии, списку разрешений\запретов).

Политика уязвимостей

Убедитесь, что зависимости и другие компоненты с открытым исходным кодом (закрытые или открытые) не представляют высокого риска для безопасности.

Политики жизненного цикла разработки программного обеспечения

Убедитесь, что код проверен заинтересованными сторонами, комментарии устранены, а тестирование и тестирование безопасности завершены успешно.

Политики поведения конвейера

Поддерживать поведение конвейера в соответствии с планом. Например, потребуйте, чтобы изображение отправлялось на выход конвейера, а не каким-либо другим процессом.

Примеры доказательств, которые Scribe постоянно и автоматически собирает для каждой сборки:

Мелкозернистые SBOM из исходного SCM, а также конечные артефакты (контейнеры)

Снимки среды сборки

Снимки исходного репозитория

Настройка безопасности среды управления исходным кодом и среды сборки.

Соответствующие события на уровне ОС, собранные с машины сборки.