k8security | Неотсортированное

Telegram-канал k8security - k8s (in)security

10261

Канал о (не)безопасности Kubernetes + микросервисных, контейнеризированных приложений. Ведет команда www.luntry.ru Вопросы, идеи, предложения => @Qu3b3c https://knd.gov.ru/license?id=673ddbc21039886b1d03b7ce®istryType=bloggersPermission

Подписаться на канал

k8s (in)security

Продолжаем тему обучающих материалов о сети в Kubernetes и сегодня у нас замечательный лонгрид "Kubernetes networking: service, kube-proxy, load balancing".

Читать полностью…

k8s (in)security

Уже давно я задавался вопросом, но все никак не доходили руки разобраться, зачем и для чего вообще нужен встроенный Admission Controller под названием ImagePolicyWebhook. В принципе, из названия можно понять для чего он нужен, но вот какой в нем есть смысл и преимущество по сравнению с ValidatingAdmissionWebhook было непонятно. Поиски привели к прекрасной статье "Kubernetes Image Policy Webhook Explained" (репозиторий со всем кодом тут) в которой они оба и сравниваются.

По итогу в эру PolicyEngine движков этот механизм явно должен кануть в Лету, так как на сегодняшний день никаких преимуществ он не дает.

P.S. Всем хороших выходных!

Читать полностью…

k8s (in)security

Посмотрели недавно доклад с хайповым названием "Coping with Zero-Days with Cilium Tetragon". По факту один маркетинг, но давайте разбираться со всем по порядку.

1) Из описания доклада "When a new CVE and its patches are announced, it's called a "zero day"" <- НЕТ! Это называется 1day, так патч уже есть. 0day как раз когда патча нет.
2) Чтобы ответить на вопрос "Is the affected version built into any of our images?", которым задается автор, не нужен сбор информации в runtime через eBPF. Достаточно SBOM и информация его распределениям по образам, далее узнать, где запушен с ним Pod находится в поле Status.
3) Допустим, что хотим узнавать в runtime. Для этого авторы подписываются на функцию security_mmap_file и при ее вызове сравнивают ее аргумент с версиями уязвимых библиотек "liblzma.so.5.6.0" и "liblzma.so.5.6.1". И получаем сразу 3 странных момента: это дополнительный оверхед при старте всех приложений, если приложение уже загрузило эту библиотеку, то ничего обнаружено не будет, и чтобы поймать 0day нужно заранее знать имена библиотек, что, конечно, невозможно для реальных сценариев ловли 0day.
4) "block policy" <- на скриншоте видно, что библиотека уже загрузилась и уже после отправляется процессу SIGKILL. В итоге, это не блокировка, а реакция и непонятно, что успел сделать тот код.
5) "Low Overhead" <- все красиво, когда политика одна. Ситуация разительно ухудшается при сложных политиках и при их большом количестве. Банально нужно больше проверок проделать и все это делается прямо на клиенте. То есть потребление сенсора будет расти пропорционально количеству политик/проверок. Ничего не бывает бесплатно.

Читать полностью…

k8s (in)security

Ещё двумя уязвимостями пополнился Kubernetes CVE Feed, а именно CVE-2024-9486 и CVE-2024-9594: VM images built with Kubernetes Image Builder use default credentials.

В результате эксплуатации уязвимостей неавторизованный пользователь может получить доступ по ssh к Node, использующий образ VM, созданный с помощью Kubernetes Image Builder.

Найденным уязвимостям были присвоены оценки 9.8 и 6.3 по CVSS.

В качестве мер митигации предлагается пересобрать образы, используя новую версию Image Builder. До обновления эту уязвимость можно митигировать, отключив учетную запись builder на затронутых VM:


usermod -L builder

Читать полностью…

k8s (in)security

21 октября на конференции Industrial++ 2024 наша команда Luntry совместно с Моной Архиповой представят доклад «Безопасность от виртуальных машин до контейнеров и обратно».

Департаменты IТ и ИБ уже приняли, адаптировали виртуализацию и виртуальные машины в свой технологический стек и процессы. Но время неумолимо бежит вперед и приводит индустрию к контейнеризации, контейнерам, оркестраторам (Kubernetes).

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

Читать полностью…

k8s (in)security

