DevSecOps Talks – Telegram
DevSecOps Talks
7.43K subscribers
85 photos
94 files
1.23K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
True-Cost-of-CVE-Management-in-Containers.pdf
462.4 KB
Vulnerability Management: ключевая проблематика и стоимость

Всем привет!

«Сколько, в среднем, стоит устранение уязвимостей в Компаниях?»
- именно такой вопрос задала себе команда Chainguard (одним из направления деятельности, которых является создание минималистичных образов контейнеров, в которых уязвимостей значительно меньше, чем в «обычных»).

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

Если кратко, то:
🍭 Оценить время для tirage конкретной CVE затруднительно. Оно может варьироваться от 20 минут до нескольких недель
🍭 Большое количество действий при tirage. Обилие данных может привести к «открытию и чтению десятков вкладок» браузера, чтобы понять «что это есть на самом деле»
🍭 Shift Left не панацея. Уязвимости могут появляться ежедневно, поэтому управлять ими надо в «режиме реального времени»
🍭 Некоторые компании тратят тысячи часов на процесс управления уязвимостями. Грубо говоря, 1 и более сотрудников полноценно занимаются только этим в течение года

Для того, чтобы избежать этих проблем Chainguard предлагает свой подход. Суть его, хоть и похожа, но отличается в корне – не исправлять уязвимости в образах контейнеров, а использовать образы, в которых количество уязвимостей сведено к минимуму.

А что вы думаете по этому поводу? Имеет ли такой подход место быть и нужно ли стремиться к «zero tolerance»?
👍81
CIS_GitLab_Benchmark_v1.0.1.pdf
2 MB
GitLab: CIS Benchmark

Всем привет!

В апреле этого года GitLab совместно с Center for Internet Security (CIS) выпустили CIS GitLab Benchmark (~ 301 страница), который можно найти в приложении.

В документе содержится перечень рекомендаций для аудита и настройки механизмов безопасности при использовании GitLab.

Рекомендации делятся на 5 глобальных блоков:

🍡Source Code (исходный код)
🍡Build Pipelines (среда и конфигурационный файл сборки)
🍡Dependencies (зависимости)
🍡Artifacts (артефакты)
🍡Deployments (конфигурационные файлы для развертывания приложения)

Документ похож на CIS Benchmark for Supply Chain, который CIS выпускала ранее. Он может быть крайне полезен, если вы используете GitLab и хотите настроить его с учетом ИБ-практик
👍13🔥5🥰1
Linux Exploit Education

Всем привет!

Скоро будут вторые майские праздники, в которые можно поучиться чему-нибудь новому! Предлагаем вам обратить внимание на проект «Exploit Education», который позволит углубиться в тонкости работы с Linux.

Сами лабораторные работы представляют из себя набор виртуальных машин (увы, online не получится), в которых есть задания на различные тематики.

Например:
🍭 Nebula. Повышение привилегий в Linux, состояние гонок в файловой системе, проблемы в noscripting languages
🍭 Phoenix. Работа с дефектами, характерными для памяти
🍭 Fusion. Аналогично Phoenix, но предлагает более сложные сценарии

В среднем, в каждой виртуальной машине содержится примерно 15 заданий. Уровень сложности варьируется – от Nebula к Fusion он повышается.
👍1🤔1
Управление секретами: Vault и External Secrets Operator

Всем привет!

«Среда – это маленькая пятница!» Сегодня так уж точно ☺️ Поэтому предлагаем вашему вниманию небольшую статью.

В ней Автор рассматривает возможность динамического управления секретами в Kubernetes с использованием HashiCorp Vault и External Secrets Operator (ESO).

Предлагается следующий алгоритм:
🍭 Установка Vault и ESO
🍭 Создание Read Token в Vault для настройки взаимодействия с ESO
🍭 Создание Secret Engines и Secrets в Vault
🍭 Создание External Secret, обновление Secret на стороне Vault, синхронизация с Secret в Kubernetes

Ничего лишнего. Только примеры, screenshots, комментарии и конфигурационные файлы! А если хочется больше узнать про используемые в статье технологии – то в ней есть ссылки на все необходимое.

И, пользуясь случаем, поздравляем вас с наступающими праздниками! Желаем отлично провести время, набраться сил и до встречи на следующей неделе! ☺️
👍3
Как работает Kubectl?

Всем привет!

Если вам хоть раз доводилось «что-то» с Kubernetes, то вы точно использовали kubectl. Но задавались ли вы вопросом – а что именно она делает и как она устроена?

Если нет, то рекомендуем прочесть статью, в которой описаны основные принципы работы этой удобной утилиты.

