DevSecOps Talks
6.19K subscribers
46 photos
56 files
865 links
Рассказываем об актуальном в мире DevSecOps. Канал DevSecOps-команды "Инфосистемы Джет"
Download Telegram
Всем привет!

Достаточно провокационный заголовок под названием 47 ронинов «47 Things To Become a Kubernetes Expert» содержит в себе интересную статью, в которой кратко собрана информация об:

🍭 API
🍭 Implementing controllers
🍭 Components and their collaborations
🍭 Resources
🍭 Networking
🍭 Monitoring
🍭 Access control

Каждый «домен» содержит перечень вопросов и небольшие, но емкие, ответы на них, а иногда и ссылки "на почитать". А что бы вы добавили/убрали из этого списка?
Всем привет!

Буквально на днях появился очередной Awesome! На этот раз посвященный тематике SCA. Скоро надо будет делать Awesome на Awesome’ы (хотя, такой, вероятно, уже есть).

Все достаточно стандартно:
🍭 Статьи и книги для «почитать»
🍭 Немного курсов по тематике (free/paid)
🍭 Информация об инструментах (open source/enterprise)

Надеемся, что repo будет развиваться (появился он совсем-совсем недавно) и материалов будет больше, т.к. тема supply chain attacks достаточно актуальна в последнее время
Привет!

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

Работает она достаточно просто:
🍭 «Пробегает» по namespaces и pods, которые в них размещены
🍭 Для каждого pod собирается информация об image (включая image init-container’ов)
🍭 После происходит «чистка» полученного перечня за счет устранения дубликатов образов
🍭 Утилита собирает данные об image tags в registry
🍭 Сообщает о расхождениях в версиях

Установка достаточно простая, требуется krew. Отдельно хочется отметить semver – подход к наименованию версий образов. Если Вы еще не решили, как это делать у себя, то semver может стать отличной отправной точкой! ☺️
Привет!

Если вам интересно тестирование на проникновение (в частности – web приложения), но вы не знали с чего начать, то этот материал сможет помочь!

Ребята из PortSwigger не только подготовили лабораторные работы, но и сделали собственный Learning Path – как на их взгляд лучше всего погружаться в тему.

Рассматриваются такие вещи как:
🍭 Server side topics (SQL injection, Authorization, Directory Traversal…)
🍭 Client side topics (XSS, CSRF, WebSockets…)
🍭 Advanced topics (Insecured deserealiztion, HTTP request smuggling, OAuth authentication…)

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

Держите на удачу заметку.

Talisman - утилита выявления секретов (SSH ключи, токены и пр) в локальных git-репозиториях, размещённых на рабочих станциях разработчиков. Она умеет не только искать секреты, но и предотвращать их публикацию либо на этапе commit, либо на этапе push.

Как ставится:
Утилита может запускаться на ОС Windows, Linux, Mac OSX. Установка выполняется одним из следующих образов:
🍡Как git hook на уровне глобального шаблона git hook template
🍡Как git hook для конкретного репо

Как работает:
После установки Talisman автоматически запускает проверки на наличие секретов до того как будет выполнен commit или push. В случае, если был обнаружен секрет, утилита выведет отчёт с указанием названия файла и типа секрета в нем.

Что сканирует:
Talisman запускает следующие проверки:
🍡Вшитые значения в формате base 64, hex и пр.
🍡Содержимое файлов  - выявление паролей и ключевых фраз
🍡Размер файла - сканирование больших файлов, потенциально содержащих ключи и другие данные
🍡Энтропия - сканирование контента с потенциально высокой энтропией
🍡Номера кредитных карт
🍡Имена файлов - сканирование имён файлов и расширений, которые могут потенциально подходить под файлы с чувствительными данными

Ещё немного деталей:
🍡Можно настраивать правила игнора, например, для файлов или кочевых слов, задавать свои шаблоны поиска секретов, устанавливать уровни критичности и пр
🍡При использовании force push конструкция не работает
🍡Если нужно запускать несколько hook-ов, то можно воспользоваться такими инструментами как pre-commit и husky
🍡У утилиты есть CLI и ее можно встроить в CI/CD для сканирования истории в репо на наличие секретов или генерации отчета в формате html

Более подробную информацию можно посмотреть тут: https://github.com/thoughtworks/talisman
Добрейшего утречка чудесной пятнички!

И вновь продолжается бой! Незримый бой между защитниками в сияющих доспехах и ордами гнусных посягателей на наши приложения!
Но!
У воинов света есть Гендальф Белый, который в решающий момент (а хотя то, где он был до этого??) взмахнёт своим посохом и применением очень сильного колдунства заставит приложения защищать себя самим!
Хотя, звучит так себе...

