k8s (in)security – Telegram
k8s (in)security
12.1K subscribers
1.01K photos
38 files
1.56K links
Канал о (не)безопасности Kubernetes + микросервисных, контейнеризированных приложений.

Ведет команда www.luntry.ru

Вопросы, идеи, предложения => @Qu3b3c

https://knd.gov.ru/license?id=673ddbc21039886b1d03b7ce&registryType=bloggersPermission
Download Telegram
Если вы собираетесь сделать так чтобы ваш Kubernetes кластер соответствовал требования PCI DSS, то вы ,конечно, в курсе, что PCI Security Standards Council выпустил документ "Guidance for Containers and Container Orchestration Tools". Также вы возможно видели ряд обзоров и анализов данного документа с маппингом на Kubernetes на моем канале тут и тут. Но исследователь Rory McCune пошел дальше и начал детально рассматривать каждую из тем.

На сегодняшний день из 16 тем уже автор рассмотрел 5:
- Authentication
- Authorization
- Workload Security
- Network Security
- PKI

Вообще настоятельно рекомендую смотреть за данной серией постов, да и вообще за блогом автора. Он один из немногих, кто создает оригинальный контент в области Kubernetes безопасности.
🔥7👍4👏1
Организаторы конференции KazHackStan 2022 выложили в открытый доступ записи докладов с конференции и теперь можно посмотреть мой доклад "Специфика расследования инцидентов в контейнерах" (сами слайды тут).

Также отмечу очень крутой и для многих на этом канале полезный доклад своего хорошего товарища Эльдара "kyprizel" Заитова "Вызовы безопасной гибридной облачной инфраструктуры".

P.S. В комментариях можно задавать вопросы по докладам как мне, так и Эльдару ;)
👏6🔥2🤩2
Недавно наткнулся на вот такую забавную картинку. С первого или неопытного взгляда она может показаться просто юмористической. НО она под собой имеет и технический аспект связанный с Kubernetes.

Те кто смотрел мой доклад "Заметки путешественника между мирами: ИБ, ИТ" или был на моем тренинге знают о таком подходе к обеспечению безопасности как Moving target defense (MTD), который мне очень импонирует. А те кто внимательно читает мой канал могут вспомнить пост про Kubernetes operator под названием descheduler, который может помочь в реализации данного подхода.

Так что в каждой шутке есть доля шутки ;)
🔥17🤣5👍1👎1
Команда Kubernetes информирует, что в релизе 1.26 он не только поднаберет в весе, но и значительно скинет за счет отказа от поддержки Container Runtime Interface (CRI) версии v1alpha2. (В первый раз я дочитал сообщение до сюда и ужаснулся). В итоге, останется поддержка только версии v1. Я уверен, что такой отказ от legacy пойдет только на пользу системе.
🔥10👍1
Периодически компании обращаются с вопросом о возможности публиковать на данном канале вакансии связанные с `Kubernetes security`. И компаниям хочется помочь, и чтобы рекламы было минимум. Хочу узнать ваше мнение. Быть или не быть постам с вакансиями?
Final Results
25%
Нет
50%
Да, но с рядом условий/ограничений, чтобы было не часто
25%
Да
На скриншотах есть проблема!

Сегодня мы рассмотрим одну из популярнейших проблем при использовании политик от Policy Engine, что наша команда встречаем на своем опыте во время аудитов и пентестов Kubernetes кластеров.

Речь пойдет о политике, отвечающей за проверку разрешенных image registry. В OPA Gatekeeper обычно она базируется на ConstraintTemplate под названием K8sAllowedRepos, а в Kyverno на базе restrict-image-registries или advanced-restrict-image-registries (о них я писал тут).

Если вы не догадались, то проблема на скриншотах заключается в том, что в путях имен image registry отсутствует символ "/", без него данные политики достаточно просто обходить, подняв у себя домен желаемый_путь.evil.domen.com. Данные проверки обычно работают на базе инструкций startWith(), contains() и наш вредоносный домен будет удовлетворять данным требованиям ;)

Печально что эти примеры политик широко распространены в интернете и многие их бездумно копируют к себе. Будьте аккуратнее копируя из интернета =)
🔥13👍3😱3
Все кто занимается или задумывается о supply-chain безопасности в Kubernetes (и на самом деле не только в нем) знают проект Sigstore.

Но мало кто знает, что у данного проекта есть собственный admission controller под названием policy-controller, который может применять политики к ресурсам на основании supply-chain metadata от утилиты cosign. Единственное учтите, что эта часть проекта Sigstore новая и пока находится в активной стадии разработки.

Данный контроллер позволяет проверять:
- Подписи образов
- Аттестацию связанных с образом ресурсов (SBOM и т.д.)

Для всего это требуется создать свою политику, которая из себя представляет Custom Resource типа ClusterImagePolicy.

В этой политики можно описать:
- К каким образам и в каких namespaces, pods и из каких image registry это применяется
- Что проверить, например, подпись образа, наличие SBOM или его содержимое (логика пишется на CUE)!
- Реакцию warn|allow|deny (по умолчанию deny)

