DevSecOps Talks
7.41K subscribers
85 photos
91 files
1.21K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
DevOps VS ИБ: кто кого? ⁉️

DevOps-инженеры хотят улучшить жизнь командам разработки и сократить T2M для бизнеса, а ибэшники живут в другой парадигме и привыкли к формальным подходам. Поэтому часто им сложновато договориться.

14 августа (четверг) в 18:00
приглашаем вас присоединиться к настоящему батлу DevOps и ИБ — со взаимными претензиями, дракой и реальными примерами из жизни.

Среди вопросов дискуссии:

🍭 Забытые секреты, неверные доступы и не только: чем пренебрегают команды DevOps?
🍭 Часто встречающиеся проблемы ИБ в пайплайнах.
🍭 Топ абсурдных требований от безопасников.
🍭 Кто такой ибэшник мечты?
🍭 Кто должен быть медиатором во время конфликтов?
🍭 Успешные кейсы интеграции DevOps и ИБ.

⤵️ Регистрация и подробная программа.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥76👍3🆒21
Использование нейросетей для выявления секретов, опыт Wiz

Всем привет!

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

Традиционные методы, которые зачастую полагаются на использование регулярных выражений, обладают некоторыми нюансами: много ложных срабатываний (как из-за «общих» правил, так и из-за отсутствия понимания контекста), трудоемкая поддержка (добавлять «регулярки» в случае появления новых секретов, «адаптировать» старые и т.д.).

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

Именно этому и посвящена статья от Wiz, в которой команда описывает свой путь.

«Традиционные» модели (GPT, Claude Sonnet и т.д.) им не подошли по ряду причин:
🍭 Слишком сильное потребление ресурсов (Wiz анализирует миллионы файлов ежедневно)
🍭 Слишком высокая стоимость (обусловленная, опять-таки, большим количеством анализируемой информации)
🍭 Передача конфиденциальной информации (многие пользователи Wiz не хотели, чтобы их данные попадали в вышеуказанные сети)

Поэтому команда решила отойти от парадигмы «bigger is better» и использовать небольшую модель, которую обучили выполнять ровно одну задачу – искать секреты в исходном коде и конфигурационных файлах.

Все этапы: от формирования набора данных (data set) до тестирования и анализа результатов (ожидание/реальность) представлены в статье.

Да-да, в том числе в статье написано какую именно модель выбрали и какие подходы к обучению использовали.

Завершают статью небольшие размышления Автора о том, что будет дальше и как еще можно использовать полученный опыт.
👍91🔥1
Offensive Container Security: техники, сценарии атак

Всем привет!

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

В статье содержится информация о:
🍭 Наиболее «популярные» ошибках в конфигурации Docker (privileged, exposed docker socket, fs mount и т.д.)
🍭 Наиболее «популярных» ошибках в конфигурации Kubernetes (exposed endpoint, token abuse, RBAC misconfigurations и т.д.)
🍭 Техниках побега из контейнера и повышения привилегий
🍭 Способах закрепления и дальнейших действиях в кластере
🍭 Атаках на цепочку поставки, применимых к контейнеризации

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

Всем привет!

Вторая статья из серии This Shit is Hard (про первую, посвященную Chainguard Factory) мы писали тут.

На этот раз речь пойдет о том, как команда интегрируется с разными сканерами, выявляющими уязвимости в образах контейнеров.
Зачем? Все просто. Задача команды сделать не только максимально «чистые» образы, но и помочь пользователя убедиться в этом в независимости от сканеров, которые они используют.

Если упростить, то сканеры работают примерно так:
🍭 Анализ артефакта (ELF-файл, JAR-файл, образ контейнера и т.д.) с целью понять, что в него «положили»
🍭 Соотношение полученной информации (пакеты, версии) с известными источниками данных об уязвимостях
🍭 Обогащение «контекстом». Если сканер понимает откуда был получен пакет, то он может запросить дополнительную информацию от поставщика

Третий пункт – именно то, на что обращает внимание команда Chainguard. Они составляют определенные файлы, в которых содержится дополнительная информация.

Например: да, уязвимость есть; уязвимость устранена, на нее можно не обращать внимание; определенные условия, в которых уязвимость становится актуальной и т.д.

Ребята ежедневно сканируют собираемые образы (они используют Grype) и постоянно работают над сокращением уязвимостей.

Да, можно было написать, что все хорошо и уязвимостей нет. Однако, команда пошла по пути: «Не верьте нам на слово, проверьте сами!». И тут есть нюанс.

