DevSecOps Talks – Telegram
DevSecOps Talks
7.44K subscribers
85 photos
94 files
1.23K links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
Всем привет! Мы уже неоднократно писали про различные модули продукта CyberArk Application Access Manager (AAM) и сегодня решили немного агрегировать информацию для демонстрации полноты картины.

Что такое AAM?
Простыми словами, AAM - это про Secret Management на уровне приложений. На самом деле это набор модулей, предназначенных для организации безопасного взаимодействия между различными системами. Глобально каждый инструмент решает одну и ту же задачу – встраивание защитных механизмов в код приложения/скрипты с целью изъятия хранящихся в открытом виде паролей. Различие заключается в специфике приложений (контейнеризованные, неконтейнеризованные и пр.).

Модули AAM:
🍡Credential Provider (CP) – агент, устанавливаемый на АРМ разработчика и/или сервер системы, где функционирует разработанное приложение. Для интеграции в приложение используются библиотеки (Java, C/C++, .NET) или CLI. Доступен для Windows и *nix систем. Для неконтейнеризованных приложений
🍡Central Credential Provider (CCP) – веб-версия Credential Provider. Для интеграции в приложение используются REST API/SOAP запросы (агенты не требуются). Для неконтейнеризованных приложений
🍡Application Server Credential Provider (ASCP) – агент, который устанавливается на сервер приложений (JBoss, Web Logic, WebSphere, Tomcat). Для неконтейнеризованных приложений
🍡Dynamic Access Provider (DAP) – система с поддержкой различных инструментов, используемых для интеграции с контейнеризованными приложениями и контейнерными средами. Имеет open source версию, которая называется CyberArk Conjur

Что еще нужно знать:
Для функционирования продуктов группы AAM требуются дополнительные компоненты CyberArk. Большая часть компонентов – это компоненты продукта CyberArk PAS, которые является решением класса Privileged Account Management (PAM) и о котором, скорее всего, вы уже наслышаны. Это решение давно присутствует на российском рынке для решения задач по контролю действий привилегированных пользователей. Суммарный перечень компонентов представлен ниже.

🍡CyberArk EPV – компонент защищенного хранения паролей (здесь и будут храниться пароли, которые забирает AAM при вызове функций из скрипта или приложения)
🍡CyberArk CPM – компонент управления паролями
🍡CyberArk PVWA – компонент консоли управления (веб-интерфейс)
🍡CyberArk Vault Synchronizer – компонент, который используется для синхронизации секретов в модуль AAM (CyberArk DAP)

Более подробную информацию про AAM можно найти тут.
Всем привет!

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

🍭 STRIDE
🍭 PASTA
🍭 LINDDUN
🍭 CVSS
🍭 Attack Trees
🍭 Persona non Grata
🍭 Security Cards
🍭 hTMM
🍭 Quantitative Threat Modelling Method
🍭 TRIKE
🍭 Octave

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

Если хочется больше деталей,
то можно обратить внимание на этот материал. В нем проводится общий анализ подхода к моделированию угроз, а в конце – небольшой пример с использованием STRIDE для Web-based User Feedback System.
От service'ов потоки трафика идут!
Egress настроен верно -
Спокоен самурай
.

Привет!

Сегодня пятница, а это значит время традиционного занятного чтива! Сегодня погружаемся в RedHat Openshift Egress

В нашем корпоративном блоге на Хабре стартовал цикл статьей о приручении исходящего трафика в RedHat Openshift. О входящем трафике и использовании Ingress сказано и написано уже много, а Egress нередко остается обделен вниманием.
Если вы сталкиваетесь или уже сейчас реализовываете контроль исходящего трафика, если работаете с большими сервисами и потоками данных и хотели бы узнать больше об устройстве и принципе работы Egress в Openshift - мы с удовольствием делимся!

В этих статьях поговорим на такие темы как:
🍩Управление сетевым трафиком
🍩Маршрутизация Egress IP
🍩Планирование и настройка
🍩Полезные советы

