DevSecOps Talks – Telegram
DevSecOps Talks
7.43K subscribers
85 photos
94 files
1.23K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
Анализ ИБ пакетов в режиме «реального времени»

Всем привет!

Один из способов устранения проблем при debug – это Google! Зачастую он ведет на StackOverflow или иные подобные ресурсы, где можно встретить советы в стиле «Надо просто установить/обновить пакет до версии XXX».

Допустим, что вы – Разработчик, которому не все равно на ИБ (верим, что такие есть!). Как узнать, есть ли у этого пакета уязвимости и насколько он «хорош» с точки зрения ИБ? Да, есть много разных ресурсов (например, Snyk Advisory, Deps и их аналоги), но потребуется сделать слишком много действий. А хочется здесь и сейчас!

Именно так размышляли члены SCAR (Supply Chain Attack Research – организация, объединяющая Checkmarx, Aqua, Cider, SNYK, Mend и не только), когда создавали Overlay.

Overlay представляет из себя надстройку для browser (Chrome, Mozilla), которая может распознавать упоминания пакетов на сайтах и сразу «подсказывать» что в нем есть плохого. Альтернативный сценарий – «расширение» выдачи информации о пакетах на индексах с добавлением информации по уязвимостям и результатам анализа OSSF Scorecard. Информацию об ограничениях работоспособности можно найти в repo проекта.

Выглядит крайне удобно и, что самое главное, developer-friendly ☺️

P.S. А если Вам захочется чуть больше узнать про SCAR и историю создания Overlay – можно обратиться к этой статье.
👍4🔥2
Использование LLM для анализа open source пакетов

Всем привет!

Интересный эксперимент провела команда Endor Labs. Ребята захотели проверить гипотезу о возможности использования LLM для анализа open source пакетов. В качестве LLM выбрали ChatGPT v3.5 и приступили к анализу.

Среди ~ 1800 «подопытных» было идентифицировано 34 «вредоносных» артефакта, среди которых
🍭 13 – True Positive
🍭 1 представлял из себя безвредный PoC
🍭 5 артефактов содержали обфусцированный код, который был безвреден
🍭 15 – False Negative

С одной стороны – результат неудачный. Но, помимо «решения» о вредоносности пакета ChatGPT описывал, что происходит в анализируемом коде. Встречались случаи, когда модель явно описывала Reverse Shell, но признавала пакет «нейтральным». Поэтому все может быть не так плохо.

Примеры разбора, а также некоторые «хитрости» как можно обойти такой анализ и обмануть модель (достаточно тривиально) – все это есть в статье.

Ранее мы писали о похожем эксперименте от Semgrep, но суть была иная – написание правил анализа. Жутко интересно посмотреть, во что это превратится в горизонте условных 5 лет!
🔥1
8 tips for securing CI/CD pipeline

Всем привет!

Тема безопасности конвейера сборки набирает все большую популярность, появляются различные guides, стандарты, рекомендации и т.д. SNYK не стал исключением и выпустил свой cheatsheet.

Внутри можно найти:
🍭 Check your dependencies for potential security issues
🍭 Perform static analysis on your own code
🍭 Scan your container images
🍭 CI pre and post merge scanning и не только

Для каждой из 8-и рекомендаций приводятся примеры и описание того, что имеется ввиду.
2👍1
Coroot: Kubernetes observability

Всем привет!

Coroot – проект, назначение которого – повышение observability в кластерах Kubernetes. «Под капотом» используется технология eBPF.

При помощи Coroot можно:
🍭 Получать информацию по logs, traces и profiles
🍭 Анализировать потребление ресурсов узлов кластера
🍭 Строить схемы сетевого взаимодействия между pods
🍭 Интеграция с системами мониторинга (Prometheus, Grafana) «из коробки»
🍭 Alerting через Slack, PagerDuty или MS TEams

И, что самое классное, есть open source версия, которая хоть и обладает ограничениями, но все равно достаточно функциональна. Чтобы больше узнать о Coroot и посмотреть его «в действии» можно прочесть статью или обратиться к документации.
1👍1
kyverno-2023-fuzzing-security-audit.pdf
724.3 KB
Kyverno: fuzzing audit

Всем привет!

Когда вспоминают про open source, то, зачастую, можно услышать нечто вроде «небезопасно, да кто там его разрабатывает вообще, все кому не лень что-то напишут и потом мучайся». Для некоторых проектов это действительно так, однако!

Некоторые open source проекты представляют из себя вполне управляемый процесс разработки с рабочими группами, тестами, релизами, сроками, ответственными и т.д. (Kubernetes тоже open source 😊). В том числе не забывают и про информационную безопасность.