Capslock - новая OpenSource разработка от компании Google, позволяющая проводить capability analysis (анализ возможностей) для Go пакетов (прямых и транзитивных зависимостей). Результатом его работы является перечень привилегированных операций, которые может делать данное ПО. На сегодняшний день их 15 штук, такие как:
- CAPABILITY_EXEC
- CAPABILITY_ARBITRARY_EXECUTION
- CAPABILITY_SYSTEM_CALLS
- CAPABILITY_FILES
- CAPABILITY_NETWORK
- ...

Как не трудно догадаться это очень полезно в тематике supply chain безопасности. И это сильно смахивает на идею с Android permissions ;) Как по нам за такими штуками будущее - когда четко понимаешь что запускаешь.

Также уже встроили в портал deps.dev (общаться по API), можно делать дифы (capslock-git-diff) между версиями пакетов и кастомизировать собственные категории!!!

Подробнее об инструменте можно узнать из презентации "Capslock: Escaping Bad Dependencies" c Open Source Summit Europe 2024.

Читать полностью…

k8s (in)security

В этом году на Open Source Summit North America 2024 в рамках ContainerCon был замечательный доклад "Reinventing Container Linux for the Wasm Era (and More) with System Extensions" (WASM в названии больше для хайпа, в самой презе всего ничего слайдов о нем).

Данный доклад продолжает и расширяет одну из наших любимых тем - container-specific OS! А расширяет он эту тему тем что авторы предлагают следующий шаг за данной категорией - Composable Linux.

По сути вся идея крутится вокруг механизма systemd-sysext (еще тут хорошо описано), а демонстрируется на примере дистрибутива Flatcar, в котором это уже все сделали. Примеры для него можно посмотреть тут и там есть: kubernetes, docker, nvidia-runtime, wasmtime, ollama и т.д.

P.S. Про Flatcar был замечательный доклад на нашей прошлогодней конференции БеКон.

P.S.S. В OS Talos это присутствует под названием Talos Linux System Extensions.

Читать полностью…

k8s (in)security

В эту пятницу хотелось бы немного поразмышлять на тему AI.

В последнее время все чаще на различных конференциях/подкастах/статья можно встретить прогноз/желание/стремление, что AI-ассистенты заменят начинающих/junior специалистов". В логике того что этот уровень знаний текущие наработки уже практически тянут. При этом под специалистами тут у нас и DevOps, DevSecOps, AppSec, Developers и т.д.

Но почему-то в этот момент практически никто не задумается о том а как тогда будут появляться новые middle (в последствии senior) специалисты ?! Университеты или online-курсы сразу начнут их выпускать?!

Все должны понимать базу, без базы никуда ... С нее надо начинать.

Читать полностью…

k8s (in)security

Недавно с большим удивлениям для себя открыл что для container-specific OS тоже есть CIS Benchmarks! Конкретно сейчас это есть для: Bottlerocket и Talos. В глаза сразу сильно бросается разница в количестве пунктов по сравнению с ОС общего назначения. В то же Talos их всего около 20. Думаю, что даже и не стоит говорить какой тип ОС проще довести до более защищенного состояния, но есть своя специфика ;)

Читать полностью…

k8s (in)security

Если вы запускаете ML нагрузки в своих Kubernetes кластерах, то наверняка слышали про такие решения как NVIDIA Container Toolkit и GPU Operator.

Так вот совсем недавно исследователи из WIZ обнаружили уязвимость в этих продуктах, благодаря которой потенциальный злоумышленник может совершить побег из контейнера. Если быть точным и углубиться в детали, то для эксплуатации атакующий должен запустить нагрузку с заранее заготовленным уязвимым docker image. После этого у него появляется возможность полностью примонтировать файловую систему хоста. Уязвимости присвоен CVE-2024-0132.

Необходимые патчи выпущены в релизах 1.16.2 и 24.6.2 для NVIDIA Container Toolkit и NVIDIA GPU Operator соответственно.

Читать полностью…

k8s (in)security

На нашем сайте стали доступны слайды и видеозапись вебинара "С чего начать защиту кластера Kubernetes?". Там мы постарались ответить на вопросы:
— Какие минимально-необходимые меры принимать для защиты кластера в моменте;
— Как постепенно наращивать уровень безопасности;
— Какие минимальные действия и вложения могут дать наибольший результат;
— Как не пропасть в рутине исправления множества уязвимостей.