Сканеров очень много и все они работают по-разному. Поэтому Chainguard выпустили собственные рекомендации о том, как можно с ними интегрироваться, на что обращать внимание и как можно реализовать дополнить результаты работы сканера данными из их feeds. Кроме того, они размещают информацию на OSV.dev.

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

P.S. Список сканеров, которые поддерживает Chainguard на текущий момент, доступен тут.
malcontent: инструмент для обнаружения supply-chain атак

Всем привет!

Изменения в бинарях важно заметить вовремя, особенно если речь идёт о скрытом или едва заметном поведении программы (subtle behavior). В таких случаях полезен malcontent от Chainguard — инструмент для выявления supply-chain компрометаций через контекстный анализ и сравнение артефактов.

🎯 Malcontent поддерживает три режима работы:
- diff — анализ изменений между двумя версиями: добавленные права или поведение будущих версий
- analyze — глубокий анализ возможностей и capabilities бинаря
- scan — поиск malware в директориях и в процессах
🎯 Использует YARA-правила: огромный набор — более 14,5к open-source правил, включая правила от Avast, Elastic, FireEye, Mandiant, ReversingLabs и других.
🎯 Широкая поддержка: работает с бинарями в форматах ELF, Mach-O, PE и платформами Linux, macOS, Windows, а также с языками (C, Go, Javascript, PHP, Perl, Ruby, Shell, Typescript), архивами (apk, tar, zip) и контейнерными образами. Отлично подходит для CI/CD.
🎯 Позволяет формировать отчёты в JSON, YAML и Markdown.

Важно:
Инструмент «параноидальный», многие находки могут быть ложноположительными — будьте к этому готовы.

Уже ставили что-то подобное в CI/CD? Делитесь опытом!
🔥91👍1👏1
Headlamp AI Assistant

Всем привет!

Headlamp – интерактивный Web UI для Kubernetes, о нем мы писали тут. Недавно команда добавила возможность использования собственного AI-ассистента.

Ассистент может помочь решить разные задачи:
🍭 Подготовить манифест для ресурса, который можно применить впоследствии без лишних действий
🍭 Дать «сводную информацию» о состоянии приложения
🍭 Помочь в идентификации причин возникающих проблем
🍭 Подготовить рекомендации о том, как устранить существующие ошибки
🍭 Выполнить действие (например, перезапустить deployment) и не только

Устанавливается он в качестве plugin и практически сразу готов к работе.

По ссылке также доступен небольшой ролик, в котором демонстрируется весь процесс: от установки и настройки до демонстрации возможностей.
3
Falco Vanguard

Всем привет!

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

Недавно команда объявила о выпуске нового продукта – Falco Vanguard, который расширяет функционал Falco и упрощает процесс работы с ним.

Если кратко, то Falco Vanguard позволяет:
🍭 Обогатить результаты работы Falco с использованием AI. Помимо использования OpenAI и Gemini есть возможность использования локальной LLM (Ollama), чтобы исключить передачу данных во "внешние системы"
🍭 Получать информацию об уровне защищенности на готовых дашбордах
🍭 Генерировать рекомендации для сработавших правил Falco
🍭 Повысить точность работы Falco по идентификации угроз и не только

В статье приводится описание архитектуры, способов установки и первичной настройки Falco Vanguard.

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

Важно(!): проект находится в стадии активной разработки. Некоторый функционал может не работать или работать не так, как ожидалось. И да, возможны breaking change без уведомлений
👍32
Лучшие практики по защите Kubernetes

Всем привет!

Статья для тех, кто только начинает знакомиться с миром безопасности Kubernetes. В ней описан набор из 12 практик, которые точно будут полезны.

Например:
🍭 Using Non-Root Containers
🍭 Do not use hostPath Volumes
🍭 Do not share the Host Namespace
🍭 Do not use Insecure Capabilities
🍭 Do not set Custom SELinux Options и другие

Для каждой рекомендации ёмко и кратко поясняется «почему это так», приводятся примеры и рекомендации о том, как и что лучше реализовать.
6👍3
DeepPass2: выявление секретов с использованием
LLM


Всем привет!

На предыдущей неделе мы писали про опыт Wiz в использовании LLM для поиска секретов с целью повышения качества анализа и сокращения false positive.

На этой неделе хотим поделиться статьей, в которой решается аналогичная задача и рассказывается про DeepPass2 (увы, не open source).

Команде нужен был инструмент, который из «стены текста» сможет найти пароли. Да, «P@SSW0RD» найти легко. А вот «Бабочка»? Это пароль или нет? Зависит от контекста.

