DevSecOps Talks – Telegram
DevSecOps Talks
7.44K subscribers
85 photos
94 files
1.23K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
Авторизация Kubelet в Kube-apiserver

Всем привет!

Kubelet крайне важная часть Kubernetes. Он взаимодействует с runtime для создания контейнеров и не только, общается с kube-apiserver. Логично предположить, что он, как и все остальные сущности, обращающиеся к kube-apiserver должен проходить процедуру авторизации.

И это так, однако не все так просто,
как может показаться. Например, если сделать kubectl --kubeconfig=%yourkubelet.conf% auth can-i –list, то описания его прав на, например, pod вы не увидите. Хотя с этим же самым kubeconfig можно запросить перечень pods в каком-нибудь namespace и получить результат.

Если присмотреться, то в ответе вышеуказанной команды есть интересная строчка: the list may be incomplete: node authorizer does not support user rule resolution Resources.

Именно этой «особенности» посвящена очередная прекрасная статья от Rory McCune. Почему так происходит и как работает авторизация Kubelet «под капотом», ссылки на исходный код Kubernetes - все есть в статье. Рекомендуем!
1
Kubernetes Goat: новый сценарий

Всем привет!

Kubernetes Goat – проект Madhu Akula, который представляет из себя заведомо-уязвимый кластер Kubernetes.

Сейчас доступно порядка 20 сценариев, которые можно реализовать. Например:
🍭 Attacking private registries
🍭 Secure Network Boundaries using Network Policy
🍭 Kubernetes namespaces bypass
и другие

Недавно был добавлен еще один«Cilium Tetragon - eBPF-based Security Observability and Runtime Enforcement». В нем предлагается использовать Tetragon для осуществления runtime security monitoring и идентификации проблем ИБ. Как и во всех остальных сценариях доступна постановка задачи, подсказки (hints) или полное решение (если вдруг не получится самостоятельно).
👍6
Chainloop: supply chain control plane

Всем привет!

Chainloop – open source проект, при помощи которого можно централизованно управлять аттестацией артефактов (про то, что понимается под «аттестацией» мы писали тут).

Логически состоит из двух основных компонентовcontract (описывает то, что должно быть в аттестации) и attestation (грубо говоря набор сведений об артефакте, которые нам требуются). Аттестация используется для того, чтобы подписать не только сам артефакт, но и дополнительную информацию про него.

Пример того, что можно добавить в аттестацию:
🍭 Образ контейнера
🍭 Dockerfile (optional)
🍭 SHA commit’a
🍭 Software Bill Of Materials
in CycloneDX format и не только

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

Больше информации про Chainloop (установка, настройка, интеграционные возможности) можно прочесть в документации на проект.
👍1
CyberCamp MeetUp: DevSecOps!!!

Всем привет!

По ссылке Вы можете зарегистрироваться на MeetUp, посвященный DevSecOps!

Мероприятие пройдет 20 апреля c 11:00 МСК.

Программа получилась очень насыщенной:

🍭 Путь самурая: фреймворк безопасной разработки
Кирилл Бочкарев,
"Инфосистемы Джет"

🍭 Мифы и факты о цепочке поставки программного обеспечения
Леша Смирнов,
CodeScoring

🍭 Актуальные уязвимости в мобильных приложениях в 2022 году
Юра Шабалин,
"Стингрей Технолоджиз"

🍭 Введение во взлом веб-приложений. Как создать безопасное ПО
Данил Кокорин,
"Инфосистемы Джет"

🍭 Классификация и систематизация средств безопасности для Kubernetes
Дима Евдокимов,
Luntry

🍭 Опыт построения AppSec-процессов в крупных корпорациях
Алина Князева,
VK

Приходите сами, зовите друзей! Скучно точно не будет!!! ☺️☺️☺️
👍9🔥5🍾5🦄3🌭21
БеКон: вкусно и полезно!

Всем привет!

При чем тут бекон? Быть может это отличный завтрак DevOps-специалиста, а быть может – первая в России конференция, посвященная тематике БЕзопасности сред КОНтейнерной оркестрации!

И то и то правда (ставьте «лайк», если любите кушать бекон 😊)! Команда Luntry сделала собственную конференцию, где будет 10 докладов.