На скрине политика, что не пропустит образы с уязвимостью Text4Shell
👍4
Threat Model Examples - Github проект, представляющий из себе коллекцию различных примеров моделей угроз. Среди которых наиболее интересные нам:
- Kubernetes
- Docker
- Container
- Supply Chain
- Cloud Computing
- CI/CD Pipeline

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

P.S. Сегодня в 16:00 пройдет онлайн-встреча Программного комитета конференции DevOps Conf 2023 с потенциальными спикерами и активистами. Участие свободное, только нужно зарегистрироваться. CFP уже открыто ;)
Давненько ничего не было слышно про уязвимости в Kubernetes?!
Получите - распишитесь за целых 2 штуки!

CVE-2022-3162: Unauthorized read of Custom Resources
Уязвимость в kube-apiserver и имеет рейтинг Medium (CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N).

Пользователь авторизованный на list или watch одного типа namespaced custom resource во всем кластере - может читать custom resources других типов из той же API group без авторизации. На пример, пользователь при list ресурса VirtualService на кластере из networking.istio.io, сможет читать и Gateway.

CVE-2022-3294: Node address isn't always verified when proxying
Уязвимость в kube-apiserver и имеет рейтинг Medium (CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H).

Пользователь с возможностью манипуляций с Node и node/proxy, может через последний обратиться к Nodes из API server's private network. На пример, можно по обращаться к Control plane у облачного провайдера, хотя он не в вашем доступе.


Все поддерживаемые версии (1.22-1.25) получили патч, другие в пролете.
👍6🔥2👏2
Компания Lyft опубликовала статью "Internet Egress Filtering of Services at Lyft", поделившись своим опытом об использовании Envoy как Explicit CONNECT и Transparent Proxy.

Как я думаю многие знают в Kubernetes нет ресурса Egress комплементарно дополняющего бы Ingress ресурс и с исходящим трафиком надо в итоге так или иначе мудрить (говорили об этом тут).

Тут как раз ребята рассказывают как они сделали Internet Gateway (IGW), принимая во внимание зашифрованный TLS трафик и возможность эксфильтрации данных через DNS c zero downtime.

В итоге, у них по умолчанию используется explicit proxy, а transparent proxy как запасной для библиотек, что не подчиняются explicit proxy.

Также там поднимаются такие вопросы как:
- Edge Internet Gateway vs Sidecar
- Rollout Strategy
- Developer Workflow
- HTTP Client Library Behaviors
- Next Steps: Private Subnets
🔥17👍4
Стали доступны записи докладов (287 штук - смотреть не пересмотреть) основной программы KubeCon + CloudNativeCon North America 2022! Как я писал ранее, до этого были доступны только доклады специализированных сессий. В основной программе как всегда очень много интересных докладов и, конечно, связанных с ИБ хватает.

Я для себя уже выделили следующие:
- "Running Isolated VirtualClusters With Kata & Cluster API"
- "Zero Trust Supply Chains with Project Sigstore and SPIFFE"
- "Using the EBPF Superpowers To Generate Kubernetes Security"
- "Kubernetes to Cloud Attack Vectors: Demos Inside"
- "Untrusted Execution: Attacking the Cloud Native Supply Chain"
- "The AdminNetworkPolicy API: A New Way for Cluster Admins To Enforce Security"
- "Multi-Tenancy: Tips, Tricks, Tools And Tests"
- "How the Argo Project Transitioned From Security Aware To Security First"
- "Securing the IaC Supply Chain"
- "Run As “Root”, Not Root: User Namespaces In K8s"
- "Armoring Cloud Native Workloads With LSM Superpowers"
👍12🌭32🔥2
Недавно узнав о policy-controller, я очень сильно проникся данным admission controller и решил поглубже копнуть про него. В итоге я нашел замечательный вебинар с названием "Sigstore Policy Controller (and creating your own policy)", где очень доходчиво рассказывают и о принципе работы и о там как писать собственные политики - ClusterImagePolicy. Помимо видео, в репозитарии авторов доступны и слайды и весь используемый код из live demo и используемые команды. В общем это отличная отправная точка для погружение в данный инструмент ;)
🔥61👎1🥰1😢1🤮1🐳1
Хочу напомнить (кого-то познакомить) с двумя очень новыми и важными для безопасности Kubernetes фичами:
- KubeletInUserNamespace (Alpha 1.22)
- UserNamespacesStatelessPodsSupport (Alpha 1.25)

