DevSecOps Talks – Telegram
DevSecOps Talks
7.44K subscribers
85 photos
94 files
1.23K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
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
Важные ИТ-концепты

Всем привет!

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

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

Автор собрал 16 ИТ-концептов, которые крайне важны на его взгляд:
🍭 Load Balancer
🍭 API Gateway
🍭 Caching
🍭 Distributed File Systems
🍭 Mircoservices и другие

Для каждого концепта он привел описание – что это, зачем оно нужно и ключевые принципы работы технологии. Экспертом после прочтения не станешь, но лучше понимать происходящее – вполне!
👍4🔥2
Yet Another Kubernetes Security Checklist

Всем привет!

Говорят, что много checklist’ов в мире информационной безопасности не бывает. Наверное, Вы уже создали (или в процессе создания) своего. На тему безопасности Kubernetes.

Возможно, что из материала сегодняшнего поста Вы сможете взять себе что-то полезное. Автор рассматривает рекомендации по таким областям, как:
🍭 AuthN / AuthZ
🍭 Secrets
🍭 Cluster Configuration Security
🍭 Audit and Logging
🍭 Secure OS Configuration
🍭 Network Security
🍭 Secure Configuration of Workloads
🍭 Secure Image Build

Отличительной особенностью этой подборки является то, что приведено много «явных» действий, а не рекомендаций в стиле «за все хорошее, против всего плохого».
👍6
Моделирование угроз для Software Supply Chain

Всем привет!

OpenSSF продолжает радовать отличными наработками по безопасности цепочки поставки программного обеспечения. На этот раз – моделью угроз!

Для проработки материала была создана рабочая группа, которая решала задачу: «Как, с точки зрения потребителя, выстроить защиту против современных угроз ИБ, характерных для цепочки поставки ПО?».

Результатом стала Initial Threat Model, в которой отражены угрозы для:
🍭 Consumption of 3rd Party Code
🍭 Infrastructure Threats (Developer Machine, SCM, Build System, Build, Private Repository, Staging/Production Environment)

Материал все еще находится в стадии разработки (можно наблюдать в «real-time» режиме), но даже в таком виде содержит много интересных мыслей.
Microsoft Kubernetes Threat Matrix

Всем привет!

Продолжаем тематику моделирования угроз. Сегодняшний пост будет посвящен проекту Kubernetes Threat Matrix от Microsoft.

Инструмент достаточно известный, но лишнее напоминание не повредит.

Он уже пережил несколько доработок, последняя из которых была в конце 2022 года. Добавили новые техники:
🍭 Static pods
🍭 Collecting data from pod
🍭 Container service account
🍭 Exposed sensitive interfaces

Помимо этого, реализован mapping между Kubernetes Threat Matrix и наработками MITRE ATT&CK. Еще одним удобством стал web-интерфейс, с которым можно ознакомиться по ссылке.
🔥2👏1
Gittuf: защита Git

Всем привет!

Еще один интересный и новый проект от OpenSSFgittuf! Он использует некоторые концепты The Update Framework (TUF) для того, чтобы повысить безопасность git-репозиториев.

Например:
🍭 Выступает в роли единой «точки доверия» для распространения публичных ключей. Например, верификация commit, подписей tags
🍭 Контролирует внесение изменений в ветку (branch) или в процесс создания tag
🍭 Управляет доступом к файлам. Например, какие пользователи могут вносить изменения в определенные файлы репозитория

Проект находится в стадии активной разработки, многое пока не реализовано. Согласно описанию – пока что это alpha и НЕ рекомендуется использовать ее в production-окружениях. С краткой документацией можно ознакомиться тут. Отдельно можно обратить внимание на roadmap продукта – если это будет реализовано, то получится весьма полезный инструмент.
👍2