«Большие LLM» не использовались. Проблематика схожа с тем, к чему пришли Wiz: это дорого, качество не всегда устраивает (в том числе и из-за галлюцинаций), вопросы с конфиденциальностью.

По этой причине команда решила использовать собственный подход.

Он заключается в том, что:
🍭 Используются небольшие модели
🍭 Добавляются RegEx. Команда взяла их у NoseyParker (о нем мы писали тут)
🍭 В качестве «данных для тренировки» использовались dump’ы с паролями; тексты генерируемые LLM
🍭 Дополнительно команда сделала «skeleton sentences» и подставляла в них разные данные, чтобы обучить модель пониманию контекста. Например: «Your account has been created with username: {user} and password: {pass}»

Что в итоге и какие планы на будущее? Ответы на эти вопросы и не только можно найти в статье.

Получились две идеологически очень похожие статьи (как с точки зрения подхода, так и с точки зрения достигнутых результатов). Быть может, повышение точности обнаружения секретов и сокращение количества false-positive – это то, где нейронные сети уже хорошо себя показывают?
Автоматическое масштабирование с помощью KEDA с использованием пользовательских метрик RED

Всем привет! 👋

Статья рассказывает, как настроить автоскейлинг в Kubernetes с помощью Kubernetes Event-driven Autoscaling (KEDA) и Rate, Errors, Duration (RED) метрик из Prometheus.

Автор начинает с задачи: старые сервисы перегружались в часы пик, но простаивали в остальное время. Отмечается, что традиционные метрики CPU/памяти не всегда отражают реальную нагрузку на приложение, поэтому для масштабирования был выбран подход, ориентированный на пользовательский опыт.

Ключевые шаги:
🎯 Архитектура решения: K8s + KEDA + Prometheus. Рассматривается сравнение KEDA с другими средствами (HPA, Cluster Autoscaler, Knative, самописные решения). KEDA поддерживает множество источников метрик (включая Prometheus и пользовательские), умеет масштабироваться «до нуля» и гибко настраивается через ScaledObject.
🎯 Тестирование нагрузки (Locust, JMeter) для имитации пиковых нагрузок, настройка мониторинга через Grafana.
🎯 Основные проблемы и их решения: оптимизация PromQL-запросов (подбор метрик, окон агрегации, упрощение запросов). Также нужно было сбалансировать быстродействие и устойчивость: регулировать pollingInterval и cooldownPeriod, а при уменьшении нагрузки — устанавливать разные пороги для масштабирования вверх и вниз. Кроме того, при масштабировании стали заметны узкие места внешних систем (например, БД). Для этого внедрили пул соединений, реплики для чтения базы данных и кэширование, чтобы помочь интеграционным компонентам выдерживать увеличенную нагрузку.
🎯 Результаты: улучшение отклика сервисов, оптимизированы расходы на облако, более надёжная архитектура и аналитика.

И самое полезное — в статье есть конкретные примеры манифестов и команд, которые можно повторить у себя! 🚀
🔥8👍53🥰1
GitHub Actions: Hardening

Всем привет!

Еще один материал от Wiz! На этот раз команда делится опытом о том, как можно сделать GitHub Actions более безопасным и на что стоит обращать внимание.

В статье рассматривается:
🍭 Configuring GitHub Actions for Safer GitHub Actions. Управление полномочиями, контроль Actions, управление runners
🍭 Safely Writing GitHub Workflows. Управление полномочиями, «внешними» Actions, контроль использования секретов
🍭 Safely Running GitHub Workflows. Управление runner и корректная настройка инфраструктуры

В результате получилось очень наглядное и понятное руководство о том, как и что можно настроить в GitHub Actions для повышения уровня защищенности.
5
SASTDemons.pdf
31.2 MB
Изгоняя демонов SAST

Всем привет!

Такое название отчету (который можно найти в приложении) дала Ghost Security. Он посвящен результатам исследования возможности использования LLM для оптимизации времени разметки результатов, генерируемых SAST.

В рамках исследования Команда:
🍭 Просканировала порядка 3000 репозиториев open source проектов
🍭 Проанализировала более 2000 сработок
🍭 Потратила 350 часов (~ 2 месяца) для того, чтобы найти 180 истинных срабатываний

Итог простой и очевидный – нужно «что-то», что поможет как-то оптимизировать процесс. И этим «чем-то», конечно, стала LLM.

В отчете достаточно детально описана методика тестирования (что анализировали, что искали, какие инструменты использовали).

Правда не хватает описания используемых LLM и соответствующих prompt’ов.

