Концепции уязвимостей

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

Концепции уязвимостей

Разберитесь в основных понятиях и ключевых терминах, касающихся уязвимостей.

Как Ключ-АСТРОМ использует CVSS

Уязвимости сторонних разработчиков

Ключ-АСТРОМ использует Common Vulnerability Scoring System (CVSS) для оценки и контекстуализации уязвимостей. CVSS предоставляет стандартизированную структуру для описания серьезности, возможности эксплуатации и влияния уязвимостей с использованием структурированных векторных строк и числовых оценок. Эта система оценки лежит в основе Оценки безопасности Ключ-АСТРОМ (DSS), которая добавляет контекст окружающей среды, помогая расставить приоритеты в устранении уязвимостей.

Источник данных CVSS

Векторные данные CVSS получены из ленты уязвимостей Ключ-АСТРОМ, которая включает в себя векторы CVSS v3 и CVSS v4, если таковые имеются.

Логика подсчета очков

Ключ-АСТРОМ поддерживает как CVSS v3, так и CVSS v4 для оценки уязвимостей. Векторные данные CVSS поступают как из ленты уязвимостей Ключ-АСТРОМ, так и из Национальной базы данных уязвимостей (NVD). Если векторы CVSS v4 доступны в ленте уязвимостей Ключ-АСТРОМ, они используются для расчета Оценки безопасности Ключ-АСТРОМ (DSS). Если CVSS v4 недоступен, в качестве запасного варианта используются векторы CVSS v3.

В настоящее время CVSS v4 поддерживается только для уязвимостей, полученных из ленты уязвимостей Ключ-АСТРОМ, а не из NVD.

Оценка производится с использованием официального калькулятора CVSS v4, предоставленного FIRST.org.

Векторы CVSS

В разделе «Уязвимости» для каждой уязвимости отображаются два типа векторов CVSS:

  • Базовый вектор CVSS: описывает присущие уязвимости характеристики, такие как вектор атаки, необходимые привилегии, взаимодействие с пользователем и влияние на конфиденциальность, целостность и доступность. Эти характеристики являются статическими и не меняются в разных средах.
  • Модифицированный вектор CVSS: корректирует базовые метрики в соответствии с особенностями вашей конкретной среды. Это включает такие факторы, как подверженность риску со стороны активов и доступность. Модифицированные векторы обеспечивают более точное отражение риска в вашем контексте.

В стандарте CVSS v3 измененные показатели воздействия обозначены как MC (Конфиденциальность), MI (Целостность) и MA (Доступность).

Для CVSS v4 эти показатели обновлены до MVC, MVI, и MVA, где «V» означает метрики воздействия на уязвимую систему, отражающие влияние на саму уязвимую систему.

Оба вектора отображаются на странице «Приоритизация»:

  • В таблице уязвимостей (перейдите в настройки столбцов и выберите CVSS Base Vector и CVSS Modified Vector).
  • В подробностях об уязвимости (в боковой панели, которая открывается после выбора уязвимости, перейдите в раздел «Обзор» и найдите пункт «Расчет Оценки безопасности Ключ-АСТРОМ»).

Эта наглядность помогает понять, как был получен показатель CVSS, и сравнить исходный и контекстуализированный риск.

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

Оценка безопасности Ключ-АСТРОМ

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

DSS