Например, недавно завершился аудит ИБ проекта Falco и теперь доступны результаты fuzzing-тестирования проекта Kyverno.

Было найдено 3 дефекта:
🍭 Type confusion in policy validation routine
🍭 Assignment to nil-map in policy validation
🍭 Missing fallback results in a nil-dereference panic

Детали, информация об используемых fuzzers представлена в отчете. Он достаточно небольшой (~ 15 страниц), все по делу и без «воды».
🔥6👍1
7 Ways to Escape a Container

Всем привет!

В статье собрана информация о 7-и способах побега из контейнера.

Рассматриваются сценарии:
🍭 Mount the host filesystem
🍭 Use a mounted docker socket
🍭 Process injection
🍭 Adding a malicious kernel module
🍭 Reading secrets from the host
🍭 Overriding files on the host
🍭 Abusing notify on release

Для каждого из сценариев приводится краткое описание, «требования», которым необходимо «соответствовать», чтобы все получилось и, конечно же, PoC.

Напоминаем, что подобные материалы публикуются только для целей изучения – не надо пытаться их реализовать в окружениях, отличных от лабораторных.
Software Supply Chain Security: обзорный материал

Всем привет!

Чем еще заняться в выходные, кроме как читать про Software Supply Chain Security? Если Вы разделяете это мнение, то материал по ссылке может Вам понравиться!

По ссылке доступна агрегация большого количества информации про безопасность цепочки поставки ПО. Можно сказать, что это некая «awesome-статья», в которой собраны не только ссылки, но и описательная часть.

В статье описывается:
🍭 Важность темы обеспечения безопасности цепочки поставок ПО
🍭 Из чего «состоит» цепочка поставки ПО
🍭 Атаки на цепочку поставок ПО (дада, та самая известная картинка, которую все переиспользуют 😊)
🍭 Зависимости, их типы, CI, Registry, контейнеры и многое другое

Примеры, ссылки, дополнительные материалы – всего в избытке! Если дочитать до конца, то можно увидеть приятный бонус: «We have analyzed over 12+ software supply chain vendors. In Part 2 of our SSC report, we provide a detailed analysis of each». Будем держать Вас в курсе!
👍1
Kubernetes Operator: цикл статей

Всем привет!

По ссылка ниже доступен набор статей, посвященных Kubernetes Operator. Рассматриваются ключевые термины, объясняется принцип работы.

Подборка содержит статьи:
🍭 Controller Runtime Example Controllers
🍭 Overview of Controller Runtime
🍭 Manager
🍭 Builder
🍭 Reconciler
🍭 Controller

Внутри много пояснений, схем и примеров кода. После прочтения создать собственный Kubernetes Operator будет в разы проще 😊
👍41
Monokle: валидация Kubernetes манифестов в IDE

Всем привет!

При разговорах о валидации Kubernetes-манифестов на соответствие требованиям ИБ и не только первым, что приходит на ум является Admission Controller и CLI-утилиты, которые можно встраивать, например, в CI-pipeline.

А что, если получать аналитику прямо во время работы с манифестами в IDE? Вполне возможно! Для этого можно использовать VS Code plugin от Monokle.

В статье описываются базовые принципы его использования. Если кратко, то он позволяет анализировать:
🍭 open-policy-agent
🍭 resource-links
🍭 yaml-syntax
🍭 kubernetes-schema
🍭 pod-security-standards
🍭 practices
🍭 metadata

Подробности того, что содержит каждый «набор» проверок можно найти по ссылке. Кроме этого, есть и CLI-утилита, которую можно встроить в CI, если Вы еще не пользуетесь аналогами от OPA/Kyverno или чем-то похожим. Ссылка на нее приводится в статье поста.
👍1
SCM Platform Configuration Best Practices

Всем привет!

Интересно, есть те, кто не любит check list? Возможно! Но точно не среди ИБ-специалистов. По ссылке можно найти такой для систем управления исходным кодом, подготовленной рабочей группой из Open Source Security Foundation (OpenSSF).

🍭 Материал структурирован по разделам:
🍭 CI/CD
🍭 Enterprise
🍭 Members, Access Control and Permissions
🍭 Organization Management
🍭 Repository
🍭 Operations

Для каждой рекомендации отдельно приводится описание, примеры угроз и меры по противодействию: фактически – что надо сделать, чтобы ее выполнить. Указанные рекомендации могут быть применимы для GitHub и для GitLab (в соответствии с обозначением).

