Анализ уязвимостей во время выполнения

Материал из Документация Ключ-АСТРОМ

Анализ уязвимостей во время выполнения

RVA (Анализ уязвимостей во время выполнения) Ключ-АСТРОМ позволяет обнаруживать, визуализировать, анализировать, отслеживать и устранять уязвимости в открытом исходном коде и сторонних разработчиках, а также уязвимости безопасности в библиотеках и собственном коде в производственной и предпроизводственной средах во время выполнения.

Возможности

  • Автоматическая и непрерывная защита: Ключ-АСТРОМ постоянно отслеживает производственные и предпроизводственные среды, чтобы выявлять любые изменения в средах приложений (такие как динамика контейнеров, эластичное масштабирование, многоверсионные развертывания, обновления контейнеров во время выполнения, откаты, A/B-тесты или сине-зеленые развертывания) и предоставлять точные ответы об источнике, характере и серьезности уязвимостей по мере их возникновения в режиме реального времени. Ключ-АСТРОМ автоматически анализирует и расставляет приоритеты для оповещений.
  • Непрерывный анализ векторов атак для автоматического отслеживания того, вызываются ли уязвимые библиотеки и используются ли они во время выполнения. Application Security Ключ-АСТРОМ разработан для того, чтобы позволить вам выявлять наиболее важные уязвимости и уменьшать количество ложных срабатываний с помощью отображения топологии в реальном времени Smartscape и распределенной трассировки с анализом кода PurePath.
  • В сочетании с лентой уязвимостей Ключ-АСТРОМ и NVD, подход, основанный на анализе во время выполнения, обеспечивает автоматическое обнаружение уязвимостей в процессе работы. Даже если проверки безопасности не интегрированы в конвейеры во всех командах или намеренно обходят их, Ключ-АСТРОМ может мгновенно обнаруживать запущенные процессы и точно определять уязвимости, автоматически открывая сообщение об уязвимости при ее обнаружении и закрывая его, когда первопричина (например, загрузка уязвимой библиотеки) больше не присутствует.
  • Полное покрытие всех откатов в производственной среде и устаревших релизов, флагов функций и схем развертывания (канареечное, сине-зеленое).
  • Эффективное управление уязвимостями в случаях, когда исправление не помогло, например, если уязвимость случайно повторно появилась во время отката или если обновления были применены некорректно.
  • Точная и автоматическая оценка рисков и последствий, с приоритезацией рисков в зависимости от пути доступа к данным и фактического выполнения в производственной среде. Application Security Ключ-АСТРОМ выявляет сотни или тысячи открытых уязвимостей, требующих немедленного расследования. Система автоматически анализирует пути доступа к данным и выполнение в производственной среде, обеспечивая более точную оценку рисков и последствий.

Как это работает

Система анализа уязвимостей во время выполнения (RVA) обнаруживает и оценивает уязвимости в вашей среде на основе фактически запущенных процессов, а не только развернутых. ЕдиныйАгент отслеживает загруженные библиотеки, компоненты среды выполнения и потоки данных в режиме реального времени. Уязвимости сообщаются только тогда, когда затронутые компоненты активно используются, что снижает уровень шума и количество ложных срабатываний.

Для обнаружения уязвимостей сторонних разработчиков Ключ-АСТРОМ:

  • Обнаруживает библиотеки и компоненты среды выполнения по мере их загрузки процессами.
  • Сопоставляет названия и версии компонентов с надежными источниками информации об уязвимостях.
  • Вызывает уязвимость только тогда, когда компонент используется.

Для обнаружения уязвимостей на уровне кода Ключ-АСТРОМ:

  • Анализирует, как пользовательский ввод проходит через приложение.
  • Выявляет небезопасные участки кода, которые могут быть использованы злоумышленниками.
  • Оценивает риски на основе доступа к общедоступному интернету и доступа к конфиденциальным данным.

Уязвимости автоматически устраняются, когда первопричина больше не актуальна; например, если удалена уязвимая библиотека или остановлен процесс. RVA постоянно адаптируется к изменениям топологии и динамическим средам.

Технические подробности см. в разделе «Оценка уязвимостей». Краткое руководство см. в разделе «Ознакомьтесь с новыми возможностями анализа уязвимостей в среде выполнения Ключ-АСТРОМ».

Предварительные требования