Куда лучше, если мы оставим это дело компетентным специалистам, а дедушку Гендальфа оставим рассматривать своё дерево с дяденьками и тётенькой.

А компетентные же специалисты могут ознакомиться с интересным решением Sqreen, являющимся комплексной платформой защиты приложений.

Что оно из себя представляет? Ничего сложного:

🍩 Microagent для установки в приложение
🍩 Security engine для защиты прилоежния в реальном времени
🍩 Облачный control plane системы - Sqreen Platform

Как все это работает? Очень просто!

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

Помимо прочего, Microagent содержит Security engine, выполняющий функции:

🍩 Runtime Application Self Protection (RASP): Engine изучает поведение приложения и детектит аномалии любого типа
🍩 Content Security Policy: здесь агент уже заглядывает в заголовки пакетов на предмет обнаружения атак типа XSS
🍩 In-App Web Application Firewall (In-App WAF): настоящий WAF, который знает как работает его приложение и блокирует попытки выполнения Cross-site Scripting (XSS), Local File Inclusion (LFI), NoSQL Injection, and Shell Injection

И модулем управления ко всему этому служит облачная Sqreen Platform, которая является интерфейсом управления и мониторинга для человека. Агент постоянно синхронизируется с платформой для обновления политик защиты и отправки логов и событий для последующей корреляции и отображения понятных ивентов и красивых дашбордов.

И конечно, нельзя не упомянуть, что так как серебряной пули, убивающей всех врагов одним выстрелом разом, не бывает (как и Гендальфа для наших приложений) использование одной лишь тулзы без правильно выстроенных процессов ИБ, вряд ли будет защищать приложение на должном уровне.
Ведь, как известно, без процесса ты Стартап, а с процессом - Энтёрпрайз!

Ссылочка на сайт разработчика как всегда 👇, надеемся, вам будет интересно!:

https://www.sqreen.com
Всем привет!

Google выпустили инструмент, который помогает визуализировать и анализировать open source элементы, используемые в разработке – deps.dev!

Крайне простой, интуитивно понятный инструмент, который позволяет:
🍭 Построить табличку зависимостей рассматриваемого элемента. Или граф, если Вам так больше нравится
🍭 Собрать информацию о Security Advisories, Licenses, Dependencies и Dependents
🍭 Сделать diff версий элементов, что наглядно покажет разницу (добавлено/удалено)

Для некоторых зависимостей формируется OpenSSF ScoreCard, в которой содержится информация о статусе прохождения проверок по группам (CII-Best-Practices, Code-Review, Security-Policy, SAST и т.д.) и ссылки на полезные материалы по теме. На наш взгляд, крайне интересный инструмент, которым можно пользоваться!
Привет!

Однажды Компания А попросила Компанию Б разработать web-приложение. Компания Б согласилась и наняла Подрядчика для выполнения части работ. Web-приложение было разработано и в момент поддержки выяснилось, что Подрядчик использовал некоторый собственно-изготовленный образ, а вот Dockerfile для него приложить забыл…

К чему все это?

В статье описан подход к reverse-engineering образа контейнера для воссоздания Dockerfile. А с примером, описанным выше, может встретиться каждый.

Что сделал автор:
🍭 Сохранил образ в tar-формате, распаковал
🍭 Используя JQ получил информацию из manifest.json
🍭 Провел послойный анализ образа через .history
🍭
🍭 Получил данные, которые позволят воссоздать Dockerfile!

Трудно сказать, насколько подобный образ применим для «массового использования», однако для выполнения локальных задач (если кто-то забыл/удалил/не отдал/иное Dockerfile) описанный подход вполне возможен ☺️

P.S. Preview не работает, поэтому дублируем ссылку: https://theartofmachinery.com/2021/03/18/reverse_engineering_a_docker_image.html
Всем привет!

Простая и крайне понятная утилита, которая анализирует Dockerfile на соответствия требованиям ИБ.

В текущей редакции реализованы проверки:
🍭 Missing content trust
🍭 Missing USER sentence in dockerfile
🍭 Possible text plain password in dockerfile
🍭 Recursive copy found
🍭 Use of COPY instead of ADD
🍭 Use image tag instead of SHA256 hash
🍭 Generic credential // AWS Manager ID // AWS MWS key // EC Private Key // Google API key // Slack Webhook

Автор взял за основу материалы Snyk, добавил немного от GitLeaks и подготовил набор regex, которые используются для анализа. Вариант, быть может, и простой, но имеет место быть (особенно, когда под рукой нет ничего другого).
Привет!

По ссылке доступен сайт конференции DevSecCon24, который состоится 23 и 24 июня 2021 года, регистрация бесплатная!

