Представляем краткий обзор продукта по защите образов контейнеров от компании 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:
3. Результаты сканирования
3.1 Уязвимости
Результаты сканирования можно отфильтровать по значению "completed with findings" и далее уже посмотреть детали по нужному образу. Возьмем для примера: ruby:2.3:
В данном примере найдено 320 уязвимостей различной критичности с разбивкой по уровням. По каждой уязвимости будет указана её критичность, ссылка на её подробное описание, а также некоторая дополнительная информация (к примеру, исправлена ли уязвимость в старшей версии ПО):
Также, благодаря интеграции с ПО Snyk (https://snyk.io/), база данных по уязвимостям Trend Micro дополнилась базой уязвимостей Snyk по open sourse ПО и в результатах сканирования мы это можем увидеть:
3.2 Зловредное ПО
Во время проверки образов Smart Check выявляет вредоносное ПО и предоставляет ссылку на дополнительную информацию по нему в Trend Micro Threat Encyclopedia (https://www.trendmicro.com/vinfo/us/threat-encyclopedia/). Посмотрим на примере образа jenkins:2:
3.3 Соответствие требованиям/стандартам
Smart Check проверяет образ на соответствие следующим параметрам:
- Встроенные правила
- Пользовательские Yara правила
- PCI DSS v3 Docker Compliance
- NIST 800-190 Docker Compliance
- HIPAA Docker Compliance
Посмотрим на примере образа: redis:5:
Для добавления собственных Yara правил достаточно создать коллекцию и загрузить ruleset в формате .yar:
4. Использование API
Для интеграции в процесс CI/CD удобно воспользоваться API, чтобы была возможность проверять образы еще до их запуска.
Для тестирования API обратимся к среде Red Hat Automation и создадим playbook, согласно которому мы будем подключаться к Smart Check, отправлять на проверку конкретный образ и запрашивать результаты сканирования.
Для подключения к Smart Check нужно отправить POST запрос, следующего вида:
Из ответа на запрос необходимо сохранить токен для дальнейшей аутентификации в рамках открытой сессии.
Теперь отправим запрос на поверку конкретного образа:
И, наконец, запросим результаты сканирования нашего образа:
Также для интеграции в процесс 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
- Встраивание в процесс разработки приложений
Если вам понравилась статья, то ставьте 👍🏻 каналу
Задавайте вопросы по решению в комментариях или пишите на почту sales@tssolution.ru
#системное администрирование #сетевые технологии #it #информационная безопасность #программное обеспечение