Уже объявлены такие темы как:
🍭 OPA с shared Docker executor // Павел Сорокин, OZON
🍭 Не такой очевидный RBAC Kubernetes // Дмитрий Евдокимов, Luntry
🍭 Distroless своими руками // Антон Мокин, Тинькофф
🍭 K8s в PCI DSS // Александр Маркелов, Райффайзен Банк
🍭 Как правильно готовить Kyverno и работать с его алертами // Алексей Миртов, Яндекс Облако
🍭 Kubernetes, ответь мне, кто я для тебя // Константин Аксенов, Флант

Остальные доклады будут объявлены в ближайшем будущем. Мероприятие пройдет 7-ого июня, в Москве. Важно(!): только offline и без трансляции.
🔥11🦄5🌭21
Deps: API

Всем привет!

Deps.dev – проект от Google, который представляет из себя feed, содержащий информацию об уязвимостях пакетов языков программирования (Rust, Go, Java, Python, Node.js).

Недавно стало доступно API, которое позволит автоматизировать взаимодействие с сервисом.
Можно получить следующую информацию о пакетах, зависимостях, advisory и не только. Сервис «возвращает» большое количество информации, которое может быть полезно в рамках процесса управления уязвимостями.

Описание API можно найти в документации, а примеры использования (запрос через hash, получение dependency graph, анализ лицензий) доступны в repo.
Secure_Software_Factory_Whitepaper.pdf
1.6 MB
Secure Software Factory

Всем привет!

В приложении доступен whitepaper от CNCF, посвященный созданию Secure Software Factory (SSF). Материал небольшой (~ 22 страницы), однако, описывает интересные концепты.

Внутри можно найти:
🍭 Концептуальная схема SSF
🍭 Описание ключевых (core) компонентов SSF
🍭 Краткое описание участников взаимодействия (люди, технологии)
🍭 Перечень того, на что стоит обратить внимание на разных этапах жизненного цикла ПО
🍭 Немного best practice в завершении

Кстати, в самом начале документа можно найти отсылку к еще одному документу CNCF, посвященному Supply Chain Security. Его мы приложим в следующем посте.
👍2
CNCF_SSCP_v1.pdf
2.7 MB
Software Supply Chain Best Practices

Тот самый материал от CNCF (~ 45 страниц). Содержит набор практик и рекомендаций для повышения безопасности Software Supply Chain.

Материал «разбит» на части:
🍭 Securing Source Code
🍭 Securing Materials
🍭 Securing Build Pipelines
🍭 Securing Artifacts
🍭 Securing Deployments

Для каждого раздела приводится набор рекомендаций, разбитый на группы: Verification, Automation, Authorization in Controlled Environments и Secure Authentication.
Написание правил для CodeQL и Semgrep

Привет!

CodeQL и Semgrep – пожалуй самые популярные и мощные open source инструменты, которые используются для анализа исходного кода.

В статье Автор рассматривает эти инструменты: принципы их работы, преимущества и недостатки.

Например:
🍭 Написание правил (простота, потребность в дополнительных знаниях)
🍭 Поддержка разных видов анализа (рассматриваются oss/paid версии каждого из продуктов)
🍭 Рассуждения на тему различий Abstract Syntax Tree, Data Flow Graph, Control Flow Graph и как они влияют на возможности анализатора, простоту «расширения» поддерживаемых языков
🍭 Расширения для IDE и их возможности
Помощь в написании правил (полнота документации, наличие playgrounds, материалов по теме)

Статья не является исчерпывающей, но может помочь сформировать первое впечатление об инструментах. Это может быть полезно, если Вы стоите перед выбором – «А с чего лучше начать?»
👍2
CodeQL: From zero to hero, Part 1

Всем привет!

Немного обманчивая статья 😊 В ней, по крайней мере в первой ее части, разбирается не сам CodeQL, а основы статического анализа. Какие способы бывают, чем они отличаются, для чего используются и почему всеми любимого grep не хватает.

Статья погружает читателя в тематику постепенно:
🍭 Описание
общей задачи поиска уязвимостей в исходном коде
🍭 Идентификация sources и sinks (что это – описано в статье 😊)
🍭 Lexical analysis и зачем он используется
🍭 Syntactic pattern matching, abstract syntax tree и control flow graph
Data flow analysis и taint tracking

