Как оцениваются уязвимости
См. ниже механизм, который Модуль ИБ использует для создания сторонних уязвимостей и уязвимостей на уровне кода.
Сторонние уязвимости
Чтобы обнаружить сторонние уязвимости в вашей среде, Модуль ИБ оценивает программные компоненты (библиотеки) и компоненты среды выполнения (например, пакеты Kubernetes).
- ЕдиныйАгент сообщает о библиотеках, когда процесс загружает их. Таким образом, будут сообщаться только об уязвимостях в используемых библиотеках, что снижает шум уязвимостей. Все процессы постоянно проверяются на наличие новых загрузок библиотек.
- Пакеты Kubernetes — это компоненты среды выполнения, используемые кластером Kubernetes. О них сообщает ЕдиныйАгент, когда компонент используется на узле. Примеры пакетов Kubernetes, которые Ключ-АСТРОМ отслеживает и сканирует на наличие уязвимостей:
- На узле плоскости управления:
kube-apiserver
etcd
kube-scheduler
kube-controller-manager
cloud-controller-manager
- На рабочем узле:
kubelet
kubeproxy
- На узле плоскости управления:
Безопасность приложений проверяет имя и версию уязвимого программного обеспечения и компонента среды выполнения.
Не проверяет:
- Конфигурации
- Информация о времени выполнения
- Операционные системы
Как только уязвимое программное обеспечение или компонент среды выполнения используется вашим приложением, выдается уязвимость.
Изменения топологии
Как только Ключ-АСТРОМ обнаруживает новую стороннюю уязвимость, она регулярно проверяет изменения топологии (например, когда задействован новый доступный источник данных).
Каналы сторонних уязвимостей
В зависимости от уязвимого компонента Ключ-АСТРОМ использует следующие каналы:
- SNYK для
- Программные компоненты (библиотеки)
- Компоненты времени выполнения в Kubernetes
- NVD для компонентов среды выполнения в
- среда выполнения .NET
- Среда выполнения Java
- Среда выполнения Node.js
Уязвимости проверяются на наличие обновлений каждые пять минут. Если доступен новый канал, информация передается в кластер Ключ-АСТРОМ через модуль ИБ. Обновленные каналы уязвимостей импортируются в кластер Ключ-АСТРОМ каждый день.
На основе существующих каналов уязвимостей Ключ-АСТРОМ каждую минуту ищет новые уязвимости в вашей среде.
Информацию о проблемах с импортом уязвимостей см. в разделе События в консоли управления кластером .
Оценка риска
Чтобы определить внешнее воздействие и затронутые активы данных, Ключ-АСТРОМ учитывает следующее:
- Источники: для расчета воздействия Ключ-АСТРОМ анализирует, исходят ли входящие службы веб-запросов и вызовы веб-служб за последний день с общедоступного IP-адреса.
- Объекты: Уязвимый программный компонент связан с процессом компонента отчетности, и запущенные службы в этой группе процессов используются для расчета подверженности и того, затронуты ли доступные ресурсы данных.
- Зависимости: чтобы узнать, доступны ли ресурсы данных, Ключ-АСТРОМ исследует связанные службы и службы, которые напрямую вызываются этими связанными службами. Если одна из этих служб является базой данных, затрагивается доступный ресурс данных.
Разрешение
Сторонняя уязвимость закрывается автоматически, когда основная причина (например, загрузка уязвимой библиотеки) больше не существует. Если ни одна группа процессов не сообщает об уязвимых компонентах, таких как библиотеки, в течение более двух часов, уязвимость помечается как решено
. Есть несколько причин, почему это может произойти:
- Уязвимость была исправлена в коде
- Уязвимый компонент был обновлен или удален
- Уязвимый компонент больше не используется приложением
- После перезапуска приложение не получило трафика, поэтому уязвимый компонент не загружен (неактивен)
- Затронутый процесс был остановлен
Примечание. Пока затронутый процесс не работает, уязвимость не считается актуальной или влияющей на среду. Когда процесс снова запускается, Ключ-АСТРОМ немедленно проверяет его и, если процесс затронут, уязвимость повторно открывается.
Уязвимости на уровне кода
Уязвимости на уровне кода выявляются на основе потоков данных, проходящих через приложение. Чтобы собрать эти сведения, ЕдиныйАгент оценивает все входные данные, которые обрабатывает приложение, и определяет, где вводимые пользователем данные можно использовать для использования уязвимости в коде.
Оценка риска
Риск уязвимости Критично
. Кроме того, для каждой уязвимости на уровне кода постоянно анализируются все объекты, связанные с затронутой группой процессов. В результате уязвимость на уровне кода получает дополнительную информацию о:
- Доступ в интернет (указывает, есть ли какие-либо затронутые экземпляры группы процессов, доступные из общедоступного Интернета)
- Доступ к данным (указывает, есть ли какая-либо база данных, подключенная к затронутому экземпляру группы процессов)
Разрешение
Уязвимость на уровне кода закрывается автоматически, если уязвимый процесс был перезапущен и ЕдиныйАгент не может больше обнаружить потоки данных, которые могут привести к уязвимости. Есть несколько причин, почему это может произойти:
- Основная причина (уязвимый код) была удалена
- Процесс не получил никакого трафика
- снижение критичности проблемы
- Затронутый процесс был остановлен