DevSecOps
Подход DevSecOps является логичным ответом с точки зрения информационной безопасности на набравшую за последнее время огромную популярность методологию гибкой непрерывной бесшовной разработки DevOps. Традиционные инструменты и методологии безопасности не подходят для защиты не зависящих от инфраструктуры, управляемых разработчиками, приложений; эффективно не встраиваются в классический CI/CD цикл разработки, присущий методологии DevOps; не позволяют гарантировать безопасность разрабатываемого приложения и используемых в его коде открытых библиотек, классов, функций и т.д.; не позволяют сотрудникам ИБ службы инспектировать, мониторить и контролировать ход разработки, который для них является чёрной коробкой и непрозрачной зоной, таким образом, ИБ служба не может и гарантировать безопасность опубликованного продукта.
Кроме того:
- Разработчики и команды DevOps играют жизненно важную роль в создании и развертывании приложений, зачастую работая вне поля зрения традиционных технологий безопасности. Требуются решения по безопасности, которые гибко, эффективно и вариативно интегрируются с инфраструктурой и инструментами разработчиков, не мешая им и не нарушая сложившиеся зависимости и процессы.
- В методологии DevOps процесс изменений никогда не останавливается. Для осуществления должного контроля и соблюдения стандартов ИБ требуется автоматизация для защиты растущего числа постоянно эволюционирующих микросервисов.
- Организации используют для разработки, тестирования и публикации результатов всё более разнородную инфраструктуру: физические сервера, частные облака, публичные облака или любые их комбинации.
В итоге это приводит к:
- Недостаточной прозрачности инфраструктуры;
- Проблемам с отслеживанием изменений в Kubernetes;
- Сложности инвентаризации ресурсов;
- Сложности планирования;
- Несогласованности действий команд;
- Использованию стороннего, недоверенного кода;
- Сложности обеспечения безопасности;
- Значительным временным затратам на поиск проблемы.
Учитывая всё выше сказанное, необходимо решение класса DevSecOps (проприетарное или набор OpenSource), эффективно и бесшовно встраивающееся в методологию DevOps и автоматически непрерывно обеспечивающее целостную защиту хостов, контейнеров и бессерверных вычислений на протяжении всего жизненного цикла приложений независимо от базовой вычислительной технологии или платформы, на которой они работают.
Законченное решение, на наш взгляд, минимально должно позволять:
- Бесшовно проводить SAST для исходного кода.
- Обнаруживать и блокировать уязвимости на уровне ОС, фреймворка приложений и отдельных сборок на протяжении всего жизненного цикла приложения (от процесса разработки до эксплуатации).
- Обеспечивать соблюдение compliance на протяжении всего жизненного цикла приложения. Необходимые пресеты для проверки Docker, Kubernetes, готовые шаблоны Linux CIS Benchmarks, Istio и т.д.
- Полностью интегрироваться в процесс разработки и доставки приложений. Автоматизированные и пользовательские политики должны позволять блокировать сборку или публикацию на основании выявленных уязвимостей или несоответствий compliance.
- Обеспечивать защиту инфраструктуры при помощи машинного обучения. Автоматически создавать основанные на белых списках модели поведения приложений с минимально необходимыми привилегиями.
- Изучать топологию сетевого взаимодействия приложений и реализовывать необходимую изоляцию для каждого микросервиса, обеспечивая защиту на сетевом и прикладном уровне.
- Собирать информацию и знания в одном месте и объединить команды для продуктивной работы.
- Получить полное представление о том, что происходит в K8s, и обеспечить прозрачность инфраструктуры.
- Управлять паттернами взаимодействия внутри микросервисной архитектуры с помощью наблюдения и визуализации.
- Быстро находить причины сбоев.
- Предоставить разным командам единый инструмент наблюдения за инфраструктурой.
- Сократить время, которое уходит на поиск проблемы до считанных минут и ускорить процесс внедрения продуктов.
- Позволять управлять секретами, формировать и применять детализированные политики, регулирующие доступ пользователей к ресурсам Docker и Kubernetes с возможностью мониторинга их активностей.
Для нового внедрения мы можем:
- подобрать оптимальную методологию и разработать дорожную карту по данной методологии;
- провести непрерывную инвентаризацию и визуализацию компонентов контейнерной инфраструктуры, ресурсов в кластерах и их взаимодействия (Observability);
- создать выстроенный технический инструментальный процесс только непрерывного анализа кода (SAST внутри CICD цикла);
- создать выстроенный технический инструментальный процесс непрерывной сквозной безопасной разработки (наиболее часто востребованный вариант для сформировавшегося или уже спроектированного и строящегося DevOps);
- создать выстроенную полную архитектуру контроля за безопасностью разработки (включая менеджмент, осведомлённость, стратегии, ПО, политики, среды, циклы сборки/публикации и концепции разработки);
- удовлетворить требования регулятора (приказ ФСТЭК России от 04 июля 2022 г. №118).
Для существующего внедрения мы можем предложить:
- провести аудит аспектов безопасности текущей разработки ПО, принятых процессов, применяемых технологий и инструментов, архитектуры разрабатываемого приложения, эффективности персонала;
- провести аудит и анализ (due diligence) формата SDLC;
- провести аудит DevSecOps-архитектуры на соответствие открытым стандартам Microsoft SDL, OWASP SAMM, OpenSAMM, BSIMM (фреймворки, содержащие совокупность мировых активностей и практик в этой области), вендорским PT Essential, PT Advanced;
- провести аудит цикла тестирования и проверки безопасности приложений согласно стандарта OWASP ASVS 4.0;
- провести аудит (включая пентест) и выстроить процессы защиты инфраструктуры разработки Kubernetes (процесс Security Posture Management) и Kubernetes runtime;
- провести аудит применимости регуляторных или ГОСТ требований (ФСТЭК, РКН, ЦБ, распоряжения правительства и т.п. или ГОСТ Р 56939)
В рамках наших услуг мы также можем предложить предварительное пилотирование ряда решений с последующей полной проработкой совершенно разных стадий этапа внедрения:
- Стендирование и демонстрация для Заказчика каждого подобранного решения (для ролей linter, SAST, DAST, SCA, container scanner, container security, secrets management, infra scanning, observability и т.п.) с проверкой встраивания в pipeline. В результате сбора информации по всему скопу активов, задействованных и принимающих участие в аспектах разработки, на своём стенде мы поднимаем pipeline(ы), максимально приближенные к pipeline Заказчика. Имея достаточно широкую инструментальную коллекцию проприетарных и open-source компонент, закрывающих как атомарные, так и молекулярные или даже консолидированные функции безопасности, мы имеем возможность встраивать их в эмулируемый pipeline(ы), т.о. демонстрируя Заказчику процесс встраивания, работы, вызовов, политик, интерфейс и эффективность каждого компонента.
- Базовое внедрение — разворачивание микросервиса управления, распространение и инсталляция агента по контейнерам внутри инфраструктуры K8s, построение визуализации взаимодействия защищаемых контейнеров;
- Интеграция с оснасткой(ами) CI/CD цикла.
- Активация и настройка всех необходимых механизмов и политик безопасности.
- Консалтинг, проектирование — трёхсторонний консалтинг между Исполнителем, руководством группы разработки и службой ИБ по 3-х стадийной безопасной разработке (для этапов сборки, размещения и выполнения на продакшн). Подготовка проекта всех механизмов безопасности на протяжении полного жизненного цикла приложения путем интеграции с CI/CD процессом, принятым реестром образов Docker, репозиторием кода и производственной средой, с непрерывной оценкой факторов риска и приоритезацией событий. Проект разрабатывается для существующего приложения или группы приложений, с учётом его будущей доработки и принимая во внимание текущие подходы в его создании.
- Внедрение внешнего хранилища секретов или интеграция с существующим.
- Интеграция с другими ИБ-решениями (часто с SIEM).
- Межсетевые экраны (NGFW/DCFW/ISFW)
- EDR решения
- Sandbox
- Security Awareness
- Системы сбора и корреляции событий ИБ (SIEM)
- Многофакторная аутентификация (MFA)
- Защита электронной почты
- Межсетевой экран для веб-приложений (WAF)
- Контроль управляющих конфигураций
- Контроль привилегированных пользователей (PIM/PAM/PUM)
- Системы контроля и управления доступом к неструктурированным данным (DCAP, DAG, FA)
- DDoS-защита
- MDM/MDP решения
- DLP системы
- Анализ сетевого трафика (NTA/NDR)
- Решения для анализа кода на уязвимости (SAST, DAST)
- Защита сетей АСУ ТП и обнаружение угроз в них (IoT, OT, ICS, SCADA protection and device discovery, DataDiodes)
- Mobile information management (MIM) «Системы для работы с файлами, их контроля и защищенного обмена»
- Управление уязвимостями (VM)
- Шифрование данных на рабочих станциях
- Мониторинг и защита баз данных (DBM/DBF)
- Системы внешнего моделирования и проведения нарушений и атак (BAS)
- HoneyPots (DDP)
- Анализ и устранение уязвимостей облачной инфраструктуры, оценка соответствия облака политикам безопасности (CSPM)
- Сетевой доступ с нулевым доверием (ZTNA)
- Платформа реагирования на инциденты кибербезопасности (IRP)
- Системы управления доступом, учетными записями пользователей (IDM)