Прежде чем начать, убедитесь, что ваша среда соответствует необходимым требованиям:

  • Вы используете поддерживаемую версию Ключ-АСТРОМ. Ознакомьтесь с примечаниями к выпуску, чтобы узнать о поддерживаемых в настоящее время версиях.
  • Для корректной работы анализа уязвимостей во время выполнения убедитесь, что глубокий мониторинг включен в разделе Настройки > Обработка и контекст > Группы процессов > Мониторинг групп процессов.
  • Для технологий .NET, Go и Python, для которых автоматический глубокий мониторинг отключен, необходимо вручную включить глубокий мониторинг на каждом хосте. Дополнительную информацию см. в разделе «Глубокий мониторинг процессов».

Поддерживаемые технологии

Обнаружение уязвимостей сторонними сервисами

Ключ-АСТРОМ обнаруживает уязвимости сторонних разработчиков в следующих технологиях.

Технологии Минимальная версия ЕдиногоАгента
Go 1.245
Java 1.221
Среды выполнения Java 1.253
Kubernetes 1.219
.NET 1.233
Среды выполнения .NET 1.255
Node.js 1.231
Среды выполнения Node.js 1.253
PHP 1.231
Python 1.309
Среды выполнения Python 1.309
  • Для технологий .NET, Go и Python, для которых автоматический глубокий мониторинг отключен, необходимо вручную включить глубокий мониторинг на каждом хосте. Дополнительную информацию см. в разделе «Глубокий мониторинг процессов».
  • В настоящее время Java на z/OS не поддерживается.
  • Использование Webpack или других сборщиков может повлиять на автоматическое обнаружение уязвимостей. Это связано с тем, что программные компоненты не могут быть обнаружены, поскольку они скрыты за конфигурацией сборщика и недоступны во время выполнения. Обнаружению и сообщению подлежат только пакеты, развернутые как внешние пакеты. Подробнее см. Node.js: Ограничения.
  • В настоящее время Ключ-АСТРОМ поддерживает только два состояния для доступных данных в контексте уязвимостей Python: «В пределах досягаемости» и «Недоступно».

Обнаружение уязвимостей на уровне кода

Ключ-АСТРОМ обнаруживает уязвимости на уровне кода в следующих технологиях.

Технологии Минимальная версия ЕдиногоАгента
Java 8 или выше 1.259
.NET 1.289
Go 1.311
  • Поддерживается только в системах Windows x86 и Linux x86.
  • Поддерживаются только .NET Framework 4.5, .NET Core 3.0 или более поздние версии, а также 64-битные процессы.
  • Для технологий .NET и Go, для которых автоматический глубокий мониторинг отключен, необходимо вручную включить глубокий мониторинг на каждом хосте. Дополнительную информацию см. в разделе «Глубокий мониторинг процессов».

Также поддерживается обнаружение уязвимостей на уровне кода для бэкендов, использующих ORM для работы с базами данных.

Начать

Функция обнаружения уязвимостей сторонних разработчиков помогает выявлять уязвимости в открытом исходном коде и сторонних разработчиках в производственной и предпроизводственной средах во время выполнения. Для мониторинга уязвимостей сторонних разработчиков включите функцию обнаружения уязвимостей сторонних разработчиков.

Обнаружение уязвимостей на уровне кода использует проверку кода во время выполнения для выявления уязвимостей в библиотеках и собственном коде. Для мониторинга уязвимостей на уровне кода включите обнаружение уязвимостей на уровне кода.

Включите обнаружение уязвимостей сторонними сервисами

  1. Перейдите в Настройки > Анализ и оповещения > Безопасность приложений > Аналитика уязвимостей и выберите Включить аналитику уязвимостей от сторонних сервисов.
  2. Настройте параметры обнаружения уязвимостей по умолчанию. Для определения параметров обнаружения уязвимостей сторонних разработчиков по умолчанию для всех процессов и узлов Kubernetes: Перейдите в Настройки > Анализ и оповещения > Безопасность приложений > Аналитика уязвимостей и выберите одно из правил по умолчанию > Режимы управления обнаружением уязвимостей: Мониторинг — Сообщается об уязвимостях сторонних разработчиков. Не осуществлять мониторинг — уязвимости сторонних разработчиков игнорируются. Вы также можете определять пользовательские правила мониторинга на основе определенных критериев. В этом случае режим мониторинга по умолчанию применяется ко всем процессам и узлам Kubernetes, которые не соответствуют ни одному правилу.
  3. Устраните ошибки в настройках TPV в приложении Настройки. Система Настройки может сообщить о неправильной конфигурации, если выполняется хотя бы одно из следующих условий: устаревшие правила мониторинга, основанные на зонах управления, по-прежнему включены; любой переключатель технологии обнаружения уязвимостей сторонних производителей установлен в положение false. Для решения этой проблемы: отключите устаревшие правила TPV, основанные на зонах управления, и используйте правила мониторинга, основанные на атрибутах ресурсов и метках Kubernetes. Убедитесь, что все переключатели технологии TPV включены (true) в вашей устаревшей конфигурации TPV. После того, как эти настройки будут приведены в соответствие, снова откройте новое приложение Настройки и убедитесь, что ошибка неправильной конфигурации больше не отображается.
  4. Включите мониторинг для Python (этот шаг необходим только для мониторинга уязвимостей в технологии Python): В разделе Настройки > Сбор и захват данных > Общие параметры мониторинга > Технологии мониторинга найдите Python и включите параметр Мониторинг Python. В разделе Настройки > Сбор и захват данных > Общие параметры мониторинга > Функции ЕдиногоАгента найдите и включите отчетность по программным компонентам Python, а затем перезапустите процессы.
  5. (Необязательно) Включите мониторинг ЕдиногоАгента для уязвимых функций Java: В разделе Настройки > Сбор и захват данных > Общие параметры мониторинга > Функции ЕдиногоАгента найдите и включите функцию отслеживания уязвимых функций Java. Выберите Сохранить изменения. Перезапустите процессы. Для получения дополнительной информации об использовании функций см. раздел «Уязвимые функции».