О чем будут говорить на конференции?
🍭 I Spy: An Insecure Delivery Pipeline
🍭 Show don't tell - Bringing sec and dev together with visual code maps
🍭 Threat Modeling Wins for Agile AppSec
🍭 Fine-Grained Role-Based Access Control For Linux With OPA And LDAP
🍭 Implementing Policy as Code through Open Policy Agent
🍭 Runtime Security using eBPF and OPA

И не только! Больше информации о докладах (включая краткую agenda, а не только название) можно найти на сайте ☺️

P.S. Обратите внимание на то, что доклады зависят от выбранного временного региона (US, EMEA и т.д.). Например, для EMEA доклады будут 24 июня, начиная с 13:00 по Мск
Всем привет!

По ссылке доступен проект KubeSploit, поддерживаемый компанией CyberArk. При помощи него можно реализовать:

🍭 «Побег» из контейнера при помощи mount
🍭 «Побег» из контейнера при помощи docker.sock
🍭 «Побег» из контейнера при помощи эксплуатации CVE-2019-5736
🍭 Сканирование кластера Kubernetes на наличие CVE
🍭 Сканирование портов
🍭 Идентификация дополнительной информации в кластере

Также ребята сделали mapping на MITRE ATT&CK («классическую» версию), а для каждого из недостатков, идентифицируемых решением, подготовили описание возможных способов их устранения. "Поиграться" с решением можно на Katacoda.

Если Вам интересны подобные проекты, то рекомендуем обратить внимание на проект Kubernetes Goat (который, кстати, недавно обновился, чуть подробнее можно почитать тут)

P.S. Поздравляем всех с наступающим праздником!!! Отличнейшего отдыха!!!
Всем привет!

У него была возможность анализа 45 языков, 22 форматов (CSS, HTML, JSON, YAML…), 17 tooling форматов (Ansible, Puppet, Terraform…), abusive copy paste, ошибок написания и, конечно же, пинта чистого эфира!

Это описание проекта Mega-Linter, в котором, как вы уже успели догадаться собраны всевозможные linting-проверки, а количество поддерживаемого «всего» просто потрясает!

У проекта есть собственная документация, в которой отлично описаны возможности по настройке инструмента, инструкции по установке и quick start guide.

А в одном из последних обновлений (версия 4.35.0) появился приятный бонус для ИБ – «Add trivy security check of all built Mega-Linter docker images»
SNYK_CNAS.pdf
8.9 MB
Всем привет!

В приложении новая книга от Guy Podjarny (одного из сооснователей SNYK), посвященная вопросам обеспечения ИБ для Cloud Native приложений.

Книга состоит из 4-х разделов:
🍭 Digital Transformation. Размышления автора на тему изменения компаний, развитию тезиса «every company is a software company»
🍭 Dev-First Security. Раздел о взаимодействии между разработчиками и ИБ-специалистами
🍭 Securing the Entire Cloud Native App. Об изменении в подходах и способах защиты, характерных для Cloud Native
🍭 Adapting to Dev-First CNAS. Мысли о том, как стоит изменить org structure, tooling и priorities для создания адекватной программы защиты
Всем привет!

Ещё один аспект ИБ, на который стоит обратить внимание. В статье от CyberArk приводится подробное описание нюансов, связанных с kubelet, которые могут повлиять на его безопасность.

Немного о kubelet:
Это агент - элемент кластера, который запускается на каждой ноде и используется для решения определенных задач, к которым относятся регистрация ноды в кластере, создание подов или взаимодействие с API-сервером для получения инструкций.

Глобально проблематика сводится к 2-м ключевым моментам:
🍡Дефолтная конфигурация Kubernetes-кластера запускает kubelet с параметром, разрешающим анонимный доступ к kubelet API. Это значит, что при получении доступа к сети, в которой расположена нода кластера, можно без авторизации выполнять API запросы к kubelet, установленном на ней.
🍡Kubelet имеет недокументированный API. Чтобы в этом убедиться, авторы статьи изучили сайт с документаций Kubernetes и просмотрели его исходный код. Смысл в том, что это недокументированное API позволяет выполнять прямые операции с подами (контейнерами) на нодах, такие как запуск конкретных команд в контейнере и т. д.

Для простоты и удобства использования CyberArk разработал утилиту, которая называется kubeletctl. Она упрощает работу с kubelet API и поддерживает отправку всех возможных запросов. Авторы статьи приводят пошаговое описание с использованием инструмента от сканирования сети до получения конкретных результатов (кстати, результаты в консоли отображаются в очень удобном формате), а также описывают рекомендации по настройке kubelet.

Использование этой утилиты будет полезно как разработчикам, так и специалистам по ИБ, как минимум, для выявления описанной проблемы. Утилиту можно скачать отсюда: https://github.com/cyberark/kubeletctl
Всем привет!