Например:
🍭 Где и как она ищет kubeconfig
🍭 Почему и зачем в kubeconfig приведены именно эти параметры
🍭 Какие способы аутентификации она использует
🍭 Как можно воспроизвести (ну почти) ее действия с использованием обычного curl

В завершении статьи Автор предлагает пойти дальше – скачать себе ее repo, посмотреть на исходный код и добавить собственную функцию
2👍2
CyberCamp: прием заявок до 1-ого июня!

Всем привет!

Ранее мы писали про открытие Call For Papers (CFP) на CyberCamp – мероприятия, в котором соединяется теория и практика!

CyberCamp проходит в online формате (как теория, так и практика) и собирает более 10 000 участников, объединенных любовью к информационной безопасности и тягой к знаниям.

Если у вас есть что рассказать (по тематике безопасной разработки, DevSecOps и не только), то приглашаем вас откликнуться и стать частью CyberCamp 2024! Крайний срок подачи заявок – 1-ое июня 2024 года.

Подробности можно найти по ссылке. Да, есть небольшая анкета, которую надо заполнить, но, обещаем, это не займет много времени! Спасибо и до встречи на мероприятии! ☺️
8👍6🔥5
Cilium Network Policy: материал для погружения

Всем привет!

По ссылке можно найти весьма неплохую статью (~ 18 минут чтения) для погружения в Network Policy Kubernetes, которые можно реализовать при использовании Cilium.

Начинается все достаточно «безобидно» - общие концепты про взаимодействие pod, про основные «поля» Network Policy (selector, direction, types и т.д.).

Дальше становится интереснее Enforcement Mode, Application Discovery, Security Identity, использование Hubble для просмотра трафика между pods и, конечно же, возможные варианты troubleshooting.

Все указанные концепции рассматриваются на примере небольшого приложения, для которого Автор описывает необходимые политики контроля сетевого трафика.
👍3
Вакансия DevSecOps-инженера в Инфосистемы Джет.

Всем привет! А вот и наша непостоянная рубрика "вакансии" :)

Сейчас мы активно расширяем команду и ищем DevSecOps инженера.
Перечень задач весьма обширный и обсуждается индивидуально исходя из ваших возможностей и предпочтений, но если коротко, то вот он:
🔹внедрение инструментов DevSecOps (SAST, DAST, Container Security, Secret Management, OSA\SCA, ASOC)
🔹формирование процессов безопасной разработки (проведение аудитов по фреймворкам BSIMM, SAMM, DAF, разработка документации и консалтинг)
🔹создание новых и совершенствование существующих в компании сервисов в части безопасной разработки

Требования к кандидату, условия работы и наши ожидания: https://jet.su/career/vacancies/inzhener-devsecops/

Формат работы: гибрид с офисом в центре Москвы

Резюме и вопросы присылайте в телеграм нашему HR @BigmanVictoria или в отклике на вакансию

Если вы прочитали и подумали, что по каким-то параметрам не дотягиваете, то посмотрите на еще одну нашу интересную вакансию https://hh.ru/vacancy/96999601 ☺️
🔥3🥰3👍1
Network Policy Templating с использованием Helm

Всем привет!

Продолжаем тему работы с сетевыми политиками. Сегодня хочется поделиться интересным и удобным подходом к их управлению. А именно – использованием Helm Template.

В статье Автор предлагает следующее:
🍭 Создание сетевой политики, например, с использованием Cilium Network Policy Editor
🍭 Создание Helm Template на базе ранее созданной политики
🍭 Подготовка Helpers (podSelector, ingress, egress, cidr block и т.д.)
🍭 Тестирование! 😊

Все примеры и пояснения можно найти в статье. Но зачем использовать Helm? Все просто – политики могут отличаться в зависимости от ситуации, но «ядро политики» может быть одним.

Поэтому может быть проще не создавать отдельные NetworkPolicy файлы, а осуществлять управление через разные Helm Values и Helpers.
👍2
Обогащение информации по уязвимостям

Всем привет!

По ссылке можно найти repository, в котором содержится обогащенная информация по CVE. Проект и работа по нему курируется CISA.

Если совсем просто, то CVE обогащаются информацией на основании SSVC scoring (наработки CISA, о которых можно прочесть тут).

В «расширении» информации об уязвимости могут быть добавлены поля
🍭 Exploitation status
🍭 Technical impact
🍭 Automatable

Зачем это может пригодиться? Например, для расстановки приоритетов в устранении уязвимостей, который, зачастую, дается очень не просто
👍111
Semgrep Academy: новые курсы!

Всем привет!

Недавно мы писали про Semgrep Academy (вот тут). На тот момент, курсов было немного, но! Недавно их стало больше!

Были добавлены:
🍭 API Security Mini Course (16 уроков, 30 минут видео)
🍭 Secure Coding (70 уроков, 2 часа виде)
🍭 Semgrep 101 (27 уроков, 1 час видео)

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