При этом мы достаточно подробно рассмотрели с чего стоит начать в каждом из 7 доменов безопасности Kubernetes в самом начале пути (и немного последующие шаги). Как мы уже говорили на самом вебинаре какой из доменов начинать делать первым зависит от рассматриваемой вашей компании модели угроз, модели нарушителе и поверхности атаки. Это каждый раз уникально и зависит от целей и задачей того или иного кластера. Одно дело это кластер с приложениями, смотрящими в сеть интернет, другое дело build кластера, ML-кластера, кластера в закрытом контуре и т.д.

И как всегда в комментариях будем рады ответить на любые вопросе по данной теме.

P.S. Спасибо всем кто пришел и задавал вопросы!

Читать полностью…

k8s (in)security

Сегодня мы хотим поделиться с вами двумя крутыми wiki страницами от нашего товарища Ильи Шапошников:

1) Docker escape - статья посвящена повышению привилегий из докер-контейнера в зависимости от предоставленного доступа. К этому также есть готовые лабы.
2) Kubernetes pentest - статья посвящена тестированию на проникновение Kubernetes.

P.S. Сегодня в 11:00 по Мск будет наш вебинар/стрим на тему "С чего начать защиту кластера Kubernetes?".

Читать полностью…

k8s (in)security

Небольшая, но интересная статья "What is the difference between a root process and a containerized root process?" рассказывает о базовых понятиях и принципах изоляции контейнера. Также автор не забывает упоминуть о важности запуска контейнера не из под root.

Будет полезно для всех, кто начинает разбираться в container security.

Читать полностью…

k8s (in)security

Сегодня в 15:00, в Санкт-Петербурге, в рамках конференции NeoQUEST-2024 наша команда Luntry выступит с докладом “Экскурсия по матрицам угроз для контейнеров и Kubernetes”. Подробно поговорим об основных матрицах угроз для контейнеров и K8s, а также проведем их сравнение друг с другом и поможем разобраться в запутанных и интригующих процессах, происходящих внутри.

P.S. – Зарегистрироваться можно по ссылке.

Читать полностью…

k8s (in)security

Коротенькая заметка "What Determines if a Kubernetes Node is Ready?", объясняющая по каким признакам определяется, что Node готова. Из нее вы узнаете какие 7 условий должны выполниться успешно, чтобы получить заветное Ready.

Читать полностью…

k8s (in)security

Understanding DNS resolution on Linux and Kubernetes – неплохая статья от Jérôme Petazzoni, повествующая о возможных сложностях резолва DNS имён в Kubernetes и Linux в целом.

Читать полностью…

k8s (in)security

Если вы по какой-то причине до сих пор используете обычные базовые образы (вроде debian или ubuntu) и не переходите на distroless, то статья "The vulnerability puzzle: understanding base images and their relationship to CVEs" как раз для вас.

Статья рассматривает уязвимости базовых образов контейнеров, которые могут содержать известные CVE. Отдельное внимание уделено зависимостям, которые могут быть точками входа для атак.

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

Читать полностью…

k8s (in)security

Недавно наша команда, в лице Сергея Канибора, приняла участие в подкасте [SafeCode Live]"Как взломать Kubernetes?".

На подкасте с нашими хорошими товарищами – Алексеем Федулаевым (MTS Web Services) и Вадимом Шелестом (Wildberries) мы обсудили:

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

Ну и конечно же поделились интересными историями с пентест-проектов =)

Выпуск доступен на YouTube.

Слушайте подкаст на других платформах:
- Apple Podcasts 
- Яндекс Музыка
- ВКонтакте

Читать полностью…

k8s (in)security

Два классных репозитария для глубокого понимания и изучения принципов работы двух важнейших компонентов любого Kubernetes кластера - CNI (Container Network Interface) и CRI (Container Runtime Interface):
1) Demystifying CNI
2) Demystifying CRI

Автор заверяет, что потом вы сможете написать их с нуля) Данный тезис мы не проверяли, но все объясняется очень низкоуровнево!

Читать полностью…

k8s (in)security

