О модуле Управление уязвимостями (VM)
Примечание
Функциональность находится на стадии Preview. Чтобы получить доступ, обратитесь в техническую поддержку
Модуль Управление уязвимостями — это инструмент для централизованного управления сканированием контейнерных образов и конечных точек на уязвимости, а также для просмотра результатов сканирований ресурсов в окружении.
Модуль позволяет обнаруживать уязвимости в контейнерных образах, хранящихся в реестрах Container Registry и Cloud Registry, а также в образах, запущенных в кластерах Managed Service for Kubernetes, и в конечных точках приложений и сервисов.
Сканирование образов
Модуль Управление уязвимостями поддерживает сканирование контейнерных образов из следующих источников:
- Yandex Container Registry — сервис для хранения и распространения Docker-образов.
- Yandex Cloud Registry — сервис для хранения и распространения артефактов различных типов, включая контейнерные образы.
- Кластеры Kubernetes, которые проверяет модуль Контроль Kubernetes (KSPM).
Триггеры сканирования
Сканирование образов может запускаться автоматически по одному из следующих триггеров:
-
При загрузке образа — сканирование запускается автоматически при загрузке нового образа в реестр Container Registry или Cloud Registry.
-
По расписанию — сканирование запускается периодически по заданному расписанию. В зависимости от настроек сканируются:
-
все образы в реестрах, включая те, которые были добавлены после последнего запуска сканирования;
-
только образы с тегом
latestили те, которые были добавлены после последнего запуска сканирования.Подробнее о тегах образов в разделе Управление версиями Docker-образа.
-
-
При использовании образа — сканирование запускается при создании нового кластера Managed Service for Kubernetes или при создании контейнера с образом в существующем кластере.
Вы можете комбинировать триггеры для обеспечения максимального покрытия сканированием.
Сканирование образов в кластерах Kubernetes
При интеграции с модулем KSPM модуль Управление уязвимостями автоматически определяет образы, запущенные в кластерах Managed Service for Kubernetes, указанных для окружения.
Сканирование образов, запущенных в кластерах Kubernetes, при включении триггера по расписанию работает как фильтр: при каждом запуске формируется список образов и выполняется их сканирование.
Сканирование конечных точек приложений и сервисов
Уязвимости в конечных точках представляют серьезную угрозу для безопасности данных и стабильной работы приложений и сервисов. Модуль Управление уязвимостями позволяет находить внешние конечные точки взаимодействия с приложениями и сервисами и проверять их на уязвимости путем отправки тестовых запросов и анализа ответных реакций.
Сканирование и анализ уязвимостей в конечных точках реализованы в Security Deck с использованием инструментов SolidPoint DAST
Чтобы использовать возможности сканирования конечных точек, необходимы следующие роли:
vulnerability-manager.editorили выше, чтобы создавать, изменять и удалять расписания сканирований, а также запускать сканирования.vulnerability-manager.viewerили выше, чтобы просматривать результаты сканирований.
Цели сканирования
Цель сканирования — сервис или приложение, расположенное в области действия контроля модуля Управление уязвимостями, с известным IP- или URL-адресом и набором характеристик, таких как ресурс размещения, технология и т.п.
В настоящий момент модуль Управление уязвимостями позволяет обнаруживать цели сканирования, развернутые внутри следующих типов ресурсов в выбранной области действия контроля модуля:
- виртуальные машины Yandex Compute Cloud;
- L7-балансировщики нагрузки Yandex Application Load Balancer;
- сетевые балансировщики нагрузки Yandex Network Load Balancer.
Расписания сканирований
Сканирование в режиме базового анализа поверхности атаки выполняется автоматически и обнаруживает все цели в пределах области действия контроля, заданной для модуля Управление уязвимостями.
Сканирование в режимах расширенного анализа поверхности атаки и глубокого сканирования на уязвимости выполняется с помощью расписаний сканирований. Расписание сканирований — это ресурс модуля Управление уязвимостями, который содержит информацию о группах целей, подлежащих сканированию, а также о режиме сканирования, применяемых модулях и периодичности выполнения.
Группы целей сканирования
При настройке расписания сканирований вы можете ограничить область сканирования с помощью группы целей, для которой можно задать следующие параметры:
- Сканируемые ресурсы. В настройках расписания вы можете выбрать для поиска и анализа целей как всю область действия контроля, которая задана в окружении для модуля Управление уязвимостями, так и отдельные облака и/или каталоги.
- Сканируемые адреса. В настройках расписания вы можете исключить определенные ссылки из сканирования. Исключения можно задать в виде списка строк, содержащих части пути и/или регулярные выражения.
Режимы сканирования конечных точек
В настоящий момент сканирование конечных точек может выполняться в режиме базового или расширенного анализа поверхности атаки, а также в режиме глубокого сканирования на уязвимости.
Базовый анализ поверхности атаки выполняется автоматически с периодичностью, которая задана в настройках модуля Управление уязвимостями в окружении.
Для запуска расширенного анализа поверхности атаки или глубокого сканирования на уязвимости необходимо предварительно создать и настроить расписание сканирований. Созданное расписание сканирований будет регулярно выполнять сканирование с периодичностью, заданной в его настройках. Кроме того, сканирование в рамках расписания может быть запущено пользователем вручную.
Базовый анализ поверхности атаки
Базовый анализ поверхности атаки выполняется автоматически после включения периодического поиска уязвимостей в параметрах управления уязвимостями в настройках окружения. Анализ в этом режиме на регулярной основе выполняется в выбранной области действия контроля и включает в себя следующие операции:
- определение типов ресурсов;
- инвентаризация IP-адресов;
- инвентаризация открытых портов;
- идентификация приложений и сервисов;
- (для веб-приложений) идентификация конечных точек и отпечатков приложений.
В рамках базового анализа поверхности атаки применяются следующие модули (методы анализа):
|
Название модуля |
Метод анализа |
Описание |
|
|
Статический веб-краулинг и дирбастинг |
Поисковый модуль обходит веб-ресурсы и анализирует HTML-разметку без рендеринга страницы с опциональным дирбастингом. |
|
|
Динамический веб-краулинг |
Поисковый модуль выявляет конечные точки посредством динамического взаимодействия с интерфейсами веб-приложения, используя управляемый браузер. |
|
|
Сигнатурный анализ ресурсов и выявление технологий |
Модуль на основе результатов работы модуля |
|
|
Выявление конечных точек GraphQL |
Модуль отправляет специфичные для GraphQL HTTP-запросы для выявления конечных точек GraphQL. |
Базовый анализ не выявляет уязвимости. При этом цели, обнаруженные в результате его выполнения, могут быть использованы для глубокого сканирования.
Расширенный анализ поверхности атаки
Расширенный анализ поверхности атаки позволяет найти дополнительные цели, которые могли быть упущены при базовом анализе. Расширенный анализ также не выявляет уязвимости, но его результаты могут быть использованы для глубокого сканирования.
Расширенный анализ поверхности атаки может быть как запущен вручную, так и запускаться по расписанию, и включает в себя следующие операции:
- все операции, выполняемые в режиме базового анализа;
- анализ конфигураций (TLS, CORS, SSH);
- обнаружение известных уязвимостей.
В рамках расширенного анализа поверхности атаки анализируется группа целей, к которой применяются все модули базового анализа, а также следующие модули (методы анализа):
|
Название модуля |
Метод анализа |
Описание |
|
|
Анализ клиентского JavaScript |
Модуль выявляет конечные точки сервера при помощи анализа клиентского JavaScript-кода. |
|
|
Контролируемые сериализованные данные |
Модуль выполняет поиск сериализованных объектов в ответах сервера и поддерживает PHP, Python |
|
|
Недостатки расширенных сигнатур Nuclei |
Модуль выполняет активное сканирование конечных точек с использованием расширенных шаблонов Nuclei. |
|
|
Недостатки сигнатур Nuclei |
Модуль выполняет активное сканирование различных протоколов с использованием YAML-сигнатур Nuclei. |
|
|
Некорректная настройка CORS |
Модуль выявляет недостатки настройки CORS, которые позволяют несанкционированным веб-страницам получать доступ к ресурсам приложения. Недостатки выявляются путем отправки запросов с различными значениями заголовка |
Глубокое сканирование на уязвимости
Глубокое сигнатурное сканирование и тестирование атак в дополнение к расширенному анализу поверхности атаки обнаруживают различные типы уязвимостей и угроз: от небезопасной сериализации данных до SQL- и NoSQL-инъекций, XSS-атак, Path Traversal и др.
Глубокое сканирование на уязвимости может быть как запущено вручную, так и запускаться по расписанию, и включает в себя следующие операции:
- все операции, выполняемые в режиме расширенного анализа;
- фаззинг
; - сопоставление с классификатором уязвимостей CVE
; - подробный анализ объектов.
В рамках глубокого сканирования на уязвимости анализируется группа целей, к которой применяются все модули базового и расширенного анализа поверхности атаки, а также следующие модули (методы анализа):
|
Название модуля |
Метод анализа |
Описание |
|
|
Client-Side Prototype Pollution |
Модуль выполняет динамическую проверку выполнения JavaScript-кода на странице приложения в веб-браузере. |
|
|
Client-Side Prototype Pollution |
Модуль выполняет динамический анализ потоков данных, которые могут привести к CSPP. |
|
|
DOM XSS |
Модуль выполняет динамический анализ потоков данных, которые могут привести к DOM XSS. |
|
|
Stored XSS |
Модуль выполняет двухэтапный обход приложения с динамической проверкой выполнения JavaScript-кода. |
|
|
Подбираемые учетные записи |
Модуль выполняет перебор словаря для выявления учетных записей со слабыми данными входа. |
|
|
Уязвимости загрузки файлов |
Модуль выявляет недостатки, связанные с исполнением PHP-кода, ImageMagick |
|
|
Экспериментальный модуль выделяет потенциально небезопасные параметры и отправляет запросы с подстановкой значений. |
|
|
|
Небезопасная десериализация в Java |
Модуль выявляет недостатки веб-приложений Java, используя объекты, найденные модулем |
|
|
NoSQL-инъекции |
Модуль выявляет недостатки при попадании пользовательских данных в контекст команд баз данных NoSQL |
|
|
Модуль выявляет доступ к произвольным файлам и директориям путем поиска стандартных системных файлов. |
|
|
|
Reflected XSS |
Модуль выявляет Reflected XSS на основе результатов работы модуля |
|
|
Reflected XSS |
Модуль выполняет динамическую проверку выполнения JavaScript-кода на странице приложения в веб-браузере. |
|
|
Модуль выполняет внедрение shell-команд с проверкой результата в HTTP-ответах и слепыми проверками на основе времени. |
|
|
|
Модуль выявляет SQL-инъекции через проверки |
|
|
|
Модуль выявляет Server-Side Template Injection через взаимодействие |
|
|
|
Модуль выявляет XML External Entity через взаимодействие |
|
|
|
Небезопасная десериализация в PHP |
Модуль выявляет недостатки в PHP-приложениях, используя объекты, найденные модулем |
При настройке сканирования вы можете отключать проверки с использованием тех или иных модулей.
Важно
Выполнение глубокого сканирования может приводить к следующим негативным последствиям:
- При сканировании создается дополнительная нагрузка на приложение или сервис, которая может превысить расчетную.
- Сканирование способно привести к замедлению или даже к падению доступности приложений и сервисов.
- Возможно появление запросов к элементам API сканируемых приложений и сервисов, что может вызывать нежелательную внешнюю реакцию: отправку писем, СМС, отправку запросов в связанные системы.
Результаты сканирования
Информация о найденных целях отображается на вкладке Конечные точки модуля Управление уязвимостями и содержит:
- адрес конечной точки цели и используемые порты;
- имя и тип ресурса, на котором расположена цель;
- сервис или протокол, обслуживающий запросы к цели;
- технологии, используемые при обработке запросов к цели;
- количество путей, обнаруженных у цели;
- информация о количестве и критичности найденных уязвимостей.
Общие сведения о количестве и критичности найденных уязвимостей отображаются на дашборде модуля Управление уязвимостями и на общем дашборде окружения. Кроме того, при обнаружении уязвимости модуль Управление уязвимостями формирует алерт.
Детальная информация с результатами сканирований и найденными уязвимостями отображается на вкладке Сканирования модуля Управление уязвимостями. Подробнее читайте в разделе Посмотреть результаты сканирования конечных точек в модуле Управление уязвимостями (VM).
Полезные ссылки
- Активировать модуль Управление уязвимостями (VM)
- Создать расписание сканирований конечных точек в модуле Управление уязвимостями (VM)
- Запустить сканирование конечных точек в модуле Управление уязвимостями (VM)
- Посмотреть результаты сканирования конечных точек в модуле Управление уязвимостями (VM)
- Работать с дашбордом модуля Управление уязвимостями (VM)
- Окружения Security Deck
- Контроль Kubernetes® (KSPM)
- О модуле Алерты
Конечная точка (endpoint) — это URL-адрес компонента приложения, доступный для HTTP-запросов и возвращающий ответ. К конечным точкам относятся все точки взаимодействия с приложением — от публичных страниц до внутренних API-методов.
Отпечаток (fingerprint) сервиса — это идентифицируемый набор технических характеристик веб‑сервиса (HTTP‑заголовков, шаблонов ответов, структуры URL, поведения при ошибках и т.п.), который позволяет определить тип сервиса, его версию и конфигурацию.
Веб-краулинг (web crawling) — это последовательное посещение веб-страниц для анализа их содержимого и сбора данных для дальнейшей обработки.
Дирбастинг (dirbusting) — это слепой перебор конечных точек по словарю.