Анализ уязвимостей во время выполнения
Анализ уязвимостей во время выполнения
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 для работы с базами данных.
Начать
Функция обнаружения уязвимостей сторонних разработчиков помогает выявлять уязвимости в открытом исходном коде и сторонних разработчиках в производственной и предпроизводственной средах во время выполнения. Для мониторинга уязвимостей сторонних разработчиков включите функцию обнаружения уязвимостей сторонних разработчиков.
Обнаружение уязвимостей на уровне кода использует проверку кода во время выполнения для выявления уязвимостей в библиотеках и собственном коде. Для мониторинга уязвимостей на уровне кода включите обнаружение уязвимостей на уровне кода.
Включите обнаружение уязвимостей сторонними сервисами
- Перейдите в Настройки > Анализ и оповещения > Безопасность приложений > Аналитика уязвимостей и выберите Включить аналитику уязвимостей от сторонних сервисов.
- Настройте параметры обнаружения уязвимостей по умолчанию. Для определения параметров обнаружения уязвимостей сторонних разработчиков по умолчанию для всех процессов и узлов Kubernetes: Перейдите в Настройки > Анализ и оповещения > Безопасность приложений > Аналитика уязвимостей и выберите одно из правил по умолчанию > Режимы управления обнаружением уязвимостей: Мониторинг — Сообщается об уязвимостях сторонних разработчиков. Не осуществлять мониторинг — уязвимости сторонних разработчиков игнорируются. Вы также можете определять пользовательские правила мониторинга на основе определенных критериев. В этом случае режим мониторинга по умолчанию применяется ко всем процессам и узлам Kubernetes, которые не соответствуют ни одному правилу.
- Устраните ошибки в настройках TPV в приложении Настройки. Система Настройки может сообщить о неправильной конфигурации, если выполняется хотя бы одно из следующих условий: устаревшие правила мониторинга, основанные на зонах управления, по-прежнему включены; любой переключатель технологии обнаружения уязвимостей сторонних производителей установлен в положение false. Для решения этой проблемы: отключите устаревшие правила TPV, основанные на зонах управления, и используйте правила мониторинга, основанные на атрибутах ресурсов и метках Kubernetes. Убедитесь, что все переключатели технологии TPV включены (true) в вашей устаревшей конфигурации TPV. После того, как эти настройки будут приведены в соответствие, снова откройте новое приложение Настройки и убедитесь, что ошибка неправильной конфигурации больше не отображается.
- Включите мониторинг для Python (этот шаг необходим только для мониторинга уязвимостей в технологии Python): В разделе Настройки > Сбор и захват данных > Общие параметры мониторинга > Технологии мониторинга найдите Python и включите параметр Мониторинг Python. В разделе Настройки > Сбор и захват данных > Общие параметры мониторинга > Функции ЕдиногоАгента найдите и включите отчетность по программным компонентам Python, а затем перезапустите процессы.
- (Необязательно) Включите мониторинг ЕдиногоАгента для уязвимых функций Java: В разделе Настройки > Сбор и захват данных > Общие параметры мониторинга > Функции ЕдиногоАгента найдите и включите функцию отслеживания уязвимых функций Java. Выберите Сохранить изменения. Перезапустите процессы. Для получения дополнительной информации об использовании функций см. раздел «Уязвимые функции».
Включить обнаружение уязвимостей на уровне кода
- Включите анализ уязвимостей на уровне кода. Перейдите в Настройки > Анализ и оповещения > Безопасность приложений > Общие настройки > Анализ уязвимостей на уровне кода и выберите Включить анализ уязвимостей на уровне кода. Перезапустите процессы. Анализ уязвимостей на уровне кода разработан для обеспечения производительности, готовой к использованию в производственной среде. Накладные расходы зависят от вашего приложения, но в большинстве случаев должны быть незначительными.
- Настройте глобальную систему обнаружения уязвимостей на уровне кода. Для определения параметров обнаружения уязвимостей на уровне кода по умолчанию для всех групп процессов: Перейдите в Настройки > Анализ и оповещения > Безопасность приложений > Общие настройки > Аналитика уязвимостей на уровне кода и выберите глобальный контроль обнаружения уязвимостей на уровне кода для каждой технологии: Мониторинг – Сообщается об уязвимостях на уровне кода в выбранной технологии. Мониторинг не требуется — уязвимости на уровне кода в выбранной технологии игнорируются. Вы также можете определить пользовательские правила мониторинга на основе определенных групп процессов. В этом случае пользовательские правила переопределяют глобальное управление обнаружением для выбранной технологии, и RVA продолжает отслеживать уязвимости на уровне кода в соответствии с вашими правилами. Выберите Сохранить изменения. Перезапустите процессы.
- Включите мониторинг ЕдиногоАгента. Перейдите в Настройки > Сбор и захват данных > Общие параметры мониторинга > Функции ЕдиногоАгента. Отфильтруйте
code-level vulnerability evaluationи включите эту функцию для технологий, которые вы хотите отслеживать. Выберите Сохранить изменения. Перезапустите процессы. - (Только для версии ЕдиногоАгента 1.309+) Для обнаружения уязвимостей SSRF на уровне кода необходимо также включить оценку уязвимостей SSRF на уровне кода. Перейдите в Настройки > Сбор и захват данных > Общие параметры мониторинга > Функции ЕдиногоАгента. Найдите и включите
Java SSRF code-level vulnerability and attack evaluation. Выберите Сохранить изменения. Перезапустите процессы.
Что дальше?
После включения обнаружения уязвимостей на уровне сторонних компонентов и кода вы сможете:
- Повысить безопасность вашей среды, оперативно выявляя уязвимости и предпринимая необходимые меры по их устранению с помощью инструмента Уязвимости.
- Настроить правила мониторинга уязвимостей сторонних разработчиков и правила мониторинга уязвимостей на уровне кода.
- Проверить масштаб мониторинга и тенденции распространения уязвимостей с помощью дашборда Покрытие уязвимостей.
Подробную информацию о том, как Ключ-АСТРОМ оценивает уязвимости сторонних разработчиков и на уровне кода, см. в разделе «Оценка уязвимостей».
Потребление
Потребление ресурсов RVA зависит от вашей модели лицензирования Ключ-АСТРОМ:
- Подписка на платформу Ключ-АСТРОМ (DPS): измеряется в ГиБ-часах. Подробности см. в разделе «Расчет потребления аналитики уязвимостей во время выполнения (RVA) (DPS)».
- Классическое лицензирование Ключ-АСТРОМ: измеряется в единицах безопасности приложений (ASU). Подробности см. в разделе «Мониторинг безопасности приложений (ASU)».