Заканчиваем эту неделю новостью, связанную с обновлением документации Kubernetes по части security. А именно новому разделу – Seccomp and Kubernetes.

В этой небольшой статье рассказывается об основах API Seccomp профилей в Kubernetes, и то как они сопоставляются с syscalls.

Читать полностью…

k8s (in)security

Большая и наглядная статья "Shielding Your Kubernetes Network: Mastering iptables for Enhanced Security" рассматривает использование iptables для повышения сетевой безопасности в Kubernetes кластерах.

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

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

Читать полностью…

k8s (in)security

Начинаем эту неделю с неплохой статьи "Kubernetes RBAC Permissions You Might Not Know About, but Should". Она поможет разобраться с опасными RBAC правами в Kubernetes, а также разъяснит потенциальный импакт от использования таких прав.

Конечно, в статье описаны далеко не все такие права. Так например, у нас в Luntry используется около 40 правил для проверки опасных прав RBAC. Кроме этого есть возможность создавать свои правила.

Читать полностью…

k8s (in)security

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

Читать полностью…

k8s (in)security

2 октября в 16:30 на AM Life Plus, посвящённой безопасной разработке, DevSecOps в рамках "AM TALK: ТЕХНОЛОГИИ БЕЗ СТЕРЕОТИПОВ" в стиле TEDx наша команда раскроет тему "Как контейнеры и Kubernetes меняют ландшафт угроз". По рассуждаем что нам принес этот новый дивный мир)

Читать полностью…

k8s (in)security

30 октября на конференции SafeCode 2024 Autumn пройдет воркшоп “Готовим контейнеры полезно и вкусно”. Воркшоп проведут Анатолий Карпенко (Luntry) (также известный как) и Алексей Федулаев (МТС Web Services) (также известный как). Там точно будет полезно, весело и задорно ;)

Читать полностью…

k8s (in)security

Команда исследователей из Datadog Security Research раскрыла новую вредоносную кампанию, нацеленную на Docker и Kubernetes. Как это обычно принято у злоумышленников – они масштабно запускали майнеры, на этот раз, используя мисконфиги в kubelet.

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

Более подробно об исследовании можно почитать по ссылке тут.

Читать полностью…

k8s (in)security

16-17 сентября прошел Linux Security Summit Europe 2024. С записями можно ознакомиться тут (1,2).

Наше внимание в первую очередь привлек доклад "Restricting Unprivileged User Namespaces in Ubuntu", с которым настоятельно рекомендуем познакомиться. Проблема безопасности Unprivileged User Namespaces в этом году прям очень популярна - ранее на CloudNativeSecurityCon North America 2024 был доклад "User Namespaces in Kubernetes: Security and Flexibility". А еще ранее на нашей конференции БеКон 2024 мы представляли доклад "Linux user namespace в чертогах Kubernetes". Круто что мы в выборе темы доклада попали прям в такую актуальную тему для всего Мира (значит понимаем в трендах) =)

P.S. Мы уже начали заниматься БеКон 2025. И если у вас или у вашей компании есть желании в этом поучаствовать, то самое время задуматься о партнерстве ;)

Читать полностью…

k8s (in)security

Замечательная визуализация формата имени образа контейнера от Ивана Величко!

Если для вас это было магией, то после такого все встанет на свои места. Очень рекомендуем следить на постами Ивана - там много всего интересного.

Читать полностью…

k8s (in)security

Сегодня мы хотим рассказать о kubelogin – это kubectl плагин для Kubernetes OpenID Connect аутентификации. Также известен как kubectl oidc-login.

Принцип его работы довольно простой: при запуске kubectl, kubelogin открывает страницу, где можно залогиниться через провайдера. Получив токен от провайдера, он передается в kubectl и используется для доступа в Kubernetes API.

Читать полностью…

k8s (in)security

Всем, привет!

Наша команда Luntry продолжает расти и развиваться вместе с клиентами. И мы снова готовы пополнить наши ряды классными Go-разработчиками Middle и Senior уровня ;) Откликнуться можно тут или написать контакту в профиле канала. Если вам или вашим друзьям интересно решать не тривиальные задачи связанные с высокими нагрузками и информационной безопасности в области контейнеризации и Kubernetes, то вам определённо к нам!

Читать полностью…
Подписаться на канал