Краткий обзор продукта по защите образов контейнеров от компании Trend Micro
Представляем краткий обзор продукта по защите образов контейнеров от компании Trend Micro, позволяющего проводить сканирование образов в частных и публичных реестрах и выявлять вредоносный код, уязвимости и несоответствие стандартам.
1. Архитектура
Smart Check разворачивает в среде контейнеризации, в нашем примере это Red Hat Openshift Container Platform, используя Helm 3 (helm install \ --values overrides.yaml \ deepsecurity-smartcheck \ https://github.com/deep-security/smartcheck-helm/archive/master.tar.gz) и в результате создаются 13 deployments:
Архитектура
Принцип работы приложения основан на интеграции с реестрами образов и их сканировании на наличие различных зловредных программ, уязвимостей, на соответствие определенным требованиям и стандартам:
Принцип работы
2. Работа с реестрами
Есть возможность добавления следующих типов реестров:
Google Cloud Registry
Amazon Elastic Container Registry
Generic Registry
Также есть возможность включать/исключать образы, используя фильтры формата <repository>/<image>:<tag>, и запускать сканирование как сразу после добавления реестра, так и в будущем. Добавим Generic Registry:
Generic Registry
3. Результаты сканирования 3.1 Уязвимости
Результаты сканирования можно отфильтровать по значению "completed with findings" и далее уже посмотреть детали по нужному образу. Возьмем для примера: ruby:2.3:
ruby:2.3
В данном примере найдено 320 уязвимостей различной критичности с разбивкой по уровням. По каждой уязвимости будет указана её критичность, ссылка на её подробное описание, а также некоторая дополнительная информация (к примеру, исправлена ли уязвимость в старшей версии ПО):
Информация по уязвимостям
Также благодаря интеграции с ПО Snyk (https://snyk.io/), база данных по уязвимостям Trend Micro дополнилась базой уязвимостей Snyk по open sourse ПО и в результатах сканирования мы это можем увидеть:
Snyk
3.2 Зловредное ПО
Во время проверки образов Smart Check выявляет вредоносное ПО и предоставляет ссылку на дополнительную информацию по нему в Trend Micro Threat Encyclopedia (https://www.trendmicro.com/vinfo/us/threat-encyclopedia/). Посмотрим на примере образа jenkins:2:
Malware
3.3 Соответствие требованиям/стандартам
Smart Check проверяет образ на соответствие следующим параметрам:
Встроенные правила
Пользовательские Yara правила
PCI DSS v3 Docker Compliance
NIST 800-190 Docker Compliance
HIPAA Docker Compliance
Посмотрим на примере образа: redis:5:
Соответствие стандартам
Для добавления собственных Yara правил достаточно создать коллекцию и загрузить ruleset в формате .yar:
Добавление Yara правил
4. Использование API
Для интеграции в процесс CI/CD удобно воспользоваться API, чтобы была возможность проверять образы еще до их запуска.
Для тестирования API обратимся к среде Red Hat Automation и создадим playbook, согласно которому мы будем подключаться к Smart Check, отправлять на проверку конкретный образ и запрашивать результаты сканирования.
Для подключения к Smart Check нужно отправить POST запрос, следующего вида:
Доступ по API
Из ответа на запрос необходимо сохранить токен для дальнейшей аутентификации в рамках открытой сессии.
Теперь отправим запрос на поверку конкретного образа:
Запрос на проверку конкретного образа
И, наконец, запросим результаты сканирования нашего образа:
Запрос результатов сканирования образа
Также для интеграции в процесс CI/CD можно воспользоваться готовыми плагинами, к примеру, к Jenkins: https://github.com/deep-security/smartcheck-plugin.
5. Заключение
Несмотря на то, что Trend Micro Deep Security Smart Check не обеспечивает полную безопасность CI/CD или защиту контейнеров, со своими задачами оно полностью справляется. А в совокупности с дополнительными мерами (к примеру, Trend Micro Deep Security для защиты Docker хостов итп) Smart Check может являться частью комплексной встроенной системы защиты.
Из плюсов решения можно отметить следующие возможности:
Поиск уязвимостей
Обнаружение вредоносного кода
Интеграция с Snyk
Встраивание в процесс разработки приложений
Остались вопросы?
Наш специалист ответит вам в ближайшее время
*Пожалуйста не указывайте личные почтовые адреса (@mail, @yandex, @gmail и т.д.), так как они не пройдут модерацию