По тематике первой фичи рекомендую обратиться к ресурсу Rootless Containers, где данный вопрос очень подробно рассматривается. А по тематике второй фичи можно смело обратиться к исходникам Kubernetes, а именно к реализации userns_manager в kubelet. Все это в общем для тех кто хочет копать глубже чем просто установка параметров при запуске kubeapiserver ;)
🔥4👍1
Замечательная маленькая заметка "Modern containers don't use chroot" с обилием перекрестных ссылок на другие материалы (типа 1) по принципу работы современных контейнеров раскроет страшную тайну, что в контейнерах используется не chroot, а pivot_root. Как, зачем и почему уже в самой статье, но естественно это связано с security причинами ;)
👍3
Немного анонсов на ближайшее время, где я приму участие в конце этого года:
1) 23 ноября на ИБ Митап в Москве с докладом "Истории факапов ИБ при защите Kubernetes".
2) 24-25 ноября на HighLoad++ Msk 2022 с докладом "Сочетание несочетаемого в Kubernetes: удобство, производительность, безопасность", а также в первый день конференции я буду ведущим зала h2, который посвящён ИБ. На самой конференции меня будет легко идентифицировать по толстовке, что представлена в превью поста. Буду рад со всеми пообщаться!
3) 6 декабря в студии вместе с ребятами из VK Cloud мы пообщаемся на тему DevSecOps. Детали о самом мероприятии тут.

Ну и думаю хватит публичных активностей на этот год =)

P.S. До 1 декабря открыто CFP на DevOpsConf 2023 - успейте подать заявку. Если есть какие-то сомнения, то можно писать мне - помогу с подачей, особенно если это касается Kubernetes и его безопасности!
👍6🔥3👎1🥰1
Экосистема Sigstore на одной картинке. Подпись ресурсов и ее верификация это новый большой тренд в облачной индустрии. И, конечно, чтобы идти в ногу со временем нужно в нем ориентироваться. Вот такая картинка от OpenSSF Landscape может в этом помочь.
🔥5
Поговорим сегодня о криптомайнерах в контейнерах. Тема, которую очень часто любят поднимать security вендоры под соусом необходимости backup'ов или обнаружению по Indicators of Compromise (IoC).

Поэтому наткнувшись на статью "Detecting Cryptomining Attacks “in the Wild”" у меня сразу был некий скептицизм ... А после ее прочтения если не усилился, то по крайней мере остался на том же уровне. Шел конец 2022 года, а они все мучают бедный xmrig, как будто на нем свет клином сошелся. Весь расчет обнаружения у авторов на "average attacker or insider threat would use a popular ...".

Хорошо, что честно в статье написано: "Note that each individual measure has its own limitations. Combining them improves the efficiency of detection for sure. However, there are still some more advanced cryptomining techniques and attacks, such as the one that attacked Tesla." Тоесть реальный кейс с Tesla бы это все равно не решило/поймало ...

Похвалю раздел "Evasion techniques to avoid cryptomining detection" - в превью поста.
👍4🤔1
Сегодня в прицелах нашего внимания доклад "RCE-as-a-Service: Lessons Learned from 5 Years of Real-World CI/CD Pipeline Compromise" (слайды, видео) с известнейшей конференции BlackHat USA 2022.

В рамках доклада авторы демонстрируют множество сценариев как через CI/CD Pipeline можно с легкостью атаковать другую часть инфраструктуры (Kubernetes в том числе)! И, конечно, без внимания не остаются и способы защиты, которые могут помочь это предотвратить.

P.S. Ближайшие 2 дня буду рад увидеться и пообщаться со всеми на HighLoad!
👍7🤔2
Мой хороший товарищ Сергей Солдатов опубликовал замечательную вещь - mindmap для Major Risks for Core Components of Container Technologies (NIST SP 800-190) !

Там отдельными разделами идут:
- Host OS Risks
- Container Risks
- Registry Risks
- Orchestrator Risks
- Image Risks
🔥193🥰1🥱1
Очередная крутая статья "Digging into the OCI Image Specification" от авторов "Digging Into Runtimes – run", опять глубоко про основы, и на этот раз про OCI спецификацию образов.

Из статьи вы на теории и на практике познакомитесь с:
- Limitations of the Runtime Specification (runtime-spec)
- Image Format Specification (image-spec)
- Image Manifest
- Image Index
- Image Layout
- Image Configuration
- Conversion
- Denoscriptors
- File System Layer

MUST READ
для всех кто работает с контейнерами и хочет понимать, что такое контейнеризация на самом деле.
👍15🔥2👏1
CD Foundation в своем блоге опубликовал заметку "Policy in Continuous Delivery". В данной заметке рассматривается как важность проверки в процессе CD, так и различные примеры. При этом на текущей момент в Continuous Delivery Landscape в данной категории ("Policy") представлено 3 инструмента:
- Allero
- Kyverno
- Open Policy Agent

Важно проверять как CI/CD pipeline manifests, так и ресурcы с которыми идет работа.

В контексте Kubernetes, очередной раз отмечу два момента:
1) Kyverno и OPA могут использоваться на более ранней стадии - в CD
2) Пункт 1 не отменяет использования их как Admission Controller (класс Policy Engines), который является последним бастионом защиты и способен противостоять тем моделям нарушителя, что не обрабатываются в пункте 1
👍7🔥1