Улучшенная оценка риска, основанная на отраслевом стандарте Common Vulnerability Scoring System (CVSS). Оценка безопасности Ключ-АСТРОМ разработана для обеспечения более точной оценки риска с учетом дополнительных параметров, таких как доступность из общедоступного интернета и доступность данных для затронутой организации.

  • Снижение риска: Практически все продукты безопасности используют базовый балл CVSS для определения серьезности уязвимостей. CVSS был разработан с учетом снижения риска, что означает, что для любой данной уязвимости присвоенный балл предполагает наихудший сценарий. Спецификация CVSS допускает некоторые изменения в зависимости от внешних факторов, но это обычно не учитывается при расчете балла риска, что приводит к множеству высоких или критических оценок уязвимостей, с которыми пользователю приходится справляться самостоятельно.
  • Точность: Оценка безопасности Ключ-АСТРОМ не предполагает наихудшего сценария. Вместо этого он адаптирует характеристики уязвимости к вашей конкретной среде, учитывая ее структуру и топологию, и дает рекомендации относительно того, какие элементы находятся под угрозой и как решать проблемы безопасности. С помощью Оценки безопасности Ключ-АСТРОМ вы можете узнать, доступен ли затронутый объект из интернета и есть ли какое-либо хранилище данных, доступное для затронутого объекта.
  • Эффективность: Благодаря включению дополнительных параметров в анализ, Оценка безопасности Ключ-АСТРОМ используes данные для более точного расчета оценки безопасности и прогнозирования потенциального риска уязвимостей для вашей среды. Снижая оценку уязвимостей, которые считаются менее релевантными для вашей среды, вы экономите время, чтобы сосредоточиться на наиболее важных проблемах и быстрее их устранить.

Расчет показателя уязвимости

Уязвимости сторонних разработчиков

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

  1. Соберите векторные данные CVSS. Векторы уязвимостей извлекаются как из базы данных уязвимостей Ключ-АСТРОМ, так и из Национальной базы данных уязвимостей (NVD). В настоящее время CVSS v4 поддерживается только для уязвимостей из ленты уязвимостей Ключ-АСТРОМ. CVSS v2 устарел. Для уязвимостей, использующих эти данные, Оценка безопасности Ключ-АСТРОМ невозможна.
  2. Определите применимую версию CVSS. Если доступны векторы CVSS v4, они используются для расчета DSS. В противном случае Ключ-АСТРОМ переключается на CVSS v3.
  3. Учитывайте экологический контекст. DSS корректирует базовый балл CVSS, используя модификаторы, отражающие вашу среду. Для CVSS v3: MC – Измененная конфиденциальность, MI – Модифицированная целостность. Для CVSS v4: MVC – Модифицированная конфиденциальность в отношении уязвимых лиц, MVI – Модифицированная уязвимая целостность. Эти показатели относятся к группе метрик воздействия на уязвимые системы в CVSS v4.
  4. Рассчитайте DSS для каждого затронутого объекта. Показатель DSS рассчитывается индивидуально для каждого затронутого объекта. Если затронуто несколько объектов, используется наивысший показатель DSS. Показатель DSS никогда не превышает исходный базовый балл CVSS; факторы окружающей среды могут лишь снизить или сохранить этот балл.

Уровни риска Ключ-АСТРОМ

Шкала DSS варьируется от 0,1 (наименьший риск) до 10,0 (наиболее критический риск):

Уровень риска Диапазон оценок уязвимости
Низкий 0,1 – 3,9
Средний 4,0 – 6,9
Высокий 7,0 – 8,9
Критический 9,0 – 10,0

Различия в расчетах

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

  • Уязвимости сторонних разработчиков: Оценка DSS производится на основе суммирования баллов затронутых субъектов в выбранной менеджмент зоне.
  • Уязвимости на уровне кода: Оценка DSS проводится на основе DSS затронутых организаций в выбранном сегменте.

Таким образом, показатель DSS (оценка и уровень риска) для уязвимостей на уровне кода может быть ниже, чем для уязвимостей сторонних разработчиков.

Пример

Серьезная уязвимость Critical затрагивает два процесса: Process_1 и Process_2.

  1. Оценка оценки рисков
    • Process_1 доступен из общедоступного интернета, но отсутствуют доступные данные => DSS снижает уровень серьезности до High.
    • Process_2 не имеет доступа к общедоступному интернету, но располагает доступными данными => DSS снижает уровень серьезности до High.
  2. Итоговый счет
    • В случае уязвимостей сторонних разработчиков DSS объединяет факторы риска затронутых организаций (уязвимость находится в открытом доступе в интернете и имеет доступные информационные ресурсы), поэтому степень серьезности остается Critical.
    • В разделе «Уязвимости» оценка определяется по тому, у какого из затронутых объектов наивысший балл DSS. Таким образом, если оба затронутых объекта имеют уровень серьезности High, уровень серьезности снижается с начального Critical до High.