Наглядные объяснения теории, вкусное "техническое мясцо", примеры развертываний и все что вы так любите уже на нашем Хабре!

Проходите по ссылке и погружайтесь в сети Openshift:
https://habr.com/ru/company/jetinfosystems/blog/527482/
И снова привет!

Мы уже не раз упоминали Netflix в своих постах, их подходы и практики. Сегодня хотим поделиться обзором open source решений, разработанных командой безопасности вышеупомянутой компании (все началось еще в 2014 году, с релизом Security Monkey). В этой подборке есть:

🍭 Решения, которые позволяют сформировать персональные рекомендации по ИБ;
🍭 Эмуляторы DDoS атаки на приложения;
🍭 Фреймворк по управлению payload для XSS;
🍭 Инструменты по автоматизации процесса реагирования на инциденты ИБ;
🍭 Средства по управлению SSL/TLS сертификатами;
🍭 И другие решения.

Подборка интересна больше не использованием инструментов (которое, скорее всего будет затруднительно, т.к. нацелено на использование в облачной инфраструктуре конкретной компании), а подходом и креативностью специалистов по ИБ Netflix ☺️☺️☺️
Привет!

Помимо статического (static, SAST) и динамического (dynamic, DAST) анализа приложений есть интерактивный (interactive, IAST), самый молодой 😊. Что же в нем интерактивного? И чем он отличается от Static и Dynamic?

Отличный разбор технологии, который позволит сформировать первое впечатление можно найти по ссылке (что это, как работает, какие результаты предоставляет, чем отличается от SAST/DAST, какие решения бывают и т.д.).

А если вкратце, то интерактивные сканеры используют практики инструментации/инструментирования исходного кода, что позволяет им получать много информации о приложении и о том, как оно работает. Эти сведения помогают идентифицировать проблемы ИБ и указывать на место в коде, содержащее уязвимость. Примеры возможностей IAST:

🍭 Анализ кода – IAST может показать на строчку кода, из-за которой возникла ошибка;
🍭 Анализ HTTP-траффика – анализатор видит запросы и ответы, может идентифицировать потенциальные атаки;
🍭 Построение и анализ Data Flow – возможность отслеживания «пути» данных, полученных из untrusted sources от момента их попадания в программу для обнаружения, например, потенциальных инъекций;
🍭 Анализ конфигураций – некоторые решения позволяют проводить анализ конфигурации, например, сервера приложений на предмет наличия недостатков по информационной безопасности;
🍭 И иные функции, с которыми можно ознакомиться в статье.

Можно сказать, что IAST забрал лучшее от SAST (возможность доступа к исходному коду для анализа) и DAST (анализ приложений в run time).
👍1
Чат далеко не все читают, а там бывает интересно. Недавно попросили best practice по Kubernetes - рискну посоветовать https://learnk8s.io/production-best-practices
Очень круто, что сделано в виде чеклиста в три больших раздела:
📍Application development
📍Governance
📍Cluster configuration
Что забавно, структура разделов примерно соответствует "стандартному" фокусу команд Dev, Sec и Ops, насколько тут вообще могут быть стандарты.
Исходники и расширенная версия тут: https://github.com/learnk8s/kubernetes-production-best-practices
Всем привет!

