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

Если вам интересно тестирование на проникновение (в частности – 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 и рассказывает про то, как можно эксплуатировать уязвимости ☺️
Всем привет!

Утилита Sealed Secrets от Bitnami Labs
предназначена для шифрования секретов Kubernetes.

Зачем?
Основное назначение - это безопасное хранение секретов, используемых в кластере, на уровне Git.

Например, если вы используете ArgoCD для реализации GitOps и в Git-е храните secret.yaml в «голом» виде, то эта утилита может вам пригодиться, чтобы этого избежать.

Из чего состоит?
🍡Контроллер/оператор
🍡Утилита kubeseal

Как работает?
Kubeseal шифрует секрет с использованием асимметричного шифрования. Расшифровать этот секрет может только контроллер, развёрнутый в кластере.

Зашифрованный секрет представляет собой объект Kubernetes с kind: SealedSecret.
Выглядит он примерно так:

apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: mysecret
namespace: mynamespace
spec:
encryptedData:
foo: AgBy3i4O...


И эту конфигурацию можно положить в Git вместо стандартного секрета.

Не без нюансов. SealedSecret связан с Secret, после прохождения процедуры usealing, в Kubernetes появляется стандартный Secret, поэтому защита секрета по факту реализуется только снаружи кластера, остальное решается стандартно - настройка RBAC в кластере.

Больше информации можно получить по ссылке: https://github.com/bitnami-labs/sealed-secrets
Всем привет!

На днях Mircosoft представил свой новый сервис – GitHub Copilot! Основная задача сервиса – помочь разработчикам в написании кода, сократив время на поиск «примеров в документации/интернете». В основе лежит OpenAI Codex – система искусственного интеллекта (маркетинг?), созданная Open AI.

Сперва может показаться, что Copilot – просто «автозаполнение», которое и сейчас присутствует в той или иной мере. Однако, есть и отличия, например:
🍭 Подсказывает какие тесты написать, исходя из результатов анализа кода
🍭 Предоставляет выбор того, как лучше написать ту или иную функцию
🍭 «Подстраивается» под стиль разработки – чем больше программист взаимодействует с Copilot, тем лучше его предположения

Пока что Copilot лучше всего работает с языками Python, JavaScript, TypeScript, Ruby, и Go, но не ограничивается ими. Насколько это все будет работать пока непонятно, но в любом случае проект крайне интересный. Записаться на «test drive» можно по приведенной ссылке, также можно установить Extension для Visual Studio Code.
Привет!

Google продолжает радовать наработками по обеспечению ИБ в open source проектах: Недавно Google совместно с OSSF (Open Source Security Foundation) выпустила новый релиз Security Scorecards: v2.0. Ранее Компания представила еще несколько инструментов для анализа open source и защите supply chain: deps.dev и SLSA.

Scorecards представляют из себя набор проверок, которые включают, но не ограничиваются:
🍭 Были ли commits за предыдущие 90 дней?
🍭 Реализована ли Branch Protection?
🍭 Осуществляется ли статический анализ исходного кода?
🍭 Содержит ли проект уязвимости (реализуется с использованием OSV) и много другое

Общее описание проверок можно найти по ссылке. Информация о том, что добавилось в версии 2.0 по сравнению с предыдущем релизе представлена в статье. Помимо этого, в указанной статье можно найти информацию о том, как команда планирует развивать проект
Aqua_Security_Cloud_Native_Security_Threat_Report_2020.pdf
9.8 MB
Всем привет!

Aqua Security подготовили отчет, посвященный угрозам и атакам Cloud Native приложений – «Evolution of Attacks in the Wild on Container Infrastructure».

Исследователи Nautilus Team (research команда Aqua) проанализировали 16,371 атак между июнем 2019 и июлем 2020 года.
На основании анализа они предложили выделить несколько наиболее часто встречающихся типов образов, используемых для атак:
🍭 Dedicated Malicious Image with an Explicit Image Name
🍭 Legitimate Image Name
🍭 “Vanilla” Image - Malicious Command

Общие выводы – большинство атак осуществляется для целей mining криптовалюты; количество атак растет – с ~ 11 атак/день в 2019 до ~ 160 атак в 2020 году.

Внутри отчета можно найти еще много всего интересного – анализ MITRE, примеры вредоносных контейнеров, информация о C’n’C-серверах, большое количество аналитики и т.д.