Существует множество holywar и рассуждений на тему компетенций – что должен уметь «современный InfoSec» или что он должен понимать с точки зрения техники? Рассматривается не DevOps, а «в общем», хотя многие темы применимы и в нашей любимой тематике.

В статье автор собрал собственное представления ответа на этот вопрос. Получилось 50 пунктов (все они посвящены технике, compliance/regulatory/methodology вопросы не рассматриваются), например:

🍭 Умение «читать» CVE, понимать, что значат «коды» и оценки
🍭 Основы работы с HTTP (например, отправлять запросы), понимание заголовков
🍭 Использование API (например, через curl), как извлекать данные и что такое jq
🍭 Базовое использование nmap
🍭 Разбираться в Unix permission model и многое другое

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

А согласны ли Вы с таким списком? Или он неполный/избыточный/чересчур/иное?..
Привет!

По ссылке можно ознакомиться с инструментом KubeStriker, который позволяет анализировать дефекты ИБ кластера контейнеризации, связанные с misconfiguration.

Его можно использовать для self-hosted кластеров, а также для облачных версий – AWS, GKE, Azure AKS.

Примеры возможностей решения, согласно документации:
🍭 Идентификация большого количества нарушений в IAM
🍭 Возможность анализа некоторых Network Policy
🍭 Запуск команд внутри контейнера и отображение обратной связи
🍭 Возможность генерации отчетности по результатам работы

Решение обладает web-интерфейсом, позволяющим упростить восприятие результатов анализа, его можно встроить в CI/CD-конвейер. С идеями развития продукта можно ознакомиться в roadmap
Всем привет!

По ссылке доступна крайне интересная подборка под названием «Modern-Unix». Все предельно просто – развитие идей существующих утилит/команд для оптимизации/ускорения/адаптации/повышения производительности/прочих грехов человечества!

Если немного подробней, то:
🍭 bat. Почти как cat, только с подсветкой синтаксиса и возможностью интеграции с git
🍭 lsd. Нет, не пропаганда. LSDeluxe – «продвинутая» версия ls, преимущественно с подсветкой и иконками
🍭 delta. Наглядный diff, достаточно удобно
🍭 jq. Без комментариев, просто «швейцарский нож» для JSON
🍭 tldr. «Упрощенный» man с практическими примерами
🍭 curlie. Смесь curl и HTTPie и многое другое!

Сам repo – просто агрегатор, ссылки непосредственно на утилиты находятся внутри него. Некоторые утилиты больше похожи на «игрушки», а некоторые могут оказаться весьма полезными. Надеемся, что какая-то утилита придется вам по вкусу ☺️

P.S. На наш взгляд в подборке точно не хватило yq (аналога jq для YAML), ознакомиться можно по ссылке
Всем привет!

Amazon подготовили небольшой цикл статей, посвященных Policy-as-Code решениям. В первой части можно ознакомиться с тем, что это такое, с базовыми принципами работы.

Далее авторы анализируют такие решения, как:
🍭 OPA/Classic
🍭 OPA/Gatekeeper
🍭 MagTape
🍭 k-rail (доступно во второй части статьи)
🍭 Kyverno (доступно во второй части статьи, про него мы еще писали отдельно)

Помимо краткого описания решений и возможности их использования в зависимости от предпочитаемого подхода (например, изучать REGO или использовать более Kubernetes-native подходы) в статье много примеров и ссылок на полезные статьи и материалы. В завершении автор приводит простую и удобную табличку, которой можно пользоваться при выборе оптимального инструмента
Привет!

Falco в большей степени известен тем, что помогает реализовывать runtime защиту в кластерах контейнерной оркестрации. Однако, его функционал можно использовать, в том числе для анализа логов Kubernetes с целью идентификации инцидентов.

По ссылке приведен пример, в котором демонстрируется:
🍭 Настройка логирования Kubernetes для перенаправления логов в Falco
🍭 Использование Falcosidekick, который расширяет перечень возможных output для alerting (по умолчанию доступно только 5)
🍭 «Включение» логирования в Kubernetes при помощи AuditPolicy
🍭 Отображение информации в web-интерфейсе Falcosidekick

Все просто, понятно, доступно и с примерами!
Всем привет!

Если Вам нравятся тестовые приложения, позволяющие собственными руками проэксплуатировать уязвимости (DVWA, DVNA, KubeGoat, JuiceShop и т.д.), то вам понравится и это – InjuredAndroid!

Да, это заведомо уязвимое мобильное приложение, доступное для образовательных целей. Можно поискать такие флаги как:
🍭 Login
🍭 Exported Activity
🍭 Exported Broadcast Receiver
🍭 SQLite и другие

А если возникнут сложности, то можно обратиться к статье, где автор делает walkthrough и рассказывает про то, как можно эксплуатировать уязвимости ☺️