Единственное, что указано: чтобы сработка считалась истинной необходимо выполнение 3х условий. Код достижим, возможна эксплуатация через external input, ИБ-контроли отсутствуют.

Был ли у вас опыт использования LLM для разметки результатов SAST и если да, то какой?
👍6
Rules Files Backdoor

Всем привет!

Еще один пример атаки на цепочку поставки. На этот раз главным действующим лицом стали AI-агенты, которые используются для генерации кода.

Выглядит это следующим образом:
🍭 Злоумышленник создает собственный Rule File
«Делится» им с сообществом
🍭 Разработчики используют этот Rule File (который кажется весьма безобидным)
🍭 «Что-то» начинает добавляться в генерируемый код (зависит от того, что было в Rule File)

Для того, чтобы создаваемые Rule File выглядели безобидными в них добавляют обычное описание (например, «follow HTML5 best practices»). Однако, рядом, используя разные манипуляции, помещают «дополнительные инструкции», которые могут быть не видны.

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

Подробности (примеры, описание, анализ поверхности атаки, способы противодействия) можно найти в статье от Pillar Security.
ArgoCD: анти-паттерны

Всем привет!

В статье (~ 40 минут чтения) собраны 30 анти-паттернов, характерных для использования GitOps подхода (на примере ArgoCD).

Например:
🍭 Using ArgoCD parameter overrides
🍭 Grouping applications at the wrong abstraction layer
🍭 Writing applications instead of Application Sets
🍭 Using Helm to package Application CRDS
🍭 Abusing ArgoCD as a full SDLC platform и не только

Далее каждый анти-паттерн «раскрывается»: Авторы поясняют в чем он заключается, к каким проблемам это может привести, почему так делать не надо и предоставляют рекомендации о том, как можно сделать лучше.

Много комментариев, примеров конфигураций, пояснений на примере ArgoCD.

А вы согласны с таким набором и сталкивались ли вы с анти-паттернами использования GitOps? И если да, то с какими? Пишите в комментариях!
👍42👎2🔥2🤔1
🔵🔵🔵🔵🔵🔵🔵🔵
Всё ИТ-сообщество там будет, а вы?


10–11 сентября в Москве состоится третья ежегодная конференция IT Elements — событие для обмена опытом в области инфраструктуры, сетей, кибербезопасности, работы с данными и ИИ.

В программе:

🔹 Инфраструктура: антихрупкость архитектуры, гибридные облака, Kubernetes.
🔹 Сети: будущее ЦОДов, VXLAN, балансировка, UC.
🔹 Кибербезопасность: киберустойчивость, NGFW, безопасная разработка.
🔹 Данные и ИИ: Big Data, корпоративные GPT, LakeHouse.
🔹DevSecOps: процессы, инструменты и новые подходы (это самая интересная часть для вас, дорогие подписчики: будут классные доклады и круглый стол)

IT Elements — площадка для тех, кто реально делает ИТ в России:

🎙 6 тематических залов
🎙 100+ спикеров и десятки дискуссий
🎙 кейсы от известных спикеров
🎙 лаборатории, воркшопы, реальный хардкор
🎙 30+ вендорских демозон

Программа и регистрация доступны на сайте конференции.

Участие бесплатное.
Please open Telegram to view this post
VIEW IN TELEGRAM
25❤‍🔥5🔥3🥰21🤡1🐳1👻1🗿1
OpenSSF SBOM Catalog

Всем привет!

Небольшой пятничный пост ☺️ Хотите работать со SBOM, но не знаете какой инструмент выбрать? Или просто интересно «а что есть еще?»

Тогда OpenSSF SBOM Catalog может вам помочь.

Он представляет из себя интерактивное приложение, содержащее разную информацию о разных утилитах.

Например:
🍭 Поддерживаемые стандарты (CycloneDX, SPDX)
🍭 Лицензия (open-source, проприетарное)
🍭 Возможности (создание, проверка, подпись, конвертация)
🍭 Поддерживаемые технологии и не только

Работает просто: выбираете нужные вам параметры и смотрите на получившийся «набор». При необходимости можно переключать отображения: «пузырьки», mind map, таблица.

А если нужен GitHub-репозиторий, то его можно найти по ссылке.
👍4🔥2
Multipart Parsers: примеры обхода

Всем привет!

Парсеры multipart/form-data не всегда работают корректно и есть разные способы для того, чтобы их обойти.

В статье (~ 27 минут) разбираются некоторые примеры того, как именно это можно сделать.

