Безопасность контейнерных сред, виртуализации на уровне операционной системы (Container Security)

Кто, как и зачем должен защищать контейнерную инфраструктуру?

Кто, как и зачем должен защищать контейнерную инфраструктуру?

Развитие рынка контейнерных технологий неизбежно увеличивает интерес к средствам защиты микросервисов. Какие инструменты и методы существуют сегодня в этой сфере, какие угрозы наиболее актуальны для контейнерной инфраструктуры, кто должен отвечать за защиту таких приложений — об этом и многом другом мы спросили собравшихся в студии Anti-Malware.ru представителей вендоров и интеграторов.

 

 

 

 

 

  1. Введение
  2. Что такое контейнеры
  3. Что угрожает безопасности контейнеров
  4. Управление секретами в контейнерных средах
  5. Традиционные средства защиты в контейнерных средах
  6. Насколько развит рынок контейнеризации
  7. Кто должен отвечать за защиту контейнеров
  8. Выводы

Введение

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

Спикеры онлайн-конференции AM Live:

  • Михаил Кондрашин, технический директор компании Trend Micro в СНГ, Грузии и Монголии.
  • Павел Коростелев, руководитель отдела продвижения продуктов компании «Код Безопасности».
  • Дмитрий Куракин, эксперт по информационной безопасности компании Netwell.
  • Антон Гаврилов, руководитель направления DevSecOps центра информационной безопасности компании «Инфосистемы Джет».
  • Денис Малыгин, технический директор компании Sysdig Inc.
  • Андрей Лаптев, инженер компании THALES.

Модератором дискуссии выступил Денис Батранков, консультант по новым стратегиям безопасности компании Palo Alto Networks.

Что такое контейнеры

В начале беседы модератор предложил определиться с терминологией и попросил спикеров онлайн-конференции рассказать, что такое контейнеры и для чего они используются. Как пояснили эксперты, контейнеры по своей сути являются маленькими виртуальными машинами, призванными упростить и ускорить процесс разработки. Понятие «контейнер» тесно связано с термином Cloud Native Applications — так называют небольшие независимые облачные сервисы, основанные на четырёх базовых элементах. Это парадигма DevOps, реализация конвейера CI / CD, разработка приложений в соответствии с архитектурой микросервисов, а также использование контейнеров и средств их оркестровки.

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

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

  • Сервис облачного провайдера.
  • Самостоятельно развёрнутый кластер Kubernetes.
  • Системы управления контейнерами, ориентированные на разработчиков.
  • Системы управления контейнерами, направленные на обеспечение удобства эксплуатации.

Рисунок 1. Основные элементы контейнерной среды

Основные элементы контейнерной среды

 

Говоря о жизненном цикле контейнера, наши спикеры выделили три главных этапа. Сначала контейнер создаётся или собирается, а также проходит функциональные и нагрузочные тесты. Далее следует этап хранения, когда контейнер находится в реестре образов, ожидая запуска. На третьей стадии происходит функциональная работа (runtime) контейнера.

 

Рисунок 2. Жизненный цикл контейнера

Жизненный цикл контейнера

 

Что угрожает безопасности контейнеров

В декабре 2020 года специалисты компании Prevasio исследовали около 4 млн контейнеров, хранящихся в DockerHub, и обнаружили, что 51 % из них содержит критические уязвимости, а ещё 13 % — опасные бреши. Внутри образов были обнаружены криптомайнеры, хакерские инструменты и другие вредоносные программы. Только пятая часть всех исследованных образов не содержит известных уязвимостей. В связи с этим мы попросили наших экспертов рассказать, какие угрозы и риски существуют для контейнеров.

Денис Малыгин: в первую очередь, говоря о безопасности контейнеров, следует вспомнить о безопасности инфраструктуры, в рамках которой они запускаются. Важна не только правильная настройка систем оркестровки, но и конфигурация прав доступа к узлу Docker или самого Kubernetes. Второй аспект — это безопасность самого контейнера, проверка тех образов, которые использовались при его сборке.

Антон Гаврилов: чем позже уязвимость идентифицирована, тем сложнее её устранить. В этом суть парадигмы Shift Left, которая рекомендует уделять внимание вопросам безопасности уже в начале жизненного цикла продукта — на этапе проектирования или сбора требований. В конвейер CI / CD также могут быть встроены автоматические проверки безопасности — например, на этапе тестирования.

Андрей Лаптев: непрерывная интеграция (CI) также может стать точкой уязвимости — например, при тестировании с использованием внешних сервисов может произойти утечка данных, взятых из актуальной продуктовой базы. Поэтому к безопасности контейнера надо подходить комплексно, внимательно анализируя каждый этап его жизненного цикла. Контейнеризация более остро поставила вопрос доверия — к среде, к коду, к приложениям, которые мы запускаем.

