Kubernetes Security Demos
Полезное репо, подготовленное для Kubernetes appOps Security Talks с набором манифестов для настройки Network Policies, Security Context и PSP. Здесь же вы найдете поясняющие статьи и доклады. Есть также вариант развертывания демо кластера по скрипту на GKE.
https://github.com/cloudogu/k8s-security-demos
#k8s #ops
Полезное репо, подготовленное для Kubernetes appOps Security Talks с набором манифестов для настройки Network Policies, Security Context и PSP. Здесь же вы найдете поясняющие статьи и доклады. Есть также вариант развертывания демо кластера по скрипту на GKE.
https://github.com/cloudogu/k8s-security-demos
#k8s #ops
GitHub
GitHub - cloudogu/k8s-security-demos: Demos for several kubernetes security features
Demos for several kubernetes security features. Contribute to cloudogu/k8s-security-demos development by creating an account on GitHub.
Static analysis by OPA - Dockerfiles
Уже ни для кого не секрет, что неправильное формирование Dockerfile может являться серьезной проблемой в безопасности приложений. Как правило, для решения данной проблемы все используют Hadolint для статического сканирования Docker-файлов.
В этом посте я предлагаю вам взглянуть на детектирование проблем с помощью Conftest - инструмента для выполнения статического анализа конфигурационных файлов (YAML, JSON, XML, Dockerfile, HCL и многое другое). Что самое интересное в нем, так это то, что правила для Conftest пишутся на языке Rego. Это позволяет стать на шаг ближе к унифицированному подходу контроля за средой с помощью Open Policy Agent, о котором я писал ранее, и не городить кучу инструментов. Вот статья, в которой описано применение Conftest для проверки Dockerfile с помощью кастомных рулов.
#docker #ops #dev #opa
Уже ни для кого не секрет, что неправильное формирование Dockerfile может являться серьезной проблемой в безопасности приложений. Как правило, для решения данной проблемы все используют Hadolint для статического сканирования Docker-файлов.
В этом посте я предлагаю вам взглянуть на детектирование проблем с помощью Conftest - инструмента для выполнения статического анализа конфигурационных файлов (YAML, JSON, XML, Dockerfile, HCL и многое другое). Что самое интересное в нем, так это то, что правила для Conftest пишутся на языке Rego. Это позволяет стать на шаг ближе к унифицированному подходу контроля за средой с помощью Open Policy Agent, о котором я писал ранее, и не городить кучу инструментов. Вот статья, в которой описано применение Conftest для проверки Dockerfile с помощью кастомных рулов.
#docker #ops #dev #opa
GitHub
GitHub - hadolint/hadolint: Dockerfile linter, validate inline bash, written in Haskell
Dockerfile linter, validate inline bash, written in Haskell - hadolint/hadolint
CI/CD System - Security Hardnening
Мы много говорим о встраивании безопасности в пайплайн и shift left, но не всегда своевременно вспоминаем про безопасность того, что наши пайплайны выполняет.
Небольшая подборка статей о безопасности CI/CD платформ.
Security Practices in GitLab
Managing Security of Jenkins
Securing Jenkins CI Systems
Security hardening for GitHub Actions
TeamCity Security Notes
CircleCI Security
#dev #ops
Мы много говорим о встраивании безопасности в пайплайн и shift left, но не всегда своевременно вспоминаем про безопасность того, что наши пайплайны выполняет.
Небольшая подборка статей о безопасности CI/CD платформ.
Security Practices in GitLab
Managing Security of Jenkins
Securing Jenkins CI Systems
Security hardening for GitHub Actions
TeamCity Security Notes
CircleCI Security
#dev #ops
The GitLab Handbook
Security at GitLab
Security Vision and Mission Our vision is to transparently lead the world to secure outcomes.
Our mission is to enable everyone to innovate and succeed on a safe, secure, and trusted DevSecOps platform. This will be achieved through 5 security operating principles:…
Our mission is to enable everyone to innovate and succeed on a safe, secure, and trusted DevSecOps platform. This will be achieved through 5 security operating principles:…
Forwarded from Mobile AppSec World (Yury Shabalin)
CVE-2020-0267: длинная история одной уязвимости
Я наконец-то этого дождался, уязвимость (пока единственную критическую в Android 11), получившую идентификатор CVE-2020-0267, которую мы с коллегой @jd7drw нашли в операционной системе Android, наконец-то пофиксили.
На мой взгляд, это очень интересная бага, о которой мы писали в том числе в Хакер и рассказывали на PHDays. Суть в том, что используя вполне легитимные механизмы, предоставляемые Android, без root-доступа, без специальных разрешений, абсолютно прозрачно для пользователя, можно было подменить любое приложение.
Механизм идеальный, создаем приложение, которое может нести какую-то полезную нагрузку, например, показывать курс криптовалюты или сделать тиндер для котиков. 😻
Но помимо основного приложения в бэкграунде создается
После этих нехитрых манипуляций при нажатии на иконку приложения, имя которого мы указали в
А если подменить приложение настроек, то можно попробовать защититься и от удаления 👹
Эту уязвимость мы зарепортили еще в 2017 году, и какого было моё удивление, когда ее "переоткрыли" спустя два года, назвали звучным именем StrandHogg и дико распиарили. Суть абсолютно такая же, но CVE они не получили (вроде бы).
Чуть позже выложу код PoC, чтобы можно было потестить самим 😉
Это наша первая CVE и упоминание на странице благодарностей Android и я думаю, что эта пятница явно удалась!
#Android #CVE #TaskHijacking #Research
Я наконец-то этого дождался, уязвимость (пока единственную критическую в Android 11), получившую идентификатор CVE-2020-0267, которую мы с коллегой @jd7drw нашли в операционной системе Android, наконец-то пофиксили.
На мой взгляд, это очень интересная бага, о которой мы писали в том числе в Хакер и рассказывали на PHDays. Суть в том, что используя вполне легитимные механизмы, предоставляемые Android, без root-доступа, без специальных разрешений, абсолютно прозрачно для пользователя, можно было подменить любое приложение.
Механизм идеальный, создаем приложение, которое может нести какую-то полезную нагрузку, например, показывать курс криптовалюты или сделать тиндер для котиков. 😻
Но помимо основного приложения в бэкграунде создается
Activity
с указанным параметром taskAffinity. В этом параметре необходимо указать имя пакета приложения, которое мы хотим подменить. Собственно всё, наш зловред готов.После этих нехитрых манипуляций при нажатии на иконку приложения, имя которого мы указали в
taskAffinity
, вместо запуска нормального приложения будет выведена на передний план Activity
злоумышленника. Эта Activity
может полностью копировать интерфейс подменяемого приложения и отправлять вводимые учетные данные на сторонний сервер. При этом, если есть двух-факторная аутентификация, никто не мешает по аналогичной схеме отправить смс-код на сервер. После кражи учетных данных можно свернуть свою активность и запустить/показать пользователю реальное приложение, которое он хотел запустить.А если подменить приложение настроек, то можно попробовать защититься и от удаления 👹
Эту уязвимость мы зарепортили еще в 2017 году, и какого было моё удивление, когда ее "переоткрыли" спустя два года, назвали звучным именем StrandHogg и дико распиарили. Суть абсолютно такая же, но CVE они не получили (вроде бы).
Чуть позже выложу код PoC, чтобы можно было потестить самим 😉
Это наша первая CVE и упоминание на странице благодарностей Android и я думаю, что эта пятница явно удалась!
#Android #CVE #TaskHijacking #Research
Open source behavior container analysis
Когда дело доходит до обеспечения runtime безопасности контейнерной среды, как правило, используют PSP и AppArmor, Seccomp, SELinux профили. Это, в свою очередь, создает еще больше сложностей, ведь при отсутствии понимания о работе своих приложений, есть высокий риск порезать нужную привилегию. С этой целью многие организации начинают присматриваться к коммерческим решениям, где есть встроенный функционал профилирования и автоматическое генерирование политик. Тем не менее, далеко не все знают про наличие open-source утилит. Вот некоторые из них:
- kube-psp-advisor для генерирования PSP
- oci-seccomp-bpf-hook и go2seccomp для генерирования seccomp-профилей
- inspektor-gadget для генерирования network policies
- udica для SELinux
В бонус к этому месяц назад на Kubecon North America 2020 Virtual был доклад Pod Security as an Afterthought, где спикер подробно рассказывает про работу некоторых из этих утилит.
#k8s #docker #ops
Когда дело доходит до обеспечения runtime безопасности контейнерной среды, как правило, используют PSP и AppArmor, Seccomp, SELinux профили. Это, в свою очередь, создает еще больше сложностей, ведь при отсутствии понимания о работе своих приложений, есть высокий риск порезать нужную привилегию. С этой целью многие организации начинают присматриваться к коммерческим решениям, где есть встроенный функционал профилирования и автоматическое генерирование политик. Тем не менее, далеко не все знают про наличие open-source утилит. Вот некоторые из них:
- kube-psp-advisor для генерирования PSP
- oci-seccomp-bpf-hook и go2seccomp для генерирования seccomp-профилей
- inspektor-gadget для генерирования network policies
- udica для SELinux
В бонус к этому месяц назад на Kubecon North America 2020 Virtual был доклад Pod Security as an Afterthought, где спикер подробно рассказывает про работу некоторых из этих утилит.
#k8s #docker #ops
Container Security: эволюция атак в 2020 году
6 ноября с 10:00 по МСК пройдет конференция DevOpsFest 2020, где будет два доклада по Security. Первый - мой. На нем я расскажу про безопасность контейнеров:
- Как злоумышленник может атаковать небезопасно настроенный кластер
- Какие появились CVE в 2020 году для k8s
- Как злоумышленник может закрепиться в инфраструктуре
- В чем связь между небезопасной версией ядра Linux и безопасностью облака
- Мои мысли о существующих механизмах и инструментах защиты
- Что из себя представляет enterprise решения по безопасности контейнеров, зачем его покупать и на что обращать внимание
Второй доклад "DevSecOps: Фаззинг исходного кода" от коллег из Digital Security. Не так давно они выпустили статью с таким же названием на Habr.
Прослушивание бесплатное. Материалы и записи платные.
P.S. А еще там есть крутая виртуальная площадка, где можно общаться. Я буду там, подходите знакомиться :)
#ops #k8s #docker #ops #talks
6 ноября с 10:00 по МСК пройдет конференция DevOpsFest 2020, где будет два доклада по Security. Первый - мой. На нем я расскажу про безопасность контейнеров:
- Как злоумышленник может атаковать небезопасно настроенный кластер
- Какие появились CVE в 2020 году для k8s
- Как злоумышленник может закрепиться в инфраструктуре
- В чем связь между небезопасной версией ядра Linux и безопасностью облака
- Мои мысли о существующих механизмах и инструментах защиты
- Что из себя представляет enterprise решения по безопасности контейнеров, зачем его покупать и на что обращать внимание
Второй доклад "DevSecOps: Фаззинг исходного кода" от коллег из Digital Security. Не так давно они выпустили статью с таким же названием на Habr.
Прослушивание бесплатное. Материалы и записи платные.
P.S. А еще там есть крутая виртуальная площадка, где можно общаться. Я буду там, подходите знакомиться :)
#ops #k8s #docker #ops #talks
Taint Tracking, перевод статьи про Pysa и экспериментальный функционал Semgrep.
Только сейчас нашел перевод на Habr статьи про Pysa, которую я публиковал недавно. Напомню, что Pysa - статический анализатор от Facebook для Python проектов. Pysa представляет из себя модуль для open source проекта Pyre, который также, как и в CodeQL, позволяет описывать свой data flow с помощью taint tracking.
Taint tracking - это механизм отслеживания taint data - так называемых "испорченных" данных. Это данные, которые поступили на вход (как правило от клиента), прошли через написанный разработчиками код и попали в небезопасную функцию, что в свою очередь породило уязвимость. Описывается taint tracking везде через
В документации Semgrep также недавно появилась страница с описанием taint tracking в качестве экспериментальной фичи в Python. Это должно значительно сократить объем необходимых правил для поиска багов и увеличить процент покрытия.
#sast #dev
Только сейчас нашел перевод на Habr статьи про Pysa, которую я публиковал недавно. Напомню, что Pysa - статический анализатор от Facebook для Python проектов. Pysa представляет из себя модуль для open source проекта Pyre, который также, как и в CodeQL, позволяет описывать свой data flow с помощью taint tracking.
Taint tracking - это механизм отслеживания taint data - так называемых "испорченных" данных. Это данные, которые поступили на вход (как правило от клиента), прошли через написанный разработчиками код и попали в небезопасную функцию, что в свою очередь породило уязвимость. Описывается taint tracking везде через
Source
и Sink
. Пример того, как это работает в CodeQL, можно увидеть на скриншоте. Здесь ищется код, в котором данные, передаваемые пользователем, через proces.argv
попадают в fs.readFile().
Конструкция Taint Tracking является одной из самых популярных в CodeQL. На этом же механизме построен анализ данных в Pysa.В документации Semgrep также недавно появилась страница с описанием taint tracking в качестве экспериментальной фичи в Python. Это должно значительно сократить объем необходимых правил для поиска багов и увеличить процент покрытия.
#sast #dev
Automating Kubernetes Security Reporting with Starboard Operator
В июне я писал об инструменте Starboard, который предоставляет возможность интегрировать такие инструменты, как trivy, kubebench, kubehunter через CustomResourceDefinitions (CRDs). Недавно Aqua внедрила фичу, позволяющую запускать сканирование trivy (либо Aqua CSP для владельцев энтерпрайз решения) по мере появления новых подов и автоматически формировать отчеты об уязвимостях через их собственные операторы PodController и JobController.
Статья + видео:
Automating Kubernetes Security Reporting with Starboard Operator by Aqua
Статья про Starboard и его сценарии использования:
Starboard: The Kubernetes-Native Toolkit for Unifying Security
#k8s #ops
В июне я писал об инструменте Starboard, который предоставляет возможность интегрировать такие инструменты, как trivy, kubebench, kubehunter через CustomResourceDefinitions (CRDs). Недавно Aqua внедрила фичу, позволяющую запускать сканирование trivy (либо Aqua CSP для владельцев энтерпрайз решения) по мере появления новых подов и автоматически формировать отчеты об уязвимостях через их собственные операторы PodController и JobController.
Статья + видео:
Automating Kubernetes Security Reporting with Starboard Operator by Aqua
Статья про Starboard и его сценарии использования:
Starboard: The Kubernetes-Native Toolkit for Unifying Security
#k8s #ops
Денис_Якимов_–_Container_Security_эволюция_атак_в_2020_году.pdf
45.4 MB
Презентация Container Security: эволюция атак в 2020 году.
Тем временем на сайте DevOpsFest 2020 выложили презентацию с моего доклада по атакам на контейнеры (+ некоторые мысли по защите).
#k8s #docker #attack #ops
Тем временем на сайте DevOpsFest 2020 выложили презентацию с моего доклада по атакам на контейнеры (+ некоторые мысли по защите).
#k8s #docker #attack #ops
Deep Dive into Real-World Kubernetes Threats
В продолжении хочу порекомендовать доклад "Command and KubeCTL: Real-World Kubernetes Security for Pentesters", а также крутую статью от этого же автора "Deep Dive into Real-World Kubernetes Threats". Этот материал поможет как пентестерам, кто осваивается в безопасности k8s, так и тем, кто эту безопасность выстраивает.
Ссылка на демо.
Ссылка на слайды доклада.
+ Для тех, кто погружается в тему атак, я проставил ко всем релевантным постам хештэг #attack
#k8s #docker #ops
В продолжении хочу порекомендовать доклад "Command and KubeCTL: Real-World Kubernetes Security for Pentesters", а также крутую статью от этого же автора "Deep Dive into Real-World Kubernetes Threats". Этот материал поможет как пентестерам, кто осваивается в безопасности k8s, так и тем, кто эту безопасность выстраивает.
Ссылка на демо.
Ссылка на слайды доклада.
+ Для тех, кто погружается в тему атак, я проставил ко всем релевантным постам хештэг #attack
#k8s #docker #ops
YouTube
Command and KubeCTL: Real-World Kubernetes Security for Pentesters - Mark Manning (Shmoocon 2020)
Kubernetes is a security challenge that many organizations need to take on, and we as pentesters, developers, security practitioners, and the technically curious need to adapt to these challenges. In this talk we will look at tactics, techniques, and tools…
Joren_Vrancken_4593847_A_Methodology_for_Penetration_Testing_Docker.pdf
1.7 MB
A Methodology for Penetration
Testing Docker Systems
Нашел неплохой документ от января этого года, собирающий все основные моменты по тестированию безопасности приложения в Docker.
#docker #literature #attack #ops #dev
Testing Docker Systems
Нашел неплохой документ от января этого года, собирающий все основные моменты по тестированию безопасности приложения в Docker.
#docker #literature #attack #ops #dev
Security Scorecard for Open Source Projects
Open Source Security Foundation выпустила инструмент под названием Security Scorecard. Основная цель инструмента - автоматизировать анализ и процесс принятия решений об использовании open-source проектов на GitHub. Запускается инструмент довольно просто:
После этого Scorecard выполняет набор проверок, например:
- Есть ли в проекте политика безопасности?
- Использует ли проект статические анализаторы кода (например, CodeQL)?
- Использует ли проект OSS-Fuzz?
- Был ли новый релиз и коммит за последние 90 дней?
- Подписываются ли релизы?
- Являются ли контрибьютеры членами разных организаций?
- и другие проверки.
Каждая проверка оценивается по 10-бальной шкале уверенности. 0 - невозможно получить сигнал, 10 - инструмент уверен в результате.
#dev
Open Source Security Foundation выпустила инструмент под названием Security Scorecard. Основная цель инструмента - автоматизировать анализ и процесс принятия решений об использовании open-source проектов на GitHub. Запускается инструмент довольно просто:
./scorecard --repo=github.com/kubernetes/kubernetes
После этого Scorecard выполняет набор проверок, например:
- Есть ли в проекте политика безопасности?
- Использует ли проект статические анализаторы кода (например, CodeQL)?
- Использует ли проект OSS-Fuzz?
- Был ли новый релиз и коммит за последние 90 дней?
- Подписываются ли релизы?
- Являются ли контрибьютеры членами разных организаций?
- и другие проверки.
Каждая проверка оценивается по 10-бальной шкале уверенности. 0 - невозможно получить сигнал, 10 - инструмент уверен в результате.
#dev
Security Wine (бывший - DevSecOps Wine)
Joren_Vrancken_4593847_A_Methodology_for_Penetration_Testing_Docker.pdf
Announcing Curiefense: An Open-Source Security Platform
На этой неделе произошло сразу несколько интересных анонсов. Сегодня начнем с первого из них.
Curiefense - open-source инструмент, дополняющий функционал Envoy-прокси WAF, Bot Management, rate-limit, anti-DDoS и другими фичами. Инструмент создан компанией Reblaze, которая разрабатывает коммерческие решения для защиты веб-трафика в Cloud Native среде.
Есть вариант деплоя через docker compose и helm, в случае если вы используете Istio. Настройки системы, сигнатур и логов доступны через веб-морду решения. Также используются метрики Prometheus и дашборд Grafana.
- Документация.
- Репо на GitHub.
#ops #waf #k8s
На этой неделе произошло сразу несколько интересных анонсов. Сегодня начнем с первого из них.
Curiefense - open-source инструмент, дополняющий функционал Envoy-прокси WAF, Bot Management, rate-limit, anti-DDoS и другими фичами. Инструмент создан компанией Reblaze, которая разрабатывает коммерческие решения для защиты веб-трафика в Cloud Native среде.
Есть вариант деплоя через docker compose и helm, в случае если вы используете Istio. Настройки системы, сигнатур и логов доступны через веб-морду решения. Также используются метрики Prometheus и дашборд Grafana.
- Документация.
- Репо на GitHub.
#ops #waf #k8s
Announcing OpenCSPM - An Open-Source Cloud Security Posture Management and Workflow Platform
Следующий анонс. OpenCSPM - open source платформа от компании Darkbit, представляющая из себя, как уже понятно по названию, cloud security posture management. Решение анализирует AWS и GCP на предмет несоответствия заданным политикам безопасности. Обещают,что скоро появится поддержка k8s. Из аналогов сейчас CloudSploit, ScoutSuite, Security Monkey.
Авторы OpenCSPM также являются разработчиками open source инструментов mkit (поиск мисконфигурации k8s), и aws-recon (сбор и анализ ресурсов AWS для аудита безопасности). Darkbit, в свою очередь, предоставляет консалтинг по безопасности облаков и ведет неплохой блог. Им же принадлежит статья про Falco bypass.
#aws #gcp #ops
Следующий анонс. OpenCSPM - open source платформа от компании Darkbit, представляющая из себя, как уже понятно по названию, cloud security posture management. Решение анализирует AWS и GCP на предмет несоответствия заданным политикам безопасности. Обещают,что скоро появится поддержка k8s. Из аналогов сейчас CloudSploit, ScoutSuite, Security Monkey.
Авторы OpenCSPM также являются разработчиками open source инструментов mkit (поиск мисконфигурации k8s), и aws-recon (сбор и анализ ресурсов AWS для аудита безопасности). Darkbit, в свою очередь, предоставляет консалтинг по безопасности облаков и ведет неплохой блог. Им же принадлежит статья про Falco bypass.
#aws #gcp #ops
Pentest in Docker, Secure Gitlab pipeline and Archdays 2020
Пришло время следующего анонса. 20 ноября мы с Пашей Канн (@shad0wrunner) выступаем на Archdays 2020, где покажем сценарий атаки на приложение в Docker. Специально для конференции мы подготовили репо Pentest-In-Docker, где вы можете самостоятельно шаг за шагом (которые детально описаны в readme) повторить эксплуатацию уязвимости. Есть вариант на русском.
Сценарий предполагает следующие шаги:
- Эксплуатация RCE в Bash (Shellshock)
- Повышение привилегий до root в контейнере через pip
- Создание своей ubuntu с ssh через docker.sock
- Смена контейнера и создание рута на хосте
- Побег из контейнера
- Развертывание Weave Scope для захвата инфры
Для реализации достаточно иметь виртуалку с docker на базе linux.
Образ также может быть использован для пилотирования коммерческих и не очень решений по Container Security, чтобы посмотреть, как они обнаруживают вредоносные действия. Паша, в свою очередь, покажет на воркшопе, как развернуть Gitlab с встроенными проверками Hadolint, Trivy и Dockle. Репо с пайплайном также есть уже на Github.
Вот, кстати, промо-код на скидку -50% для регистрации: DevSecOpsWine
https://archdays.ru/speakers/#track-bezopasnost-v-raspredelennyh-sistemah
#ops #docker #talks #attack
Пришло время следующего анонса. 20 ноября мы с Пашей Канн (@shad0wrunner) выступаем на Archdays 2020, где покажем сценарий атаки на приложение в Docker. Специально для конференции мы подготовили репо Pentest-In-Docker, где вы можете самостоятельно шаг за шагом (которые детально описаны в readme) повторить эксплуатацию уязвимости. Есть вариант на русском.
Сценарий предполагает следующие шаги:
- Эксплуатация RCE в Bash (Shellshock)
- Повышение привилегий до root в контейнере через pip
- Создание своей ubuntu с ssh через docker.sock
- Смена контейнера и создание рута на хосте
- Побег из контейнера
- Развертывание Weave Scope для захвата инфры
Для реализации достаточно иметь виртуалку с docker на базе linux.
Образ также может быть использован для пилотирования коммерческих и не очень решений по Container Security, чтобы посмотреть, как они обнаруживают вредоносные действия. Паша, в свою очередь, покажет на воркшопе, как развернуть Gitlab с встроенными проверками Hadolint, Trivy и Dockle. Репо с пайплайном также есть уже на Github.
Вот, кстати, промо-код на скидку -50% для регистрации: DevSecOpsWine
https://archdays.ru/speakers/#track-bezopasnost-v-raspredelennyh-sistemah
#ops #docker #talks #attack
GitHub
GitHub - Swordfish-Security/Pentest-In-Docker: Docker image to exploit RCE, try for pentest methods and test container security…
Docker image to exploit RCE, try for pentest methods and test container security solutions (trivy, falco and etc.) - GitHub - Swordfish-Security/Pentest-In-Docker: Docker image to exploit RCE, try...
10 React security best practices
Небольшой даташит для разработчиков и appsec.
https://snyk.io/blog/10-react-security-best-practices/
UPD: Вот туда же в копилку: Три типовых ошибки в сфере безопасности, о которых должен знать каждый React-разработчик
#dev
Небольшой даташит для разработчиков и appsec.
https://snyk.io/blog/10-react-security-best-practices/
UPD: Вот туда же в копилку: Три типовых ошибки в сфере безопасности, о которых должен знать каждый React-разработчик
#dev