Автор отлично описывает разные способы анализа, зачем они нужны, их плюсы и минусы. Материала достаточно много, есть примеры, самое «то» для начала!

Прочитав статью можно сделать еще один вывод. Анализ кода строится на понимании механик и того, что происходит при работе ПО. Слепо полагаться на автоматизацию, которая «сама все найдет» не стоит, она лишь сможет помочь. Да и то, если ей объяснят, что надо делать. Однако, без автоматизации тоже плохо – ведь анализировать код «глазами» задача выполнимая, но крайне ресурсоемкая.
Важно помнить, что результаты, получаемые при таком подходе, скорее всего будут не актуальны. За время, потраченное на такой анализ приложение уже успеет «измениться».

P.S. В завершении статьи можно найти несколько challenges.
Certified GitOps Associate (CGOA)

Всем привет!

KubeCon идет во всю, о самых интересных докладах по ИБ (на наш взгляд) напишем позже. А пока – новая сертификация от CNCF: Certified GitOps Associate (CGOA).

Увы, пока в статусе «coming soon», но уже известно «что внутри»:
🍭 GitOps Terminology (20%)
🍭 GitOps Principles (30%)
🍭 Related Practices (16%)
🍭 GitOps Patterns (20%)
🍭 Tooling (14%)

Тест на 90 минут, который, судя по описанию, подойдет всем DevOps инженерам. Уровень знаний: beginner.
4👍1
Атака на k8s RBAC

Всем привет!

В сети можно найти много статей про то, как кто-нибудь нет-нет, да и установит crypto miner в кластер k8s. На этот раз команда Nautilus (Aqua Security) нашла нечто новое – persistence через RBAC misconfiguration (хотя без crypto miner так и не обошлось).

Атака была зарегистрирована на honey pot кластерах Aqua Security:
🍭 Злоумышленник воспользовался возможностью отправки анонимных запросов к kube-apiserver и создал cluster role, близкую к Cluster Admin
🍭 После этого он «присоединил» ее к ServiceAccount kube-controller, которую создал в namespace kube-system
🍭 В дальнейшем это позволило ему создавать ресурсы по желанию

С одной стороны «анонимный доступ к kube-apiserver, серьезно?». С другой – важность аудита ролевой модели k8s. Ведь подобный persistence мог остаться после того, как недостаток с анонимными запросами был устранен. Это лишний раз показывает, что важно смотреть на безопасность k8s не по отдельным аспектам, а в общем.
👍6
#мероприятие
Российский разработчик ПО, компания «Лаборатория Числитель» запускает серию практических вебинаров, посвященных работе с платформой управления контейнерами «Штурвал»

Вебинары пройдут в формате live-демо, во время которых будут показаны все этапы работы с платформой.

25 апреля в 11:00 откроет серию вебинар «Штурвал». Начало работы».

В программе:
🔹Планирование инсталляции
🔹Развертывание в открытом и закрытом контуре
🔹Настройка зеркала

Демонстрацию проведет Александр Краснов, технический директор «Лаборатории Числитель».

Вебинар будет интересен DevOps-инженерам и DevOps-администраторам

Регистрация
🔥5👍2😁21👎1🥰1👏1🐳1
PESD: автоматизация создания диаграмм последовательностей

Всем привет!

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

Это можно делать «в ручную», но это может быть долго, неудобно, не лишено ошибок. Поэтому ребята из Doyensec сделали Proxy Enriched Sequence Diagram – PESD! Этот небольшой Burp Plugin позволяет автоматизировать процесс создания таких диаграмм.

Есть еще важное слово – «Enriched». Все так, диаграммы получаются с «дополнительными» сведениями. Например, можно посмотреть URL Query Params или иные параметры взаимодействия.

Результаты можно выгружать в различных форматах: SVG, Markdown (MermaidJS), JSON. Больше подробностей и сам PESD можно найти по ссылке на GitHub Repo.
1🦄1
KubeArmor: k8s runtime security

Всем привет!

KubeArmor – runtime security решение, которое позволяет контролировать что происходит с контейнером и/или хостом на котором он расположен. В качестве «основного движка» используется AppArmor, SELinux и BPF-LSM.

Решение позволяет:
🍭 Реализовать hardening
🍭 Управлять процессами, сетевыми соединениями и контролировать доступ к чувствительным данным
🍭 Генерировать k8s network policy
🍭 Профилировать контейнеры для создания поведенческих моделей

