Kubernetes превратился в оглушительный успех среди разработчиков корпоративного ПО. Это побуждает злоумышленников все чаще атаковать соответствующие инсталляции с помощью специально разработанных эксплойтов. При этом злоумышленники становятся все лучше в сокрытии своего вредоносного ПО, обходе (тривиальных) мер безопасности и латеральном перемещении по сетям для нанесения дальнейшего ущерба.
Как демонстрируют Kubernetes-ловушки, созданные поставщиками решений в области безопасности, такими как Palo Alto, Wiz и Aqua Security, в худшем случае проходит всего около двадцати минут, прежде чем будут предприняты первые попытки атаки на недавно созданные кластеры Kubernetes. При этом сканируются известные TCP/IP-порты, которые используются, например, контейнерами для внутренней связи. Подобные предварительные сканирования, таким образом, происходят ежедневно десятки раз — что указывает на то, что злоумышленники делают ставку на автоматизированное компрометирование.
Хотя существуют определенные лучшие практики в области безопасности Kubernetes, они не получили широкого распространения. Кроме того, они иногда требуют специальных знаний, инструментов и тактик, которые существенно отличаются от того, что необходимо для защиты обычных облачных инстансов или виртуальных машин. В данной статье сначала подробно анализируется ландшафт угроз Kubernetes. Затем вы узнаете, как (лучше) защитить ваши кластеры.
Ландшафт угроз Kubernetes
О том, насколько сложны взаимосвязанные потоки данных, зависимости и процессы в среде Kubernetes, рассказывает статья в блоге Cloud Native Computing Foundation (CNCF). Все компоненты должны быть защищены собственными методами для того, чтобы:
-
шифровать связь,
-
надлежащим образом аутентифицировать контейнеры, репозитории хранения данных и пользователей, а также
-
защищать контейнеры от эксплойтов.
Эта диаграмма (основа взята у CNCF, интерпретация Trend Micro) позволяет представить, насколько крута кривая обучения, когда дело доходит до проникновения в сложную сеть взаимосвязей Kubernetes.
Ассаф Мораг, бывший аналитик данных в Aqua Security, объясняет, почему это так: «Сложность этой архитектуры была создана намеренно, поскольку Kubernetes спроектирован так, чтобы предоставить пользователям свободу, открытую архитектуру и модель безопасности, открытую по умолчанию». Однако, как пишут специалисты Palo Alto в своем руководстве “Полное руководство по безопасности Kubernetes” (скачивание в обмен на данные), это не повод для отчаяния. Тот факт, что Kubernetes является широко распространенной платформой со множеством интеграций, облегчает разработку автоматизированных, систематических процессов, которые делают безопасность ядром процесса сборки и развертывания Kubernetes.
Однако эта присущая Kubernetes открытость также означает: не существует универсального набора инструментов безопасности для решения этой задачи. Поэтому в беседе с экспертами по кибербезопасности мы выяснили, где, по их опыту, кроется самая большая проблема в вопросах безопасности Kubernetes. К сожалению, нам не пришлось долго искать. Ведь часто при рассмотрении контейнеров базовые меры сетевой безопасности остаются без внимания. Например, упускается:
-
сохранение в тайне ключей шифрования.
-
установка сложных паролей.
-
применение различных схем сегментации.
-
следование принципу наименьших привилегий.
С последним базовым упущением связано еще одно, как отмечает Натаниэль Квист, менеджер по разведке угроз в облаке в Palo Alto Networks: «Внедрение ролевого доступа может оказаться более сложным, чем в других облачных приложениях. Это связано с чрезвычайно сложной моделью Kubernetes».
Аналитики Aqua Security в апреле 2023 года зафиксировали одну из первых атак с использованием бэкдоров на кластеры Kubernetes через ролевое управление доступом (RBAC). По данным экспертов, она была нацелена как минимум на шестьдесят различных кластеров и привела к успешной установке вредоносного ПО для майнинга криптовалют. При этом права доступа были изменены таким образом, что вредоносное ПО получило права администратора.
Шай Беркович, исследователь угроз в Wiz, комментирует: «Эти атаки, связанные с криптомайнингом, набирают обороты. Прежде всего потому, что кластеры Kubernetes идеально подходят в качестве высокоэффективных платформ для выполнения таких рабочих нагрузок». В качестве примера эксперт по безопасности приводит кампании по атакам с использованием криптомайнинга «PyLoose» и «newhello», выявленные его компанией. Однако вредоносное ПО для майнинга криптовалют в связи с Kubernetes не является новым явлением. Пионер в области электромобилей Tesla уже в 2018 году подверглась заражению вредоносным ПО, которое занималось майнингом криптовалют. Причиной, по-видимому, была недостаточно настроенная панель управления Kubernetes.
Венкат Тирувенгадам, генеральный директор DevOps-специалиста DuploCloud, добавляет: «Предоставление пользователям доступа к API Kubernetes с соблюдением принципа наименьших привилегий — сложная, но решающая задача. Создание стандартизированного и автоматизированного метода обеспечения этого доступа является важнейшим шагом для обеспечения безопасности сред Kubernetes».
Другая проблема возникает из-за распределенной архитектуры Kubernetes, как объясняет Рани Ознат, эксперт по безопасности из Backslash Security: «Даже когда речь идет о коде, слишком много поваров портят бульон. Могут быть отдельные команды для эксплуатации кластеров, управления конвейерами разработки и обеспечения контроля доступа. Если эти команды не общаются последовательно, может возникнуть дефицит управления (Governance)».
По словам Ами Лутвака, технического директора Wiz, в такой установке совместное использование репозиториев кода также может быть проблематичным: «Это может способствовать эффективности, но также несет риски, если общий код будет скомпрометирован. Команды, работающие раздельно, должны выполнять свой код в отдельных кластерах. Это далеко не является общепринятой практикой».
Однако, возможно, самой большой проблемой в плане безопасности Kubernetes является то, что он может мгновенно автоматизировать атаки на цепочку поставок — особенно в связи с раскрытием конфиденциальной информации и ключей. Исследователи безопасности из Aqua Security смогли выявить сотни наборов данных, раскрывающих такие секреты, в ходе своих исследований. Для этого эксперты искали учетные данные через GitHub API, как они подробно описывают в подробной статье в блоге. «Существует явная потребность в инструментах с открытым исходным кодом и сканерах секретов для повышения возможностей обнаружения в отношении закодированных секретов», — заключают эксперты Aqua.
5 лучших практик против эксплойтов Kubernetes
Эксперты, с которыми мы общались, рекомендуют следующие лучшие практики, чтобы предотвратить компрометацию кластеров Kubernetes:
-
всеобъемлющий ролевой контроль доступа, разделяющий сетевые политики и пространства имен пользователей;
-
меры безопасности типа «In-Cluster Separation» (разделение внутри кластера);
-
управление ключами и секретами (сервисы);
-
регулярный аудит кластеров для выявления и устранения ошибок конфигурации;
-
соответствующее обучение сотрудников и разработчиков.
«Шпаргалка по безопасности Kubernetes» от OWASP содержит множество других, очень специфических рекомендаций для устойчивой защиты ваших кластеров.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – David Strom