Вы можете расставлять приоритеты для уязвимостей на основе DSS.

Покрытие

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

Покрытие:

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

Практические рекомендации по визуализации охвата см. в разделе «Оценка охвата».

Советник по безопасности

Советник по безопасности рекомендует решения, которые наиболее эффективно повысят общую безопасность вашей среды.

Основа для расчета

Для расчета рекомендуемых исправлений Security Advisor учитывает все открытые и не замаскированные уязвимости сторонних разработчиков; исправленные или замаскированные уязвимости не принимаются во внимание. Исправления подбираются индивидуально для вашей среды и ранжируются в зависимости от того, насколько они улучшают общую безопасность вашей среды.

Группировка

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

Рейтинг советов

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

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

Оценка Ключ-АСТРОМ

Разберитесь в факторах риска и методах оценки, учитываемых при анализе уязвимости.

Доступность в открытом доступе в интернете

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

Состояние Описание
Общедоступная сеть Доступ к информации есть в открытом доступе в интернете.
Не обнаружено В открытом доступе в интернете обнаружено не было.
Нет в наличии Данные недоступны, поскольку соответствующие хосты не работают в режиме полнофункционального мониторинга. Подробности см. в разделе «Режимы мониторинга».

Вы можете отфильтровать уязвимости по Оценка Ключ-АСТРОМ > Public internet exposure.

Доступные информационные ресурсы

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

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

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

Вы можете отфильтровать уязвимости по Оценка Ключ-АСТРОМ > Reachable data assets.

Уязвимые функции (только для сторонних разработчиков)

Одним из факторов риска, которые следует учитывать при оценке уязвимости (однако они не учитываются при расчете DSS), является использование уязвимых функций. Если используются какие-либо уязвимые функции, значит, как минимум один процесс использует такую функцию (это может указывать на более высокий риск эксплуатации).

  • Класс: Класс, содержащий уязвимую функцию, связанную с данной уязвимостью. Пример: org.apache.http.client.utils.URIUtils
  • Использование функций: Показывает, используется ли уязвимая функция вашим приложением.
Состояние Описание
В использовании В процессе эксплуатации используются уязвимые функции.
Не используется Не было обнаружено ни одной уязвимой функции, находящейся в процессе использования.
Нет в наличии Данные недоступны.

Вы можете фильтровать уязвимости по Оценка Ключ-АСТРОМ > Vulnerable functions in use и приоритизировать уязвимости на основе уязвимых функций.

Публичная эксплойтная версия (только для сторонних разработчиков)

Одним из факторов риска, который следует учитывать при оценке уязвимости, является наличие в интернете опубликованного эксплойта.

Состояние Описание
Опубликован эксплойт Общеизвестный эксплойт для этой уязвимости доступен.
Опубликованных эксплойтов нет В настоящее время не существует общедоступных эксплойтов для этой уязвимости.

Вы можете отфильтровать уязвимости по Оценка Ключ-АСТРОМ > Public exploit published.

Режим оценки

Определяет, возможен ли детальный анализ в зависимости от выбранного режима мониторинга.

Состояние Описание
Полный Все экземпляры групп процессов отслеживаются в режиме полнофункционального мониторинга.
Уменьшенный Детальная оценка невозможна, поскольку как минимум один экземпляр группы процессов не отслеживается в режиме мониторинга полного стека.
Нет в наличии Уязвимость устранена.

Вы можете отфильтровать уязвимости по Оценка Ключ-АСТРОМ > Assessment mode. При снижении точности из-за недостатка информации показатель DSS не может быть снижен.

Затронутые и связанные с ними организации

Затронутые субъекты

Объекты (группы процессов, сами процессы и узлы Kubernetes), для которых была обнаружена уязвимость, и которые, следовательно, непосредственно затронуты этой уязвимостью.

Затронутый процесс: Процесс, содержащий уязвимую библиотеку или среду выполнения.

Вы можете установить приоритет уязвимостей в зависимости от затронутых объектов.

Связанные сущности

