Что с контейнерной безопасностью в России?

Ведущий технический специалист направления DevSecOps компании Axoft Михаил Арпишкин делится опытом тестирования продуктов по направлению «Контейнерная безопасность». Что есть на российском рынке, и что данные решения могут предложить отечественным (и не только) компаниям.

На текущий момент на рынке имеются следующие решения:

  • Luntry
  • Kaspersky Container Security (KCS) от «Лаборатории Касперского»
  • Positive Technologies Container Security (PT CS) от Positive Technologies
  • MTS RED CCS

Стоит отметить, что относительно недавно данный сегмент рынка в большей степени был занят зарубежными решениями. Поэтому особо отрадно, что за такой небольшой срок рынок РФ наполнился таким количеством отечественных продуктов по направлению.

Из перечисленных выше решений мне удалось протестировать два – KCS и Luntry – и составить таблицу по предлагаемым возможностям. Решения PT CS и MTS RED CCS я планирую рассмотреть позднее, поэтому в данной статье о них речь не пойдет.

Пара слов о рассматриваемых решениях

Luntry – комплексная защита контейнеров и Kubernetes на всех стадиях жизненного цикла приложения. Решение обеспечивает высокий уровень безопасности процессов, помогает создать инфраструктуру без слепых зон и наладить бесшовную коммуникацию между командами даже в самых крупных проектах.

Позиционирование продукта Luntry
Позиционирование продукта Luntry

Kaspersky Container Security – это специализированное решение для обеспечения информационной безопасности контейнерных сред. Продукт помогает выявлять проблемы безопасности на всех этапах жизненного цикла приложений – от разработки до эксплуатации. Kaspersky Container Security будет полезен как разработчикам ПО, так и организациям, эксплуатирующим ПО с использованием контейнеров.

Позиционирование продукта в портфолио «Лаборатории Касперского»
Позиционирование продукта в портфолио «Лаборатории Касперского»

Сравнение функционала продуктов

Предлагаемый функционал рассмотрим по блокам, а именно:

  • Работа с образами.
  • Комплаенс кластера.
  • Политики Runtime.
  • Сетевая безопасность.
  • Права доступа.
  • Интеграции.
  • Дополнительные возможности.

Первый пункт (работа с образами) – проверка образов на уже известные уязвимости, возможное наличие в образе malware, конфиденциальных данных и ошибок конфигурирования образа.

Решение Luntry имеет большую базу уязвимостей, поддерживает сканирование отечественных образов и может реализовать проверку образа на наличие конфиденциальных данных и ошибок в конфигурационных файлах, но только при встраивании в pipeline CI/CD. Также стоит отметить, что в новой версии продукта (v.4.0) появится возможность сделать интеграции с Registry и осуществлять проверку образов контейнеров перед его запуском в кластере.

Продукт «Лаборатории Касперского» также имеет обширную базу уязвимостей, которая основывается на внутренней базе производителя. Это как публичные фиды, так и приватные, включающие информацию об эксплуатации уязвимостей и эксплойты. KCS может проводить анализ отечественных образов и имеет «под капотом» антивирусный движок, который позволяет выявить вредоносные файлы, находящиеся в каком-либо слое вашего образа.

По данной теме есть открытое исследование (см. исследование), в котором автор сравнил решения класса container security по возможности детектирования вирусов. Из исследования следует, что далеко не все продукты (даже зарубежные) используют собственный «движок» для детектирования вирусов (часто используется ClamAV). И далеко не все решения показывают хорошие результаты детектирования вредоносных файлов. Продукт KCS для детектирования вирусов использует свои механизмы обнаружения и при сканировании тестового образа из ссылки выше детектирует фактически все вредоносные файлы.

Что с контейнерной безопасностью в России?

Второй пункт (комплаенс кластера) – это возможность проверки ресурсов на соответствие лучшим практикам.

В продукте «Лаборатории Касперского» проверка осуществляется в соответствии с версией CIS-1.8 (которая включает порядка 130 пунктов проверок кластера k8s). В KCS кластер проверяется по 8 категориям и было автоматизировано 53 пункта проверок из 130: безопасность конфигурации узла (файлы конфигурации, kubelet), политики Kubernetes (RBAC, Pod Security Standards, Network Policies, Secrets Management, Extensible Admission Control, General Policies).

В решении Luntry анонсировали в версии 4.0 возможность реализовать проверку кластера на соответствие CIS Benchmark (ссылка). Стоит отметить, что специалистам Luntry удалось автоматизировать 128 из 130 пунктов проверок кластера k8s. Благодаря обширному набору автоматизированных проверок можно избежать необходимость проводить их вручную, что повышает эффективность аудита безопасности кластера k8s.

Что с контейнерной безопасностью в России?

Третий пункт (политики Runtime) – контроль среды выполнения.

Решения Luntry и KCS реализуют два разных подхода контроля среды выполнения.

Если говорить про решение Luntry, то в нем реализовано два механизма контроля среды выполнения k8s. Первый механизм – выявление аномалий – использует машинное обучение для обнаружения аномалий в работе сущностей кластера (работает только в режиме мониторинга событий). Данный механизм использует технологию eBPF, которая позволяет перехватывать и анализировать события, происходящие в системе. В частности, отслеживать системные, файловые и сетевые процессы. Этот механизм очень полезен, когда нет понимания, какие процессы необходимы для нормального функционирования запущенного приложения в кластере. Механизм аномального поведения позволяет сформировать некий образ нормального поведения процессов приложения и в дальнейшем обнаруживать отклонения от него. В случае ложного срабатывания вы можете скорректировать модель с учетом этого события.