Павел Коростелев: для Cloud Native Applications существует четыре уровня безопасности — безопасность кода, сборки, развёртывания и эксплуатации. Каждый из них включает в себя несколько элементов, которым необходимо уделять внимание. Например, на уровне безопасности кода это — безопасная разработка, безопасное описание инфраструктуры и управление компонентами с открытым кодом. Вся контейнерная безопасность, по сути, сводится к контролю целостности, разграничению доступа к конвейеру и обеспечению эффективного обнаружения уязвимостей до выпуска продукта.

 

Рисунок 3. Управление безопасностью контейнеров

Управление безопасностью контейнеров

 

Дмитрий Куракин: безопасность должна применяться на всех уровнях жизненного цикла контейнера. Важно, чтобы ИБ-инструменты были интегрированы в разработку на как можно более раннем этапе, что позволит уменьшить количество потенциальных угроз.

Михаил Кондрашин: специалисты по информационной безопасности традиционно работают в режиме реального времени, блокируя проблемы «здесь и сейчас». Внедрение унифицированных инструментов развёртывания приложения (а контейнер — один из способов унификации этого процесса) даёт также возможность унифицированно проверить его до того, как оно будет развёрнуто. Таким образом контейнеры можно заранее протестировать на присутствие вредоносного кода и наличие уязвимых компонентов, выявить оставленные секреты, а также проанализировать на предмет нарушения политик.

По традиции во время прямого эфира мы задаём вопросы зрителям конференции. Первый опрос был направлен на выявление состава аудитории. Как оказалось, 62 % наших зрителей являются специалистами по информационной безопасности, а 13 % представляют ИТ-департамент. В продажах, маркетинге и других направлениях бизнеса работают 19 % опрошенных, и только 6 % респондентов являются разработчиками.

 

Рисунок 4. Ваша роль в организации

Ваша роль в организации

 

Большинство зрителей AM Live считает, что для контейнерных сред требуются специализированные средства защиты. На соответствующий вопрос утвердительно ответили 76 % респондентов. Не видят необходимости в отдельных инструментах безопасности для контейнеров 12 % опрошенных. Столько же затруднились с ответом.

 

Рисунок 5. Нужны ли для контейнерных сред специальные средства защиты?

Нужны ли для контейнерных сред специальные средства защиты?

 

Развивая тему безопасности контейнерных сред, модератор дискуссии поднял вопрос о целевых пользователях специализированных ИБ-продуктов. Предназначены ли соответствующие системы для специалистов по информационной безопасности, или же они ближе к разработчикам и пользователям? Отвечая на этот вопрос, эксперты продемонстрировали разное позиционирование своих решений. Кто-то, как в случае с Trend Micro, более ориентирован на ИБ-специалистов, другие (Palo Alto Networks) сконцентрированы на выстраивании процессов между службой информационной безопасности, администраторами кластеров и разработчиками, а третьи (Sysdig Inc) обеспечивают видимость контейнеров, позволяя понять, как приложение написано и работает.

Зрители онлайн-конференции высказали своё мнение на тему наиболее востребованных функций безопасности для контейнеров. Аудитория AM Live считает, что в первую очередь необходима возможность управления уязвимостями. Этот вариант выбрали 29 % опрошенных. Функция соответствия внутренним политикам безопасности набрала 20 % голосов, за управление правами доступа и реестр доверенных приложений проголосовали 17 % и 16 % соответственно. Возможность контроля трафика считают наиболее востребованной 10 % наших зрителей, а управление секретами — только 8 %.

 

Рисунок 6. Какие функции безопасности контейнерных сред необходимы вам в первую очередь?

Какие функции безопасности контейнерных сред необходимы вам в первую очередь?

 

Управление секретами в контейнерных средах

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

Как пояснили спикеры онлайн-конференции AM Live, в Kubernetes существует базовый механизм управления секретами. Для этого определён специальный тип данных, который позволяет не хранить ключи и пароли в открытом виде. Кроме этого, на рынке присутствуют отдельные продукты — наложенные средства управления секретами в контейнерных средах. Необходимость дополнительных инструментов обусловлена отсутствием в Kubernetes механизма управления жизненным циклом секретов. Ещё один важный момент, на котором заострили внимание эксперты, — по умолчанию секреты всё равно хранятся в текстовом файле, а значит, при развёртывании контейнерной среды в облаке они могут стать доступны провайдеру.