Надеемся, что проект будет развиваться, появятся лабораторные работы и, возможно, экзамены ☺️
🔥52
Admission Controller с использованием OPA (но не Gatekeeper)

Всем привет!

Про Admission Webhook есть очень много разных статей, а полезность самой технологии велика! И сегодня мы предлагаем вам ознакомиться с еще одной статьей по теме 😊

Автор предлагает использовать OPA в качестве «точки принятия решения» о соответствии Admission Review Request требованиям. Нюанс в том, что это не Gatekeeper, а самостоятельный сервис, реализованный на "чистой" OPA.

В первой части материала предлагается установить OPA:
🍭 Создание сертификатов, создание и подтверждение CSR
🍭 Разворачивание и конфигурация OPA и kube-mgmt
🍭 Создание Service
🍭 Настройка прав доступа

Все готово! Теперь в кластере есть полноценный Policy Engine, готовый обрабатывать запросы на соответствие политикам.

А продолжение… (написание политик, контроль создаваемых ресурсов и т.д.) будет во второй части статьи!

Для полного погружения и воспроизведения сценария в статье есть ссылки на материалы по теме, много схем, пояснений и примеров кода/конфигураций.
1👍1
Pipeline Integrity and Security

Всем привет!

Еще одна интересная статья из блога GitGuardian. В этот раз ребята рассматривают вопросы обеспечения информационной безопасности конвейеров сборки.

Начинается все с небольшого моделирования угроз (если вы изучали SLSA, то схема будет вам очень знакома 😊), а далее Автор переходит к описанию мер защиты.

Рассматривается:
🍭 Branch protection
🍭 Reproducible builds
🍭 Artifact signing
🍭 Workstation security
🍭 Build platform hardening и не только

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

Единственное, чего бы хотелось – больше детализации.
👍21
K8S Cleaner: удаление неиспользуемых ресурсов k8s

Всем привет!

Иногда случается так, что в кластере k8s остаются неиспользуемые ресурсы или ресурсы, которые находятся в постоянном перезапуске. Причин может быть множество – от некорректно отработавших finalizers до нарушения в логике работы приложения.

Такие ресурсы не очень хочется хранить: они могут потреблять вычислительные мощности или быть использованы для совершения атак.

Удалять их можно по-разному: следить «руками» (но кто так делает в 2024?) или автоматизировать! Реализацией второго варианта может служить K8S Cleaner!

На текущий момент он работает с:
🍭 ConfigMaps/Secrets
🍭 ClusterRoles/Roles
🍭 ServiceAccounts
🍭 Deployments/StatefulSets и не только

А чтобы вы были в курсе происходящего можно настроить оповещения через различные каналы о том, какие ресурсы были удалены. Но это не все 😊 Со всеми возможностями и параметрами конфигурации K8S Cleaner можно ознакомиться в repo проекта
🙈51
CodeQL: From zero to hero, Part 3

Всем привет!

Еще одна потрясающая статья, посвященная CodeQL, принципам его работы и возможностям (про первую и вторую части мы писали тут и тут соответственно).

Третья часть посвящена использованию CodeQL для проведения Security Research. Автор описывает:
🍭 Поиск определенных методов используемых библиотек
🍭 Отслеживание taint-данных (с разбором data flow – local/global и их отличия от taint)
🍭 Идентификация аналогичных/идентичных уязвимостей в кодовой базе
🍭 Общую методологию анализа исходных кодов с использованием CodeQL

Материала много, деталей много, пользы (надеемся) тоже много! Каждый пример описывается максимально подробно, чтобы точно понять, что происходит. Отличное чтиво для пятницы или приближающихся выходных, рекомендуем 😊

P.S. Для укрепления теоретических навыков можно пройти ряд практических заданий 😊
👍2
Distroless Containers: (не) самые защищенные?

Всем привет!

Можно до бесконечности пытаться устранить уязвимости в образах контейнеров, а можно использовать минималистичные образы, в которых «начинка» сведена к минимуму – distroless.

Варианты реализации есть от Google и Chainguard. И кажется, что все отлично – ничего лишнего внутри нет, sh, bash отсутствуют и эксплуатация уязвимостей становится (не) возможной.

Однако, нет ничего абсолютного. В статье Автор предлагает рассмотреть обычный Debian образ из реестра Google и посмотреть можно ли что-то сделать.

Автор пробует:
🍭 Запустить sh, bash внутри контейера. Логично, что ничего не получается
🍭 Далее он меняет entrypoint на /usr/bin/openssl
🍭 Используя enc он может читать информацию, в том числе в Kubernetes, получая ServiceAccountToken

