"Container security fundamentals part 6: seccomp" – шестая статья из цикла статей [1,2,3,4,5] про безопасность контейнеров от
В ней рассматривается как с помощью
Rory McCune.В ней рассматривается как с помощью
seccomp фильтров (они кстати написаны на BPF) можно ограничить какие системные вызовы (syscalls) можно вызывать из контейнера, а какие нет. Тоесть этот механизм у нас больше не про изоляцию одних процессов на хосте от других, а про изоляцию контейнерных процессов от хоста. Это на пример поможет позволить не совершить легкий побег из контейнера! На скрине пример с unshare, о котором мы уже не однократно рассказывали.👍5
Вчера прошла онлайн конференция eBPF Summit 2023. Программа конференции достаточно обширная, но если говорить про
Вместе с тем, на
Сами доклады уже доступны, запись трансляции можно посмотреть здесь.
В нашем решении компонент сенсора (у нас собственная разработка, а не какой-то
security доклады, то это:- Minifying Containers with SlimToolkit and eBPF Leveraging Tetragon's File System Activity Tracing
- Detecting and Preventing Stack Pivots in Linux Userland Programs Using eBPF
- How to use eBPF as a solution to Observe and optimize applications for endpoint securityВместе с тем, на
eBPF Summit 2023 проходит CTF. Если вы хотите порешать таски, можно поднять их локально у себя отсюда.Сами доклады уже доступны, запись трансляции можно посмотреть здесь.
В нашем решении компонент сенсора (у нас собственная разработка, а не какой-то
OpenSource проект) использует данную технологию и наша команда с большим интересом следит за данным мероприятием!👍5🔥2👏1
В этот пятничный день нам бы вас хотелось познакомить с интересным
Встречайте MagicHappens Kubernetes Operator!
Его идея до безобразия просто и беспощадна: в
Для полной завершенности проекта на наш взгляд еще не хватает распознавания речи, чтобы это
P.S. "Создай Deployment для образа registry.corp.ru полностью соответствующий требованиям
P.S.S. Мидл
Kubernetes оператором, который даже его создатели не рекомендуют запускать ... =)Встречайте MagicHappens Kubernetes Operator!
Его идея до безобразия просто и беспощадна: в
CustomeResource (тоесть в YAML) в текстовом поле описываем человеческими словами какие Kubernetes ресурсы мы хотим получить и все. Далее это попадает OpenAI (под капотом еще есть проект Kopf) и результат уже в Kubernetes API.Для полной завершенности проекта на наш взгляд еще не хватает распознавания речи, чтобы это
CustomeResource не вбивать в ручную, а надиктовывать системе ;)P.S. "Создай Deployment для образа registry.corp.ru полностью соответствующий требованиям
Pod Security Standard и с установленным default seccomp profile" - как-то так джун DevOps будет работать в будущем!P.S.S. Мидл
DevOps результат полученный на предыдущем шаге отправит на проверку другой AI системе ;)😁29😱6👍4🔥3🥰1🤮1🥴1
На прошедшей в августе конференции
В своем докладе Иван рассмотрел сильные и слабые стороны технологии
Как итог – автору удалось обойти обнаружение всех видов событий (процессы, файловые и сетевые) при определенных условиях:
Также автор поделился инструментами, которые он написал для своего исследования. Их можно найти по ссылке тут. Кстати, слайды презентации можно найти здесь, а видео с выступления тут.
OFFZONE был доклад, который мы не могли оставить без внимания – Как скрыть свои действия, когда отслеживается каждый шаг (Иван Гаврилов, Innostage).В своем докладе Иван рассмотрел сильные и слабые стороны технологии
eBPF для задач безопасности, а также возможные методы сокрытия своих действий на примере существующих eBPF‑based-инструментов безопасности для Kubernetes – Tetragon и KubeArmor.Как итог – автору удалось обойти обнаружение всех видов событий (процессы, файловые и сетевые) при определенных условиях:
- передача в качестве аргумента utf-8 символа
- запуск бинарника с большим путём
- запуск процесса с большим количеством аргументовТакже автор поделился инструментами, которые он написал для своего исследования. Их можно найти по ссылке тут. Кстати, слайды презентации можно найти здесь, а видео с выступления тут.
👍14🔥6❤2
21 сентября на онлайн-конференции про IT-инфраструктуру для бизнеса Selectel Tech Day наша команда в лице Дмитрия Евдокимова представит доклад “ZeroTrust в Kubernetes: Не пустые слова”. Там рассмотрим насколько сложно или не сложно построить ZeroTrust в Kubernetes c примерами атак и защиты.Регистрация на мероприятие бесплатная.
❤6🔥3🥰2
Kubernetes может быть не только в контексте серверных приложений, но и безопасности рабочих мест пользователей!Проект kVDI это
Virtual Desktop Infrastructure запущенная на Kubernetes. Возможности:- Контейнерезированный пользовательский "
desktops" без требований к виртуализации - Шифрование трафика между конечным пользователем и "
desktop" контейнером- Возможность персистентности пользовательских данных
- Поддержка воспроизведения аудио, микрофона
- Передача файлов с/на "
desktop" сессию-
RBAC система для мапинга пользовательского доступа- Поддержка
MFA - Использование локальной аутентификации,
LDAP или OpenID
- UI для управления системойПолучаем эфемерное рабочее место, которое в любой момент времени можно развернуть, убить и создать с чистого листа! Отдаленно напоминает идею Google ChromeOS с ее множеством уровней изоляции и облачной идеологией.
P.S. И да, компании уже сейчас начали пилотировать такой подход у себя ;)
👍7🔥1🤔1
Недавно встретили такое требование в
Если в образ попал секрет и этот образ уже лежит в
По правильному еще в
DevSecOps концепции одной компании, которое звучит примерно следующим образом: "Автоматический запрет развертывания образов с определенными CVE и секретами". И если про проблемы с первым мы уже не раз писали и рассказывали [данный пост и в вебинаре "Patch management не поможет, фиксики не спасут"], то второй момент это что-то новое, что мы ранее не встречали. Давайте разбираться - имеет ли это какой-то смысл.Если в образ попал секрет и этот образ уже лежит в
registry, то можно уже констатировать факт, что секрет утек. Ведь все сотрудники, что могут пулить образы могут забрать как весь образ так и его конкретный слой. А в последствии извлечь все необходимое. То есть организовать такой канал утечки данных (помните о registry staging). Контроль этого в моменте развертывания, это какой-то узкий кейс, не решающий основную проблему, и несущий угрозу только в том случае если в образ потом кто-то попадет из вне. Плюс все те же проблемы, что и с CVE, которые могут привести к падению системы. По правильному еще в
pipeline должна быть соответствующая проверка образа и в случае ее не прохождения pipeline должен падать и образ не попадать в registry. Последней стадией в этом pipeline, это подпись образа, если только он прошел все чеки. А уже в моменте развертывания только проверка этой подписи ;)Telegram
k8s (in)security
Поговорим о такой возможности/проверке/контроле как блокировать деплоймент на основании какой-то информации об известных уязвимостях. Это прямо мечта многих безопасников) НО реальная жизнь показывает, что с этим может быть множество проблем вплоть до падения…
👍15🔥1🥰1
Microsoft обновила "Threat matrix for storage services". Первая версия вышла 2 года назад и обновление получило много изменений и заслуживает внимания.🔥8👍6🥰1
Reflector - это
Для того чтобы указать источник (откуда будут скопированы данные) нужно добавить аннотацию вида
Если источник удален, то удаляются и автоматические зеркала. Также если отражение или автоматическое зеркалирование отключены или
Оператор будет полезен как минимум при решении двух задач:
Kubernetes operator, предназначенный для мониторинга изменений в ресурсах (Secrets и ConfigMaps) и отражения изменений на зеркальных ресурсах в том же или других namespaces.Для того чтобы указать источник (откуда будут скопированы данные) нужно добавить аннотацию вида
reflector.v1.k8s.emberstack.com/reflection-allowed: "true" и reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces: "<list>" к ConfigMaps или SecretsЕсли источник удален, то удаляются и автоматические зеркала. Также если отражение или автоматическое зеркалирование отключены или
namespace автоматического зеркала больше не соответствует разрешенным namespace, автоматическое зеркало удаляется.Оператор будет полезен как минимум при решении двух задач:
- Для обеспечения TLS в динамических окружениях проектов необходимо выписывать сертификат для ветки main каждого проекта и копировать Secret во все остальные неймспейсы этого проекта
- Уметь автоматически синхронизировать Secret из централизованного хранилища во все нужные Kubernetes-кластеры и выбранные внутри них неймспейсы.GitHub
GitHub - emberstack/kubernetes-reflector: Custom Kubernetes controller that can be used to replicate secrets, configmaps and certificates.
Custom Kubernetes controller that can be used to replicate secrets, configmaps and certificates. - emberstack/kubernetes-reflector
❤7👍6🥰1
Закончим эту неделю смешным постом от организаторов конференции "Стачка", где выступал наш коллега Андрей Ганюшкин с докладом про безопасность контейнеров)
Классно, креативно =)
Классно, креативно =)
😁29🤡8💩4🤣4👍2❤1👀1
ZeroTrust в Kubernetes - не пустые слова final.pdf
978.1 KB
В начале новой недели с удовольствием поделимся с вами слайдами с выступления "ZeroTrust в Kubernetes:Не пустые слова" нашей команды Luntry с одного из последних мероприятий!
Для понимания всей картины добавили в презентацию множество рекомендаций для погружения в тему, чтобы для начинающих было проще изучать данную область.
Всем хорошей недели!
Для понимания всей картины добавили в презентацию множество рекомендаций для погружения в тему, чтобы для начинающих было проще изучать данную область.
Всем хорошей недели!
👍13
m9sweeper –
На данный момент закрывает следующие потребности и выводит результаты и графики по:
Если вы только начинаете строить защиту для своего небольшого кластера, скорее всего тулза будет полезна. Также может подойти и тем, кто любить городить свои огороды из разных инструментов - тут как раз такая сборная солянка. И да,
OpenSource Kubernetes security платформа (а по факту интерфейс над несколькими проектами).На данный момент закрывает следующие потребности и выводит результаты и графики по:
- Image scan (trivy)
- K8s CIS benchmark (kube-behch)
- K8s templates best practice (kubesec)
- PolicyEngine (OPA Gatekeeper)
- K8s pentest (kube-hunter)
- Runtime (Falco)Если вы только начинаете строить защиту для своего небольшого кластера, скорее всего тулза будет полезна. Также может подойти и тем, кто любить городить свои огороды из разных инструментов - тут как раз такая сборная солянка. И да,
OpenSource не значит бесплатно.🔥11❤1👍1
Исследователи из компании
Так что познакомиться с данным циклом статей будет как минимум полезно ради общего развития (реверсерам так обязательно, это будет использовать малварь для обхода антивирусов и
Quarkslab запустили цикл статей реверс Windows контейнеров и выпустили первую часть "Reversing Windows Container, episode I: Silo". Скорее всего 98% читателей данного канала врятли это пригодится в работе ... Но на наш взгляд концепция контейнеров будет развиваться активно и в ОС Windows, тем более с учетом активного развития в ней Windows Subsystem for Linux (WSL) картинка будет получаться очень интересная. Скорее всего все придет в итоге к гибридным системам совмещающем в себе лучшее из двух миров.Так что познакомиться с данным циклом статей будет как минимум полезно ради общего развития (реверсерам так обязательно, это будет использовать малварь для обхода антивирусов и
EDR - о таком уже писали тут). С французами из Quarkslab доводилось общаться на конференциях - крутые и материалы делают такие же.👍6🔥2🥰1
Вчера для
1) CVE-2023-41332 (
2) CVE-2023-39347 (
3) CVE-2023-41333 (
Две из трёх уязвимости позволяют злоумышленнику при определённых условиях обойти ограничения
Официальный патч с фиксом данных уязвимостей вышел две недели назад. Поддерживаемые версии с исправленными багами:
CNI Cilium вышло три CVE:1) CVE-2023-41332 (
DoS via Kubernetes annotations in specific Cilium configuration)2) CVE-2023-39347 (
Kubernetes users may update Pod labels to bypass network policy)3) CVE-2023-41333 (
Bypass of namespace restrictions in CiliumNetworkPolicy)Две из трёх уязвимости позволяют злоумышленнику при определённых условиях обойти ограничения
NetworkPolicy – причем как нативной (которую реализует сам Cilium), так и кастомной от Cilium.Официальный патч с фиксом данных уязвимостей вышел две недели назад. Поддерживаемые версии с исправленными багами:
- 1.12.14
- 1.13.7
- 1.14.2👍6🔥1👏1
Из статьи "Making Sense Out of Native Sidecar Containers in Kubernetes" вы узнаете как прям по шагам изменяется возможность/последовательность запуска и завершения контейнеров в
P.S. Визуализация данного процесса это отдельный вид искусства - Иван молодец ;)
Pod с учетом появления нового "типа" контейнеров, как sidecar (по сути нативная поддержка такого паттерна на базе init), в Kubernetes 1.28.P.S. Визуализация данного процесса это отдельный вид искусства - Иван молодец ;)
🔥12👍4❤3🤩1
Как правило, для уменьшения поверхности атаки и в целом для уменьшения размера образа используют
Но если всё таки появилась необходимость проверить сетевое взаимодействие (
И в
P.S – Мы уже как-то рассказывали про инструменты, которые могут пригодится при работе с
distroless image. В таких образах нет ничего лишнего – только полезная нагрузка. Но если всё таки появилась необходимость проверить сетевое взаимодействие (
health check probe) изнутри такого контейнера – LProbe будет очень кстати. Для этого в Dockerfile нужно добавить строчку вида:COPY --from=ghcr.io/fivexl/lprobe:0.0.6 /lprobe /bin/lprobeИ в
K8s манифесте добавить exec для readiness и liveness probes:command: ["/bin/lprobe", "-port=8080", "-endpoint=/readiness”]P.S – Мы уже как-то рассказывали про инструменты, которые могут пригодится при работе с
distroless контейнерами – один из таких Dive.GitHub
GitHub - fivexl/lprobe: A command-line tool to perform Local Health Check Probes inside Container Images (ECS, Docker)
A command-line tool to perform Local Health Check Probes inside Container Images (ECS, Docker) - fivexl/lprobe
👍16🥰4🤷♂1🔥1
"Escaping the Google kCTF Container with a Data-Only Exploit" - классная демонстрация
Любителям хардкора премного рекомендуем =)
Data-Only эксплоита (это очень не простой и достаточно редкий трюк) для побега из контейнера в рамках Google kCTF! В качестве подопытного взята бага в многострадальном io_ring )Любителям хардкора премного рекомендуем =)
The Human Machine Interface
Escaping the Google kCTF Container with a Data-Only Exploit
Introduction I’ve been doing some Linux kernel exploit development/study and vulnerability research off and on since last Fall and a few months ago I had some downtime on vacation to sit and challenge myself to write my first data-only exploit for a real…
🔥4👍2😨1
KubeHound – новый инструмент, который поможет определить вам возможные
Принцип работы тулзы довольно прост: сначала
Стоит отметить, что инструмент в своём большинстве закрывает только вопросы
Для более глубокого погружения рекомендуем ознакомиться со следующими источниками:
- заметка в блоге
- официальный сайт утилиты
attack path в вашем Kubernetes кластере.Принцип работы тулзы довольно прост: сначала
KubeHound собирает всю необходимую информацию через Kube API, вычисляет attack paths (Bad Pods, RBAC) от container escape до возможного lateral movement и складывает результаты в графовую БД JanusGraph. Тулза может быть полезна как для Red так и для Blue team – на данный момент инструмент поддерживает около 25 запросов, однако авторы обещают добавлять новые.Стоит отметить, что инструмент в своём большинстве закрывает только вопросы
PodSecurityStandards, и никак не учитывает при построении attack path NetworkPolicy, AppArmor и прочие нюансы, которые могут влиять на конечный attack path.Для более глубокого погружения рекомендуем ознакомиться со следующими источниками:
- заметка в блоге
- официальный сайт утилиты
🔥10👍4❤1🥰1
На недавно прошедшей конференции по безопасности BalCCon2k23 был представлен доклад "Security in Cloud Kubernetes Services: Attacking and Defending Cloud" (видео) от
По сути же там нет ничего нового и вся его ценности в 2х больших
1) Побег из контейнера на хост
2) Закрепление в скомпрометированном кластере через использование Static Pod
Если вы абсолютно не имеете представления как это выглядит глазами атакующего, то рекомендуем ознакомиться с данным выступлением. А если вам такое зашло, то рекомендуем вспомнить и этот доклад.
Miguel Angel Hernandez Ruiz и Marios Kourtesis. Как пишут в описании доклада сами автора: "Our main goal with this presentation is to show some of the most common attack scenarios weaponised by cybercriminals which are affecting Cloud Kubernetes Services. We will also offer some possible controls to mitigate those risks."По сути же там нет ничего нового и вся его ценности в 2х больших
live demo в консоли, где демонстрируется:1) Побег из контейнера на хост
2) Закрепление в скомпрометированном кластере через использование Static Pod
Если вы абсолютно не имеете представления как это выглядит глазами атакующего, то рекомендуем ознакомиться с данным выступлением. А если вам такое зашло, то рекомендуем вспомнить и этот доклад.
❤6❤🔥1🔥1🥰1🤡1
Сегодня мы хотим поделиться с вами записью и слайдами доклада нашей команды Luntry в лице Канибор Сергея "Kubernetes Pentest All‑in‑One: The Ultimate Toolkit" с конференции
В докладе мы рассказали про
Сам образ
P.S – уже думаем над тем как можно прокачать MTKPI ;)
OFFZONE 2023.В докладе мы рассказали про
docker образ, который призван упростить жизнь при проведении Kubernetes пентеста. Сам образ появился в результате проведения аудитов и обкатан в боевых условиях. В тоже время мы не забыли упомянуть и то, с какими реальными проблемами и ограничениями можно столкнуться при проведении пентеста k8s, а также поделились тем, как эти проблемы можно решить.Сам образ
MTKPI можно посмотреть тут.P.S – уже думаем над тем как можно прокачать MTKPI ;)
YouTube
Сергей Канибор . Kubernetes Pentest All‑in‑One: The Ultimate Toolkit
Kubernetes Pentest All‑in‑One: The Ultimate Toolkit
Сергей Канибор
R&D / Container Security, Luntry
Чтобы автоматизировать и ускорить работу при проведении пентеста Kubernetes‑кластера, обычно используют различные инструменты. Но что делать, если ты находишься…
Сергей Канибор
R&D / Container Security, Luntry
Чтобы автоматизировать и ускорить работу при проведении пентеста Kubernetes‑кластера, обычно используют различные инструменты. Но что делать, если ты находишься…
👍14❤5🔥2
Делали недавно исследовательский проект для клиентов и в процессе него пришлось закопаться в реализацию
1) Для containerd
2) Для cri-o
3) Для docker (moby)
Все-таки насколько они по-разному к этому подходят...
Отдельное внимание заслуживает их реализация и отношение к системному (многострадальному) вызову
С началом новой недели и читайте исходный код ;)
Default seccomp profile (известно также как SeccompDefault и RuntimeDefault) (последние изменения о нем писали тут 1,2,3,4,5) в Kubernetes. Для этого пришлось почитать исходный код Container Runtime: containerd и cri-o. Соответствующий код можно посмотреть тут:1) Для containerd
2) Для cri-o
3) Для docker (moby)
Все-таки насколько они по-разному к этому подходят...
Отдельное внимание заслуживает их реализация и отношение к системному (многострадальному) вызову
unshare (атаки с его участием 1,2). Но в default его, конечно, там и там нет.С началом новой недели и читайте исходный код ;)
Telegram
k8s (in)security
В версии Kubernetes 1.19 поддержка seccomp перешла в статус General Availability (GA) (начало было положено в 1.10)! Благодаря данной штуке можно повышать безопасность ваших workload'ов с помощью ограничений допустимых системных вызовов для определенного…
🔥7