Отдельно стоит вопрос об управлении подключением секретов: как контролировать процесс использования ключей, решать вопросы доступа одного контейнера к секретным данным другого. Это — ещё один уровень проблемы, требующий разработки политик безопасности и других методик управления секретами. Дополнительная проблема — незрелость и высокая волатильность рынка контейнерной оркестровки. Эксперты подчеркнули, что понимание того, как правильно реализовать управление секретами, ещё не сформировано.

Традиционные средства защиты в контейнерных средах

Далее модератор дискуссии спросил, можно ли использовать традиционные средства защиты (DLP, системы контроля сетевого трафика, WAF, NTA и другие) для обеспечения безопасности в виртуальных кластерных сетях и контейнерах.

Дмитрий Куракин отметил, что традиционные системы NGFW не могут эффективно контролировать трафик в виртуальных кластерных сетях. Поэтому существуют специальные средства класса Next Generation Firewall внутри кластера — контейнеры, выполняющие мониторинг передаваемых данных.

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

Андрей Лаптев высказал мнение, что часть традиционных средств защиты безусловно можно использовать в контейнерных приложениях. Выбор метода обеспечения безопасности зависит от конкретной компании и состава уже имеющихся инструментов.

Михаил Кондрашин отметил, что если Kubernetes используется в качестве сервиса, то традиционные средства безопасности просто будет невозможно развернуть. Если же система оркестровки контейнеров размещается на собственной аппаратной базе, то для её защиты можно использовать весь спектр инструментов.

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

Антон Гаврилов не согласился с тезисом, что защиту контейнерной среды можно построить только на универсальных инструментах. Эксперт считает, что в ряде случаев можно использовать стандартные средства безопасности, адаптированные под работу с виртуальными кластерами. Однако некоторые задачи можно решить только специализированными ИБ-инструментами для контейнеров.

Насколько развит рынок контейнеризации

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

В частности, мы выяснили, что 17 % респондентов пока вообще не планируют внедрять инфраструктуру контейнеров, а 27 % проявляют интерес к этим технологиям, но конкретных работ по их внедрению не ведут. На стадии пилотного проекта находятся 14 % респондентов, а 16 % ответивших развернули несколько второстепенных приложений. В активной фазе эксплуатации контейнеров находится менее трети опрошенных, из которых 14 % развернули критически важные для бизнеса приложения, а 12 % — все.

 

Рисунок 7. Внедрена ли в вашей организации инфраструктура контейнеров?

Внедрена ли в вашей организации инфраструктура контейнеров?

 

Что же касается средств защиты, то 21 % наших зрителей используют штатные механизмы оркестратора, 8 % пользуются наложенными инструментами безопасности, а 30 % применяют комбинированный подход. Вообще не защищает контейнерные среды 41 % опрошенных.

 

Рисунок 8. Защищаете ли вы кластер среды контейнеризации?

Защищаете ли вы кластер среды контейнеризации?

 

Кто должен отвечать за защиту контейнеров

В заключение беседы мы попросили экспертов высказать свое мнение на тему того, кто в организации должен заниматься защитой контейнерной инфраструктуры — специалисты по информационной безопасности или разработчики? Что должны знать и уметь эти люди, а также кто выделяет деньги на внедрение систем защиты для контейнеров?

Спикеры конференции отметили, что в случае с контейнерами привычные роли команд меняются и действует принцип «кто разработал, тот и владеет». Механизмы управления средствами защиты отдаются разработчикам, однако отдельная команда ИБ-специалистов устанавливает правила безопасности и занимается расследованием инцидентов. Департамент, отвечающий за информационную безопасность, чаще всего выступает заказчиком внедрения средств защиты контейнерных технологий. Иногда к этому процессу подключаются разработчики и почти никогда — команда эксплуатации (operation team).

Что же касается знаний и навыков, необходимых ответственному за безопасность контейнеров специалисту, то среди главных «скиллов» эксперты AM Live назвали понимание инфраструктуры, знание Linux и Kubernetes, а также желание учиться и развиваться.

Выводы

Очередной выпуск конференции AM Live позволил комплексно взглянуть на проблему безопасности контейнерной инфраструктуры. В студии Anti-Malware.ru собрался сильный состав экспертов, не понаслышке знакомых с проблемой безопасности таких приложений. Спикеры, представлявшие разных вендоров и системных интеграторов, продемонстрировали широкий спектр мнений по ключевым вопросам защиты контейнеров, а также разное видение этого рынка.

Чтобы не пропускать новые выпуски онлайн-конференции AM Live, рекомендуем подписаться на наш YouTube-канал и включить уведомления о публикации новых материалов. До новых встреч в прямом эфире!

Полезные ссылки: 
AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новые статьи на Anti-Malware.ru