Второй механизм – это авто-формирование профиля AppArmor. На основании анализа процессов, запущенных в кластере и относящихся к образу нормального поведения, можно автоматически сформировать профиль AppArmor. Данный профиль можно скорректировать по усмотрению команды и в дальнейшем применить в кластере. Это позволит не только выявлять события безопасности, но и обеспечить их блокировку.

Решение KCS использует технологию eBPF глобальнее. В продукте eBPF применяется не только для мониторинга процессов на уровне ядра, но и для их прерывания. Для этого необходимо сформировать профиль для контейнера, где указывается, запуск каких исполняемых файлов мы разрешаем. В случае отклонения от этого профиля будет сформировано событие безопасности. А если будет включен режим блокировки, то запрещенный процесс завершится.

Еще одним немаловажным фактором контроля среды выполнения является наличие механизмов, которые позволяют контролировать то, какой образ будет запущен в кластере, какие возможности и права ему будут предоставлены и т.д. Здесь стоит отметить, что решение Luntry реализует данный контроль с помощью интеграции с существующими policy engines, такими как Kyverno и Gatekeeper. Данный подход удобен, когда в компании реализуется концепция Security/Policy-as-a-Code.

«Лаборатория Касперского» в данном вопросе пошла своим путем и разработала собственный policy engine, таким образом решение KCS независимо от сторонних инструментов. Работа с инструментом осуществляется в веб-интерфейсе системы, где вы можете выставить требования по безопасности к образу в кластере, namespace или pod и в случае несоответствия данным требованиям образ не будет запущен.

Что с контейнерной безопасностью в России?
Что с контейнерной безопасностью в России?

Четвертый пункт – сетевая безопасность.

Особенностью решения Luntry является возможность визуальной оценки сетевых взаимодействий сущностей Kubernetes при помощи построения карты взаимодействий. Для построения карты сетевых взаимодействий используется технология eBPF, которая осуществляет мониторинг сетевых процессов. Механизм обнаружения аномалий, упомянутый в третьем пункте, также отслеживает отклонения для сетевых процессов и фиксирует их. На данной карте вы сможете увидеть действующие Network Policy и в случае необходимости скорректировать ее. Решение Luntry может автоматически сгенерировать Network Policy (поддерживает native, calico, cilium), в которой учитывает все активные сетевые взаимодействия ваших подов. В случае необходимости вы сможете как добавить, так и убрать дополнительные взаимодействия в сгенерированный манифест. Нюансом этого подхода является то, что вам необходимо будет вручную применять данный манифест на вашем кластере.

Решение KCS, как и Luntry, реализует контроль сети, используя технологию eBPF. С помощью eBPF происходит мониторинг всех сетевых процессов на уровне ядра операционной системы. Для каждого контейнера можно сформировать профиль сетевых взаимодействий, в котором можно определить, какие входящие и исходящие сетевые соединения мы можем допустить. Для каждого типа соединения можно указать адрес назначения и порты, по которым происходит взаимодействие. Также вендор работает над визуализацией сетевой активности. Ориентировочно она будет доступна в q2 2024.

Что с контейнерной безопасностью в России?

Пятый пункт – права доступа.

В данном пункте больше функционала предлагает решение Luntry, которое отображает всю информацию по правам доступа с их связями и за счет разнообразия фильтров позволяет искать субъекты с «опасными» правами. Решение KCS пока в данном направлении не имеет функционала, но этот функционал планируется в 4 квартале 2024.

Что с контейнерной безопасностью в России?

Шестой пункт – интеграции.

Оба решения покрывают базовую потребность в интеграции со сторонними системами.

Что с контейнерной безопасностью в России?

Седьмой пункт – дополнительные возможности.

Немаловажным критерием оценки решений является то, какие дополнительные функции реализовал вендор. Вот некоторые из них, выделенные мной:

– Поскольку продукт выявляет уязвимости в образах контейнеров, нам как-то необходимо работать с этими уязвимостями. В решении KCS имеется возможность принять риск по уязвимости на определенный срок и добавить комментарий к этой уязвимости. В решении Luntry такой возможности нет.

– Возможность визуализации сущностей k8s. И решение KCS, и решение Luntry реализуют граф взаимодействий сущностей кластера, а также позволяют более детально ознакомиться с характеристиками этих сущностей.

– Возможность покрытия нескольких кластеров. Оба решения можно развернуть на нескольких кластерах k8s, тем самым обеспечив их безопасность.

Что с контейнерной безопасностью в России?

План развития решений на год

Что с контейнерной безопасностью в России?

Несколько слово о перспективах

Оба решения в области контейнерной безопасности демонстрируют впечатляющий прогресс. Luntry продолжает свое развитие, что подтверждает его стабильность и надежность. С другой стороны, KCS, начав свой путь относительно недавно, уже достиг высоких показателей и демонстрирует потенциал.

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

Таким образом, можно сказать, что и Luntry, и KCS представляют собой перспективные решения в области контейнерной безопасности, способные эффективно удовлетворить потребности пользователей. Главное - правильно подобрать подходящее именно для вас решение.

11
Начать дискуссию