Начинается статья с того, что Автор описывает стандартные способы проверки (расширение файла, magic bytes, content-type и т.д.) и что такое multipart\form-data.

Дальше – сами техники обхода:
🍭 duplicated name parameter
🍭 breaking the CRLF seuqences
🍭 removing double quotes
🍭 missing closing boundary string
🍭 filename*=utf-8'' in request

Помимо этого, в статье есть информация о том, как можно обходить разные WAF. Каждый пример, приведенный в статье подробно описан, с кодом и пояснениями.

Проверка передаваемых параметров – задача крайне важная и статья может помочь в том, чтобы понять на что обращать внимание и как сделать этот процесс более безопасным.
2
Использование AI для анализа CVE

Всем привет!

В статье описан опыт NVidia по анализу CVE в контейнеризованных приложениях с использованием AI.

Проблематика известная и понятна: «традиционный подход» -
проанализировать и использовать обновление – на больших масштабах работает не очень хорошо.

Особенно с учетом того, что многие результаты не релевантны: сканер ошибся, уязвимый метод не достижим, не рассматривается контекст (например, используемые меры защиты или окружение, в котором разворачивается ПО).

Если рассматривать процесс управления уязвимостями, как последовательность шагов «Scan», «Investigate», «Decide», «Mitigate» и «Publish», то перед NVidia стояла задача сокращения этапа «Investigate».

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

Если кратко, то используется следующий алгоритм:
🍭 Генерируется список действий (проверить наличие уязвимости, наличие JRE и т.д.)
🍭 Каждый элемент списка действий анализируется LLM. При этом используются внешние источники: SBOM-файлы, информация о репозиториях, данные от TI и т.д.
🍭 Завершается все анализом полученных результатов, формирование мнения относительно возможности эксплуатации CVE (в том числе в формате VEX)

Примеры того, как это выглядит можно найти в статье. Кроме того, есть краткое описание процесса по управлению уязвимостями, реализованном в NVidia: от момента помещения нового контейнера в реестр до формирования VEX-файлов.
👍31
Плагины и утилиты для Helm

Всем привет!

Helm’a при всем его (не) удобстве не всегда бывает достаточно. Иногда хочется как-то расширить его функционал.

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

Например:
🍭 helm-diff – анализ изменений до их применения
🍭 helm-docs – автоматическая генерация документации для чартов
🍭 trivy – анализ чартов на наличие уязвимостей
🍭 helm-mapkubeapis – анализ устаревших (deprecated) версий API и не только

Для каждого плагина/утилиты Автор кратко описывает назначение, преимущества от использования и ссылки на GitHub Repo.

А чтобы вы добавили/удалили из этого перечня?
👎21
Основы Taint Analysis

Всем привет!

SAST это не только «поиск по шаблонам», многие решения включают в себя более сложные механизмы поиска ИБ-дефектов, включая Taint Analysis.

Если упростить, то это нечто вроде анализа «пути жизни данных» - от их передачи в ПО до использования в различных методах.

По ссылке можно прочесть небольшую статью, в которой кратко и просто объясняется, что это такое и как это работает.

Статья содержит разделы:
🍭 Основные концепты: sources, sinks, sanitizers
🍭 Принципы работы Taint Analysis
🍭 Примеры паттернов для уязвимостей (SQLi, XSS, Command Injection, Path Traversal)
🍭 Как писать правила для Taint Analysis

Никакой воды, много примеров и доступных объяснений. Самое «то» для начала погружения в тематику и основы ее работы.

P.S. Помимо описания Taint Analysis на сайте представлен аналогичный материал для Control и Data Flow Analysis.
👍9
Alfa CTF: Surfing Edition! 🏄‍♂️

Всем привет!

Alfa CTF – мероприятие от Альфа Банка, в котором можно попробовать новое, испытать себя и прокачаться в кибербезопасности!

Ребята предлагают обширный набор заданий, который включает в себя и безопасную разработку.

Вас ждут:
🍭 Web. Получить доступ к базе сайта, купить товар без денег, скачать файл (доступный только администратору)
🍭 Reversing. Понять алгоритм программы без исходников, обойти проверки в приложении, разобраться в протоколе между приложением и бэкэндом
🍭 Pwn. Переполнение буфера, ошибки при работе с кучей, стеком, перетирание указателей в памяти

Регистрация открыта до 13-ого сентября!

Подробности о сроках, поиске команды, правилах и, конечно же, призах можно найти по ссылке на мероприятие.

P.S. Задания будут разной сложности, опыт в CTF не обязателен, главное – желание!
🔥8👍5🥰5🤩21