Помимо этого, приводится небольшой перечень инструментов (Allstar, Legitify, Scorecard), которые помогут автоматизировать проверки соответствия.
1
Tartufo: еще один инструмент поиска секретов

Всем привет!

По ссылке можно найти исходный код проекта Tartufo. При помощи него можно искать секреты в исходном коде или анализировать commit до его «попадания» в VCS.

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

«Глубина» анализа – entire commit history of each branch, and check each diff from each commit. Сканировать можно, как «локальные» repo, так и remotes.

Больше информации в документации. Кстати, оформлена она очень неплохо: много пояснений и примеров о том, как и для чего может пригодиться та или иная функция.
3
Fundamentals Certification For Kyverno

Всем привет!

Небольшое развлечение на выходные – проверка базовых знаний по Kyverno! По ссылке можно записаться на online-экзамен, который проверит понимание основ инструмента.

Для прохождения потребуется ознакомиться с:
🍭 Basic Concepts
🍭 Installation
🍭 Policy Definition

Большинство разделов отсылает к соответствующим разделам в документации Kyverno. После этого (или сразу, если Вы в себе уверены) потребуется ответить на перечень вопросов (~ 40, возможно меньше) в формате «единственный выбор». Тест хоть и простой, но охватывает все основные области, которые потребуются для дальнейшей работы с инструментом.
🔥31
Security Small Talk: OSA/SCA

Всем привет!

Давно не публиковали в канале небольшие обзоры, которые просто и доступно объясняют за какую-нибудь технологию и/или концепт». Исправляемся, да еще как!

В выпуске про OSA/SCA Алексей и Любовь расскажут про:
🍭 Что такое OSA и SCA, в чем разница между этими терминами
🍭 Ключевой функционал OSA/SCA решений
🍭 Основные аспекты безопасности при анализе open source
🍭 Обеспечение равномерного и непрерывного процесса риск-проверки
🍭 Автоматизацию SCA-процессов и решения, которыми можно воспользоваться

Коротко. Просто. По делу 😊 Если Вам нравится такой формат – пишите в комментариях про что еще сделать аналогичный ролик ☺️
👍10🥰6🔥4❤‍🔥11🤡1🌚1🍌1
Лекции от ИСП РАН по анализу исходного кода

Всем привет!

Хочется чуть больше узнать про fuzzing и статический анализ исходного кода ПО? Посмотреть, как это устроено и что есть «под капотом»? Тогда подборка учебных материалов от «Института системного программирования им. В.П.Иванникова Российской академии наук» (ИСП РАН) может Вас заинтересовать.

По ссылке можно найти лекции по таким темам, как:
🍭 Особенности fuzzing-тестирования при проведении сертификационных испытаний
🍭 Подходы к fuzzing-тестированию управляемого кода
🍭 Введение в статический анализ
Подходы к статическому анализу
🍭 Статический анализ исходных текстов интерпретируемых языков и не только

Лекции небольшие (в среднем до 15 минут) и помогут лучше понять основы анализа информационной безопасности приложений.
👍11🔥2
Software Supply Chain Security: анализ средств защиты

Всем привет!

Вторая статья цикла, посвященная безопасности software supply chain (про первую мы писали тут). На этот раз Авторы проанализировали более 20 решений, которые позволяют автоматизировать практики защиты цепочки поставки ПО.

Материал структурирован по разделам:
🍭 Source Code Layer. Защита систем контроля версий, анализ кода
🍭 The Build & Pipeline Layer. Композиционный анализ и идентификация вредоносных пакетов
🍭 CI/CD Security. Защита конвейера сборки
🍭 Packaging & Deployment Layer. Подпись артефактов, создание и контроль SBOM

Да, 99% представленных решений являются платными, однако, ознакомление с их функционалом и возможностями может быть полезно для того, чтобы лучше разобраться в тематике software supply chain и понять, что нужно и можно делать в этом направлении 😊
👍5
Chalk: GPS для ПО

Всем привет!

Недавно в open source мире появился еще один интересный проект – Chalk.

Chalk решает крайне интересную задачу – «связывает» ПО, развернутое в произвольном окружении с его build-информацией, вплоть до commit. Это может быть полезно при debug или при расследовании инцидентов ИБ.

Для того, чтобы это было возможно, Chalk собирает метаданные процесса сборки и делает «Chalk mark», которая позволяет идентифицировать происхождение.

По умолчанию, в качестве метаданных, собирается базовая информация – repo, branch и commit id. Однако, схему можно расширять, например, добавив SBOM или результаты статического анализа.