Включить обнаружение уязвимостей на уровне кода

  1. Включите анализ уязвимостей на уровне кода. Перейдите в Настройки > Анализ и оповещения > Безопасность приложений > Общие настройки > Анализ уязвимостей на уровне кода и выберите Включить анализ уязвимостей на уровне кода. Перезапустите процессы. Анализ уязвимостей на уровне кода разработан для обеспечения производительности, готовой к использованию в производственной среде. Накладные расходы зависят от вашего приложения, но в большинстве случаев должны быть незначительными.
  2. Настройте глобальную систему обнаружения уязвимостей на уровне кода. Для определения параметров обнаружения уязвимостей на уровне кода по умолчанию для всех групп процессов: Перейдите в Настройки > Анализ и оповещения > Безопасность приложений > Общие настройки > Аналитика уязвимостей на уровне кода и выберите глобальный контроль обнаружения уязвимостей на уровне кода для каждой технологии: Мониторинг – Сообщается об уязвимостях на уровне кода в выбранной технологии. Мониторинг не требуется — уязвимости на уровне кода в выбранной технологии игнорируются. Вы также можете определить пользовательские правила мониторинга на основе определенных групп процессов. В этом случае пользовательские правила переопределяют глобальное управление обнаружением для выбранной технологии, и RVA продолжает отслеживать уязвимости на уровне кода в соответствии с вашими правилами. Выберите Сохранить изменения. Перезапустите процессы.
  3. Включите мониторинг ЕдиногоАгента. Перейдите в Настройки > Сбор и захват данных > Общие параметры мониторинга > Функции ЕдиногоАгента. Отфильтруйте code-level vulnerability evaluation и включите эту функцию для технологий, которые вы хотите отслеживать. Выберите Сохранить изменения. Перезапустите процессы.
  4. (Только для версии ЕдиногоАгента 1.309+) Для обнаружения уязвимостей SSRF на уровне кода необходимо также включить оценку уязвимостей SSRF на уровне кода. Перейдите в Настройки > Сбор и захват данных > Общие параметры мониторинга > Функции ЕдиногоАгента. Найдите и включите Java SSRF code-level vulnerability and attack evaluation. Выберите Сохранить изменения. Перезапустите процессы.

Что дальше?

После включения обнаружения уязвимостей на уровне сторонних компонентов и кода вы сможете:

  • Повысить безопасность вашей среды, оперативно выявляя уязвимости и предпринимая необходимые меры по их устранению с помощью инструмента Уязвимости.
  • Настроить правила мониторинга уязвимостей сторонних разработчиков и правила мониторинга уязвимостей на уровне кода.
  • Проверить масштаб мониторинга и тенденции распространения уязвимостей с помощью дашборда Покрытие уязвимостей.

Подробную информацию о том, как Ключ-АСТРОМ оценивает уязвимости сторонних разработчиков и на уровне кода, см. в разделе «Оценка уязвимостей».

Потребление

Потребление ресурсов RVA зависит от вашей модели лицензирования Ключ-АСТРОМ:

  • Подписка на платформу Ключ-АСТРОМ (DPS): измеряется в ГиБ-часах. Подробности см. в разделе «Расчет потребления аналитики уязвимостей во время выполнения (RVA) (DPS)».
  • Классическое лицензирование Ключ-АСТРОМ: измеряется в единицах безопасности приложений (ASU). Подробности см. в разделе «Мониторинг безопасности приложений (ASU)».