Недавно завершился All Day DevOps, в котором было много интересных докладов, в том числе и по информационной безопасности. Но сегодня мы бы хотели рассказать про доклад 2019 года: An Intelligent Approach to Upgrading OSS Libraries! (второй доклад в playlist'e)

Использование open source библиотек позволяет делать поразительные вещи! Например, простейший web server на Java (Spring), который скажет нам «Hello world!» занимает всего 10 строк кода. Однако, всегда есть некоторая «невидимая часть», которая заключается в том, что для реализации нашего простого «Hello world!» необходимо 36 библиотек.

Какие из них уязвимы? Как можно устранить уязвимости с минимально необходимыми усилиями, за что браться «в первую очередь»?

На первый вопрос помогут ответить решения класса SCA (software composition analysis), такие как Nexus IQ, WhiteSource, Black Duck, Snyk, Checkmarx OSA и другие. А что делать со вторым вопросом?
Есть несколько «традиционных» подходов к решению этой задачи:

🍭 Подход №1: Приоритизация критичности приложений с последующим уточнением количества уязвимостей в рассматриваемых приложениях («Это приложение для нас критично и в нем не так много уязвимостей, отличный вариант для начала!»)
🍭 Подход №2: Приоритизация уязвимостей в зависимости от уровня критичности и масштаба использования рассматриваемой библиотеки в Компании («Она уязвима и ее часто используют – надо устранять в первую очередь»)

Однако, оба эти подхода, хоть и работают, могут породить большое количество дополнительных задач (пример можно посмотреть по ссылке на видео, time code ~ 4:55). Для решения этой проблемы ребята предложили интересный подход: Bottom Up, для реализации которого необходимо:

🍭 Идентифицировать все внутренние проекты, которые не зависят от иных внутренних проектов (а значит, зависят только от one source компонент)
🍭 Обновить уязвимые open source компоненты для множества проектов, идентифицированных на предыдущем этапе
🍭 Идентифицировать внутренние проекты, которые ссылаются на недавно обновленные проекты
🍭 Обновить множество проектов, идентифицированных на предыдущем этапе
🍭 Повторять, пока не будет достигнут «корень дерева»

С точки зрения авторов такой подход является оптимальным, т.к. он не порождает дополнительных задач и позволяет сформировать backlog по устранению уязвимостей.

Кроме проработки концепта ребята разработали утилиту, которая позволяет расставлять приоритеты устранения уязвимостей на основе вышеуказанного подходаAriadne.
OpenSource - это круто, говорили они. Нас попросили для POC из грязи и прутиков собрать storage на bare-metal Kubernetes кластере. Ниже выдержка из чата, как есть, с сохранением авторской орфографии и пунктуации.
Дисклеймер: сообщения вырваны из контекста. Предлагаю определить "Индусы" = "Разработчики разного уровня квалификации", национальная принадлежность разработчиков не имеет значения.

Архитектор
Так, у меня фиговые новости - отказ storage на storage node несовместим с дальнейшей нормальной жизнью. Индусы из OpenEBS - это сборище непуганых идиотов. И они еще это пытаются продавать.

Инженер
Эмм каким образом оно отказало?

Архитектор
у вас никак. А на стенде я убил себе storage на 1 ноде
и раскрылись бездны индусского слабоумия

Инженер
Какими действиям хоть убил?

Архитектор
взял и на VM диск грохнул

Архитектор
tbe commented on 22 May 2019
I just wonder why this is not a blocker or at least mentioned in the docs: "WARNING! You can not remove a broken disk from a custom pool"

Disks break. A "Leading Open Source" software should be able to handle this.

We lost one of your disks on one node yesterday. After replacing it the according pool was still fucked up, so restartet it. And at this point the whole thing broke ... many volumes in state "Recreating", the pool itself didn't start anymore, all iscsi targets for volumes that hat a replica on that pool staled, because missing quorum ( in a two replica setup, wtf? )

Yeah, this went a little bit offtopic. Sry for that. Just wanted to illustrate what happens if you put a "not so fancy, but essential feature" at the end of the roadmap.

Архитектор
https://github.com/openebs/openebs/issues/2258
они потом привернули костылей, и я даже вернул pool к жизни, но реплики не ожили
Привет!

По ссылке можно найти материалы от Geoffrey Hill (автора проекта по автоматизации моделирования угроз Tutamantic) и его размышления на тему Rapid Threat Modelling Prototyping. Одна из ключевых идей автора строится на том, что «классическое» моделирование угроз не применимо в DevSecOps, хотя бы потому что:

🍭 Его трудно сделать быстро (или потеряется качество)
🍭 Как правило оно более детальное, чем требуется
🍭 Не подходит для CI pipeline (или потребуется сильная адаптация)

Поэтому автор предлагает свой подход, который представлен в материалах: общие презентации (обзоры, примеры step by step), небольшие how2 guides ☺️
Всем привет!

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

🍭 Namespace breakout через некорректный mount hostPath
🍭 Lateral movement в cloud на примере GKE (Google Kubernetes Environment)

Разбираются простые и базовые примеры (с кодом, командами и результатом), которые наглядно показывают, что можно сделать, если не обеспечить корректную настройку безопасности кластера
И снова привет!

Если хочется погрузиться в мир «практической» безопасности, связанной с Docker, то мы рекомендуем обратить внимание на подборку материалов, доступных по ссылке. Автор начинает с азов – Что такое Docker (даже есть отсылки к истории контейнеров, как таковых) и «повышает градус» от урока к уроку. Все наглядно, с примерами, командами и описанием необходимого минимума, который потребуется, чтобы все это реализовать самостоятельно. Всего доступно 6 уроков:

🍭 Lesson 1: Understand Docker from a security perspective
🍭 Lesson 2: Docker Images, Docker Layers, and Registry
🍭 Lesson 3: Container reconnaissance techniques for beginners
🍭 Lesson 4: Hacking Containers Like A Boss
🍭 Lesson 5: Hacking Containers Like A Boss – Part 2
🍭 Lesson 6: Defending container Infrastructure

Надеемся, что вам понравится!
Контейнеры в России популярны, в этом нет сомнений; их применение растет – в этом тоже. Нам стало интересно, как этот тренд выглядит в цифрах, и вот.

По данным свежего исследования о применении контейнеров в России 2020, проведенного нами совместно с CNews Analytics:

56% крупных компаний сегодня используют контейнеры для своих приложений и 7% собираются. Подавляющее большинство! Но:

Всего 8% компаний размещают в контейнерах более 60% своих приложений. А 58% только начинают осваиваться с этой технологией, доля их приложений в контейнерах < 20%.

Интересно, какие технологии предпочитают отечественные компании. В основном on-premise, так сказали 57%. В тройке лидеров:

🍫Kubernetes on-premise
🍫Различные публичные облачные решения
🍫Red Hat OpenShift

Также в исследовании:

с какими сложностями стакиваются компании при внедрении
как организуют защиту сред контейнеризации
какие получают преимущества от внедрения контейнеров

Получить отчет можно по ссылке https://jet.su/devsecops/#research
Всем привет!

Огромный шар, летящий в пучине беззвучного вакуума сделал семь оборотов вокруг своей оси и снова наступила она, пятница!
А как мы знаем, пятница - время вкусненьких расслабленных постов! 🍩

Сегодня мы с удовольствием делимся приятной новостью из мира container security! Недавно вышла новая версия платформы контейнерной защиты Aqua Container Security Platform, которая теперь называется Aqua Enterprise версии 5.3.
Новая версия получила новый кастомизируемый веб интерфейс, концептуально похожий на старый, но элегантно переработанный с большой оглядкой на удобство и usability.
Помимо прочего, не обошлось и без новых фич. Самые броские:

🍩 Масштабирование модуля Gateway позволяет подключить несколько instance системы в разных кластерах к одному control-plane
🍩 Multi-App RBAC, благодаря которому пользователи могут видеть события аудита только в своей зоне ответственности
🍩 Раздельные БД для хранения конфигураций системы и событий аудита
🍩 Сканирование локальных docker образов в .tar архиве
🍩 Возможность автоматического добавления sidecar контейнера защиты PodEnforces для новых подов в кластере.
🍩 Расширен список поддерживаемых систем оркестрации

И многое другое!
А еще, можно смотреть бесконечно на огонь, как выдают зарплату и новый login screen Aqua Enterprise!!! 😂

Больше информации можно найти на сайте вендора

Всем хороших выходных!
Привет!

Pod Security Policy (PSP) – достаточно удобный механизм, который позволяет контролировать запуск privileged контейнеров, останавливать запуск из под root, управлять mount’ами и реализовать иные функции, полезные с точки зрения безопасности.

Однако, многие слышали новость о том, что Pod Security Policy могут быть убраны/переработаны/заменены в новых версиях Kubernetes (предположительно в версии 1.22). В статье автор описывает свой взгляд на происходящее с точки зрения предпосылок:

🍭 Неявные/неочевидные bindings
🍭 Вопросы поддержки различных runtime
🍭 Ограничение границ применения (только pods)
🍭 Сложности, связанные с test coverage при создании PSP

И некоторых рекомендаций относительно того, что можно сделать в рассматриваемой ситуации (если вы их используете):

🍭 Custom Admission Controllers
🍭 Open Policy Agent (OPA)
🍭 Использование сторонних решений

P.S. Информация про изменения Kubernetes: https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/1635-prevent-permabeta
Привет!

Иногда хочется, чтобы все было просто и понятно, чтобы кто-то взял и «на пальцах» объяснил что-то, без сложных слов и «страшных» терминов! Если вам это знакомо, и вы хотели понять, что именно происходит в наиболее популярных web-атаках, то эта подборка видео может вас заинтересовать. Просто и понятно объясняются такие вещи как:

🍭 Open Redirect
🍭 HTTP parameter pollution
🍭 Insecure Direct Object Reference (IDOR)
🍭 XSS
🍭 CSRF и другие

Надеемся, что это видео помогут разобраться и станут первым шагом для дальнейшего изучения ☺️
И снова привет!

По ссылке доступен отчет, созданный по результатам прохождения интернатуры в AppSecco (мы уже писали о подобной работе в канале, и вот появилась еще одна!). Отчет описывает cоздание secure pipeline на основе Jenkins:

🍭 Использование SAST
🍭 Использование DAST
🍭 Использование SCA
🍭 Анализ качества исходного кода

В завершении приводится полностью описанный Jenkins pipeline: сперва в качестве блок схемы, а далее – в качестве pipeline noscript. Работы ребят в целом похожи, но есть и отличия.

Опять ловим себя на мысли, что такой формат отчетов по прохождению испытательного срока/стажерской программы – просто отличная идея! ☺️

P.S. Как и в прошлый раз preview не работает, поэтому дублируем ссылку сюда: https://intern-appsecco.netlify.app/
Всем привет! syscall2seccomp – это open source утилита, написанная на python, которая предназначена для создания собственных профилей Docker seccomp.

Работает она достаточно просто:
🍡Собирает информацию о системных вызовах, используя различные инструменты (sysdig или strace)
🍡Конвертирует полученные данные в формат JSON, используемый для создания собственных seccomp-профилей

Пример использования:
🍡Запустить sysdig (или strace)
🍡Запустить docker-контейнер
🍡Совершить необходимые действия в контейнере и погасить его
🍡Сконвертировать полученный файл с помощью python-скрипта в файл формата JSON
🍡Запустить контейнер с новым профилем

Более детальную информацию, а также ответы на дополнительные вопросы («Зачем использовать собственный seccomp-профиль?», «Зачем этот инструмент?» и пр) можно найти по ссылке.
Только ленивый не писал в последние месяцы про dockershim depratation в Kubernetes 1.20, релиз которого запланирован на 8 декабря.
Если кто вдруг пропустил или не в курсе, что такое dockershim - стоит заглянуть в свежий FAQ от комьюнити: https://kubernetes.io/blog/2020/12/02/dockershim-faq/
У нас есть несколько вопросов, ответьте, плиз.
Какой сейчас рантайм в Kubernetes используете?
Anonymous Poll
70%
Docker (dockershim)
13%
Containerd
23%
CRI-O