Да, это лишь чтение и изучение, но идею можно развить и дальше. Какой вывод можно сделать? Да, distroless – отличный вариант для сокращения поверхности атаки, но это не панацея и потому лучше не полагаться только на них, а подходить к вопросу обеспечения защиты контейнеров комплексно
🔥5👍1
Kubernetes Pentesting Checklist

Всем привет!

По ссылке можно ознакомиться с checklist’ом, в котором описаны подходы к тестированию на проникновение кластеров Kubernetes.

Материал «разбит» на следующие части:
🍭 Control Plane (etcd, kubelet, static pods и т.д.)
🍭 RBAC Abuse (кража token, горизонтальное перемещение, глаголы (verbs) с повышенными привилегиями и т.д.)
🍭 Иное (то, что не попало в перечень выше)

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

Например, в статье можно найти информацию о том, как записывать данные в etcd, взаимодействовать с kubelet напрямую для получения информации о кластере или запускать команды внутри pod и многое другое
👍2🤓2🔥1
Анализ PyPi пакетов от DataDog

Всем привет!

В том году команда DataDog выпустила в open source свет проект GuardDog, который совмещает возможности композиционного и статического анализа для более точной идентификации уязвимых open source компонент.

Согласно статье команда и сама его использует. В том числе для анализа PyPi пакетов на постоянной основе. Всего у них получилось идентифицировать ~ 1500 вредоносных open source пакетов.

Однажды им попалось вот такое срабатывание:
🍭 Empty Information. У пакета отсутствует описание
🍭 Single Python File. Пакет состоит лишь из одного Py-файла
🍭 Command Overwrite. Команда install видоизменена
🍭 Code Execution, Пакет выполняет команды на уровне ОС

Этого оказалось достаточно для того, чтобы заинтересоваться пакетом и провести его исследование.

Подробности и результаты (а там много всего интересного с примерами кода и пояснениями) можно найти в статье, рекомендуем!
👍1
CI/CD Goat: writeup! Часть 2!

Всем привет!

Продолжение серии writeup’ов, посвященной прохождению заданий в CI/CD Goat (про первую часть мы писали тут). В этот раз Автор сконцентрировался на заданиях уровня «Moderate»

Рассматриваются следующие сценарии:
🍭 Caterpillar. Есть только r/o доступ к repo. Цель – украсть учетные данные из Jenkins Store
🍭 Cheshire Cat. Выполнение кода на Jenkins Controller
🍭 Twiddledum. Поиск флага в загадочном pipeline!
🍭 Dodo. Как сделать S3 Bucket public readable?

Пояснения, скриншоты, комментарии – как обычно 😊 Присутствуют и в достаточном количестве!
👍2
Awesome CI/CD Attacks

Всем привет!

Продолжаем тематику безопасности CI/CD и завершаем неделю с Awesome-подборкой про атаки на CI/CD.

Автор собрал материалы:
🍭 Описание техник (Exposed Sensitive Date, Initial Code Execution, Post Exploitation и т.д.)
🍭 Инструментарий для атак (Gato, Token-Spray, git-dumper и другие)
🍭 Примеры инцидентов
🍭 Перечень похожих материалов по теме CI/CD Security

Ссылок много – точно можно будет найти что-то, что почитать на грядущих выходных 😊

P.S. Про еще один Awesome, посвященный CI/CD Security, мы писали тут.
👍4
Talos Linux: You don't need an OS, you only need Kubernetes

Всем привет!

Разговоров про минималистичные ОС, которые позволяют «запускать Kubernetes и больше ничего» становится все больше.

Если вы еще не в курсе что это такое и зачем, то рекомендуем посмотреть выступление Андрея Квапила (Ænix).

Его история начинается с того, что он пришел в компанию в которой был достаточно громоздкий pipeline для подготовки ИТ-инфраструктуры и запуска приложений.

Далее он подробно рассказывает о том, как Talos может упросить процесс и сделать его оптимальным:
🍭 Установка Talos и Kubernetes
🍭 Использование FluxCD для «дооснащения» кластера (Cert Manager, Prometheus, Cilium и т.д.)
🍭 Нюансы работы с bare metal и способы их решения
🍭 Завершает доклад рассказ про CozyStack – open source платформу, создаваемую Андреем и командой, в которой как раз используется Talos Linux

Помимо этого, в докладе есть информация о том, как делать troubleshooting (что может быть непривычно ввиду отсутствия shell и ssh).

Кстати, использование минималистичных ОС может быть удобно не только ИТ, но и ИБ-специалистам за счет значительного сокращения поверхности атаки и меньшего количества уязвимостей в используемых операционных системах.

Подробнее можно посмотреть в докладе Николая Панченко (Тинькофф) – «ОС Talos Linux — путь к «тому самому» харденингу инфраструктуры для k8s»
👍4