Субъекты, связанные с одним из затронутых субъектов и, следовательно, косвенно затронутые уязвимостью.

  • Соответствующее приложение: Приложение, связанное с затронутыми процессами.
  • Сопутствующие услуги: Сервис, работающий непосредственно на уязвимом экземпляре группы процессов.
  • Связанный хост: Хост, на котором выполняется уязвимый процесс.
  • Соответствующие рабочие нагрузки/кластеры Kubernetes: В средах Kubernetes уязвимым процессом считается рабочая нагрузка или кластер, к которому он относится.
  • Изображение соответствующего контейнера: В средах Kubernetes образ контейнера, используемый затронутыми процессами.

Вы можете расставлять приоритеты для уязвимостей по связанным объектам.

Источник уязвимости

Уязвимый компонент (только для сторонних разработчиков)

Программный компонент (библиотека) или компонент среды выполнения (например, пакет Kubernetes), содержащий уязвимую функцию, вызывающую уязвимость:

  • Для уязвимостей, основанных на данных из ленты уязвимостей Ключ-АСТРОМ, укажите название пакета (например: org.apache.tomcat:tomcat-coyote).
  • Для уязвимостей, основанных на NVD, используется технология среды выполнения (примеры: Java runtime, Node.js runtime).

Вы можете детально изучить уязвимые компоненты.

Точка входа (только для уязвимостей на уровне кода)

Точка в коде, через которую злоумышленник может проникнуть в приложение, например, передав в приложение поля ввода пользователя (такие как форма входа или строка поиска).

  • URL-путь: Путь, используемый в HTTP-запросе для достижения и потенциального использования уязвимости. Пример: /user/1218/bio
  • Ненадежные данные: Входные данные, передаваемые уязвимой функции.
  • Полезная нагрузка: Пользовательские параметры ввода, которые могут быть использованы для эксплуатации уязвимости. Это может быть часть SQL-запроса (для SQL-внедрений), команда (для внедрения команд), имя поиска JNDI (для некорректной проверки входных данных) или URL-адрес запроса (для SSRF). Пользовательские параметры ввода выделены. Если полезная нагрузка имеет связанный ключ (например, имя параметра HTTP или имя заголовка HTTP), он отображается после двоеточия. Пример: HTTP parameter value: bioText

Вы можете детально изучить точки входа.

Местоположение кода (только для уязвимостей на уровне кода)

Показывает, где именно в коде находится уязвимость (место вызова уязвимой функции). Пример: SQL injection at DatabaseManager.updateBio():82

Вы можете детально изучить расположение кода.

Лента уязвимостей Ключ-АСТРОМ

Канал Лента уязвимостей Ключ-АСТРОМ является основным источником информации об уязвимостях, используемым во всей системе безопасности приложений Ключ-АСТРОМ. Он предоставляет точную, прозрачную и учитывающую угрозы информацию об уязвимостях, которая глубоко интегрирована с платформой Ключ-АСТРОМ. Канал объединяет авторитетные внешние источники с нашими собственными исследованиями в области безопасности, чтобы предоставлять тщательно отобранные, высококачественные аналитические данные и всестороннее освещение критических рисков.

В ленте собраны данные из следующих источников:

  • OSV.dev
  • Уведомления GitHub
  • NVD
  • Snyk
  • Уведомления поставщиков

Ключ-АСТРОМ дополняет эту информацию внутренними исследованиями, чтобы обеспечить всестороннее и точное покрытие. Если уязвимость отсутствует в OSV.dev или не имеет оценки CVSS, Ключ-АСТРОМ дополняет ее данными из таких источников, как NVD.

К основным преимуществам относятся:

  • Высококачественные, тщательно отобранные данные об уязвимостях
  • Четкие и непротиворечивые описания и рекомендации по устранению проблем.
  • Подробный анализ критических и особо опасных уязвимостей
  • Глубинная интеграция с хранилищем данных об уязвимостях Ключ-АСТРОМ.

