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

Однажды Компания А попросила Компанию Б разработать 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-серверах, большое количество аналитики и т.д.
AquaSecurity_Cloud_Native_Threat_Report_2021.pdf
7.5 MB
UPD. Актуальная версия отчета за 2021 год, в предыдущем посте была версия 2020. Спасибо, Денису)
Привет!

По ссылкам ниже доступен небольшой цикл постов про использование STRIDE применительно к Kubernetes. Автор разбирает каждую из «букв» в отдельности и дает некоторые рекомендации относительно того, как можно сделать лучше:

🍭 Spoofing. Аутентификация, использование Service Accounts
🍭 Tampering. Ограничение доступа к Nodes, шифрование ETCD
🍭 Repudiation. Использование Audit Policy, логирование Kubelet, Falco
🍭 Information Disclosure. Безопасность взаимодействия ETCD peers, использование Vault-подобных решений, шифрование
🍭 Denial of Service. Resource Quotas и Limits, Pod Autoscaler, HA конфигурация
🍭 Elevation of Privileges. Управление Linux Capabilities, использование Security Context, использование Gatekeeper/Kyverno, Network Policies

Посты достаточно емкие, есть примеры и ссылки на полезные материалы, про которые рассказывается в самих постах
Anchore_2021_Software_Supply_Chain_Security_Survey_Report_FINAL.pdf
3.9 MB
Привет!

Отчетов много не бывает ☺️ В прилагаемом файле еще один: «Software Supply Chain Security Report» от компании Anchore.
Помимо общих данных (увеличение роста контейнеров, значимость использования cloud, наиболее популярные типы приложений в контейнерах и т.д.) в отчете есть интересные данные:

🍭 «Ощущение/восприятие риска» контейнеров в сравнении с "традиционными приложениями": насколько он больше, меньше или аналогичный
🍭 Подверженность Компаний supply chain атакам за последний год
🍭 Значимость безопасности Supply Chain для Компаний
🍭 Распределение ответственности между участниками (Sec, Dev, DevOps, Product Owner и т.д.) по вопросам Container Security

И еще много разной аналитики, с которой можно ознакомиться в отчете ☺️