О том, как работает эта «магия» можно прочесть в документации, так же там есть starting guide. Да, решение «сырое», но сам концепт выглядит весьма интересным. С исходным кодом проекта можно ознакомиться по ссылке.
👍4👀3
GitHub Certifications

Всем привет!

Недавно GitHub анонсировал набор собственных сертификацийGitHub Foundations, Actions, Advanced Security и Administration. Они пока не доступны широкой публике, но уже сейчас можно добавить себя в waitlist.

Удобно, что для каждого направления команда GitHub подготовила Leaning Path, доступный online. Его изучение поможет не только лучше познакомиться с системой, но и пройти сертификацию.

Например, Learning Path для Advanced Security включает в себя:
🍭 Настройка dependabot’a для реализации security updates
🍭 Настройка и использование Secret Scanning
🍭 Анализ кода и идентификация ИБ-дефектов с CodeQL
🍭 Администрирование GitHub для нужд ИБ и не только

Время изучения разделов варьируется – от 20 минут до 1,5 часов. А если хочется больше – то можно скачать Study Guide в котором кратко описано что нужно делать.

Отличная работа со стороны GitHub для популяризации технологии и повышения компетенций специалистов. И да, конечно же, еще один GitHub Badge для Вашего профиля! ☺️
👍7
Kor: идентификация неиспользуемых ресурсов k8s

Всем привет!

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

В Kubernetes подобная задача может быть не совсем тривиальной ввиду большого количество resources, создаваемых в кластере. Помочь в этом может проект Kor.

Он позволяет идентифицировать неиспользуемые resources, такие как:
🍭 ConfigMap
🍭 Secrets
🍭 Roles
🍭 Services и не только

Под «неиспользуемым» понимается следующее (на примере ConfigMap): рассматриваемый ConfigMap не используется в Pod, Container, Volumes, Env.

Подробнее с возможностями настройки Kor (которых не много) и ограничениями утилиты можно ознакомиться в repo проекта.
🔥3
Обход политики Kyverno через Kubernetes Finalizers

Всем привет!

Достаточно интересную уязвимость обнаружил Автор статьи. Все началось с того, что он решил написать политику, которая бы «выбирала» ресурсы с параметром deletionTimestamp (кто знает зачем такая политика, но…). В итоге оказалось, что Kyverno игнорирует подобные запросы.

Можно ли как-то использовать это? Чтобы ответить на этот вопрос надо понимать, что происходит при операции DELETE — это очень подробно и доступно описано в статье. И все равно поначалу ничего не получалось – изменить что-либо в .spec почти нельзя, а некоторые изменения и о вовсе игнорируются при удалении ресурса.

Однако, не все ограничивается pod и их «обертками». В итоге Автор остановился на Service и реализовал следующий алгоритм:
🍭 Создал вполне легитимный Service типа ClusterIP
🍭 Добавил несуществующий finalizer, чтобы удаление происходило бесконечно
🍭 В момент удаления изменил тип сервиса на NodePort. При этом блокирующая (Enforce) политика Kyverno не обратила на это внимание
🍭 Получил доступ через «созданный» NodePort

Таким образом, через finalizers успешно был реализован обход enforce-политики Kyverno. В версиях 1.10+ указанный недостаток уже устранен. Очень рекомендуем статью к прочтению, чтобы лучше разобраться в том, как работает Kubernetes и Kyverno ☺️
2🔥2
Обновление Sealed Secrets паролей в Kubernetes

Всем привет!

Sealed Secret – утилита, которая позволяет «запечатать» секрет таким образом, что его можно хранить в используемой VCS-системе не боясь компрометации.

Весьма удобно, например, для реализации GitOps-подхода. При применении подобного ресурса на кластере Kubernetes происходит операция unseal, которая «восстанавливает» требуемую информацию и все работает.

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

В статье автор подробно расписывает проблематику и сам процесс, включающий в себя:
🍭 Создание hash-значения нового пароля с использованием bcrypt
🍭 Генерация шаблона секрета для Kubernetes (k create secret –dry-run=client...)
🍭 «Запечатывание» созданного секрета с использованием kubeseal и применением --merge-into
🍭 Перезапуск целевого контейнера для обновления секрета внутри него

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

Всем привет!

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

Доступно объяснение для следующих уязвимостей:
🍭 SQL Injection
🍭 XSS
🍭 Command Execution
🍭 User Enumeration
🍭 Open Redirects и другие

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

В дополнение можно рассмотреть аналогичные ресурсы от Snyk или Kontra. Да, бесплатно доступно не все, но все равно есть интересный материал.
3🔥3