Условия использования ленты

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

  • Создавать локальную копию любой части ленты новостей.
  • Экспортировать или извлекать любую часть потока данных, а также любые данные или аналитические выводы, полученные из этого потока, за пределы вашей учетной записи Ключ-АСТРОМ.
  • Использовать этот канал данных, а также любые данные или аналитические выводы, полученные из него, для разработки или предоставления любых рабочих процессов, продуктов или услуг, которые конкурируют с этим каналом данных или любым другим предложением Ключ-АСТРОМ, или же выступают в качестве его замены.
  • Не полагайтесь на фиксированные схемы, поля или какие-либо гарантии доступности. Ключ-АСТРОМ может изменить или прекратить предоставление потока данных.

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

Статус уязвимости

Узнайте о статусе устранения уязвимости или отключения звука для затронутого объекта.

Состояния уязвимостей

Состояние Описание
Открыть Уязвимость активна.
Решено Уязвимость была автоматически устранена, поскольку первопричина больше не актуальна.
Отключено (Открыто) Уязвимость активна, но все затронутые ею объекты были отключены по запросу.

На странице «Приоритизация» вы можете использовать фильтры для просмотра статусов Open и Resolved уязвимостей, а также фильтр Отключить уведомления: статус, чтобы увидеть Muted (Open) уязвимости. Устраненные уязвимости отображаются только один раз (в момент устранения). Расширьте временной интервал, чтобы отобразить больше результатов.

Состояния для затронутых субъектов

Состояние Описание
Затронутый Данный объект подвержен уязвимости.
Решено Данная задача была автоматически закрыта, поскольку первопричина больше не актуальна.
Заглушенный (Затронутый) Данный объект затронут уязвимостью, но его доступ к нему был заблокирован по запросу.
Заглушено (Решено) Уязвимость, о которой сообщалось ранее, была автоматически устранена, поскольку первопричина её возникновения больше не актуальна.

Статус объекта, отключенного автоматически, меняется не на Resolved, а на Muted (Resolved). На странице обзора затронутых групп процессов или узлов Kubernetes вы можете фильтровать по статусу, отключать звук и форматировать таблицу.

Мероприятия сторонних библиотек

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

Эти данные представлены в виде двух типов событий безопасности:

  • VULNERABILITY_FINDING: Представляет собой отдельную уязвимость, выявленную в конкретном процессе в данный момент времени.
  • VULNERABILITY_SCAN: Представляет собой анализ обнаруженных пакетов в рамках конкретного процесса в заданный момент времени.

Оба типа данных хранятся в таблице security.events и могут быть запрошены с помощью DQL.

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

В таблице ниже показаны основные различия между детализированным поиском событий и агрегированным представлением:

Детальный обзор (DQL) Сводная информация (Уязвимости)
Непрерывно генерируется Ключ-АСТРОМ в процессе анализа библиотеки. Агрегировано из событий состояния сущности.
Неагрегированные данные о событиях: VULNERABILITY_FINDING и VULNERABILITY_SCAN Представление информации на основе анализа уязвимостей с подробными сводками.
Не зависит от действий пользователя Включает в себя состояния (открыто/разрешено) и управляемые пользователем параметры, такие как состояние отключения звука и ссылки для отслеживания.
Запрос выполнен с использованием DQL. Доступ осуществляется через интерфейс приложения или через DQL путем запроса событий состояния сущностей.
Предоставляет более глубокий контекст для проведения индивидуального анализа. Предназначен для общего обзора и управления уязвимостями.

Оба подхода отражают одни и те же базовые данные и дополняют друг друга: используйте DQL для углубленного анализа, а Уязвимости — для краткого обзора и всестороннего анализа рисков.

Пример DQL-запроса для получения информации об обнаруженных уязвимостях и результатах сканирования:

fetch security.events
| filter event.provider == "astromkey"
| filter event.type == "VULNERABILITY_FINDING" OR event.type == "VULNERABILITY_SCAN"

Результаты исследования уязвимости (Ingest)

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

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

Карта нормализации тяжести

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

Нормализация степени тяжести осуществляется в соответствии со следующим соответствием:

Сообщенная степень тяжести Нормализованный балл
Критический 10.0
Высокий 8.9
Средний 6.9
Низкий 3.9
Другое/неизвестно 0.0