Проект активно развивается (можно посмотреть в Version Releases Blog), есть документация, описывающая ключевые возможности KubeArmor и примеры его использования.
1👍1
Sveltos: централизация управления кластерами k8s

Всем привет!

Целью проекта Sveltos является упрощение работы с большим количеством кластеров. Концептуально схему можно описать так: есть управляющий кластер, подчиненный кластера и профили кластеров, которые содержат требуемые данные. Обращаясь к кластеру управления можно вносить изменения в подчиненные кластеры.

Sveltos умеет:
🍭 Создать ресурсы
в кластерах
🍭 Следить за configuration drift, возвращая все в «исходное состояние» (указанное в кластере управления)
🍭 Создавать ресурсы в dry-run режиме
🍭 Направлять alert в случае идентификации проблем с состоянием кластера
🍭 Управлять кластерами на основании labels (например, применять что-то на production и не применять на test) и не только

Полное описание функционала и компонентов проекта (какие есть operators, какие CRD и что они делают) можно найти в документации. Отдельно рекомендуем заглянуть в раздел «Blogs and Videos». В нем можно найти много ссылок на материалы по теме.
🔥21
Как быстро обновляются Secrets и ConfigMaps в k8s?

Всем привет!

Все началось с простого опроса, в котором большинство ( ~ 41%) выбрало ответ «почти мгновенно», однако это не совсем так.

В статье Автор разбирает внутренние механизмы, отвечающие за процесс обновления Secrets и ConfigMaps в Pod.

У Kubelet есть параметр configMapAndSecretChangeDetectionStrategy, который может принимать 3 значения:
🍭 Get: получение объектов от API server
🍭 Cache: использованием TTL Cache
🍭 Watch (Default): наблюдение за интересующим объектом

Получается, что у Kubelet есть вся необходимая информация, однако обновления (мгновенного) не происходит. Оказалось, что у Kubernetes отсутствуют механизмы, запускающие реконсиляцию при обновлении ресурса (в нашем случае это Secret и ConfigMap).

На деле обновление происходит при вызове syncPod функции:
🍭 В случае изменения Pod (Pod event update, изменение параметров Pod) – что происходит не часто
🍭 Периодически: где-то раз в минуту

Именно по этой причине, по умолчанию, Secret и ConfigMap не синхронизируются мгновенно. Если хочется проверить, то есть repo с PoC. Если интересно как можно это ускорить – ответ есть в статье.
👍4
Open source threat modelling tools

Всем привет!

По ссылке доступен минималистичный обзор open source решений, которые могут быть использованы для автоматизации/упрощения/визуализации процесса моделирования угроз.

Рассматриваются такие инструменты, как:
🍭 Cairis
🍭 OWASP pytm
🍭 OWASP Threat Dragon
🍭 Threagile
🍭 ThreatSpec
🍭 Microsoft Threat Modeling Tool
🍭 Threats Manager Suite

Для каждого их них есть небольшой описание и ссылки на сайты/repo. В завершении статьи (раздел References) можно найти дополнительные материалы по теме.
Open-appsec: Web-protection и API Security

Всем привет!

Open-appsecopen source продукт, разрабатываемый командой Checkpoint. Представляет из себя add-on, который можно установить на Kubernetes Ingress Controller, Nginx и Kong API Gateway.

Обладает следующим функционалом:
🍭 API Security
🍭 Bot prevention
🍭 Intrusion Prevention
(IPS Engine с поддержкой Snort 3.0 Signatures, аналитика от Checkpoint)
🍭 Защита от OWASP Top-10 и не только

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

Функционала и возможностей достаточно много, поэтому рекомендуем ознакомиться с документацией и роликами, которые демонстрируют работу open-appsec.
👍3
Service Mesh Comparison

Всем привет!

На сайте можно найти небольшое сравнение Service Mesh технологий. Рассматриваются все «основные» участники: Nginx, Istio, Kuma, Cilium, LinkerD и т.д.

В качестве критериев представлены:
🍭 Auto Proxy Injection
🍭 gRPC
🍭 Prometheus Integration
🍭 Tracing Integration
🍭 SPIFFE и не только

Кстати, на самом сайте можно найти интересную timeline-диаграмму, в которой отображены даты появления участников «на рынке».
👍2