Содержание статьи
Что такое CVE?
CVE (Common Vulnerabilities and Exposures, «известные уязвимости и риски») — это стандартизированный и общедоступный словарь уязвимостей в ПО и железе. Заведует им Национальный институт стандартов и технологий (NIST) в Соединенных Штатах. Основная цель CVE — предоставить общий язык, на котором можно было бы обсуждать уязвимости и работать с ними в программах. CVE используется во всем мире и делает взаимодействие между ИБ‑специалистами, поставщиками и исследователями более эффективным.
Что такое CVSS?
CVSS (Common Vulnerability Scoring System, «система оценки уязвимостей») — еще один важный инструмент. Он разработан форумом групп реагирования на инциденты и безопасности (FIRST) в сотрудничестве с NIST. CVSS — это стандартизированный метод оценки, в рамках которого уязвимости можно назначить числовой балл, означающий степень угрозы.
Основные факторы CVSS
Базовый балл основан на фундаментальных атрибутах уязвимости, которые не меняются со временем. Вот главные метрики, которые при этом берутся в расчет:
- вектор атаки (Attack Vector, AV);
- сложность атаки (Attack Complexity, AC);
- требуемые привилегии (Privileges Required, PR);
- взаимодействие с пользователем (User Interaction, UI);
- область (Scope, S);
- метрики воздействия:
- влияние на конфиденциальность (Confidentiality Impact, C),
- влияние на целостность (Integrity Impact, I),
- влияние на доступность (Availability Impact, A).
Чтобы уязвимость считалась таковой, она должна нарушать по крайней мере один аспект триады CIA.
Анализируя CVE, я сталкиваюсь с тремя основными проблемами:
- CVE без эксплоитов;
- CVE с неработающими эксплоитами;
- завышенная оценка.
Моя тема — это веб‑уязвимости, поэтому и примеры буду приводить из этой области. Но схожие проблемы наверняка затрагивают и другие сферы.
CVE-2023-39526: «уязвимость» в PrestaShop
Хороший пример первой и третьей проблемы — это CVE-2023-39526, уязвимость в веб‑приложении PrestaShop. Мы видим две оценки: NIST дал оценку 9.8, в то время как GitHub — 9.1.
Почему оценки разные? Есть два различия: в NIST указали требуемые привилегии как отсутствующие (None), в то время как сотрудники GitHub указали высокие (High); в NIST отметили область как неизмененную (Unchanged), в то время как на GitHub выбрана измененная (Changed).
Графа «Требуемые привилегии» показывает, какие привилегии необходимы атакующему для эксплуатации уязвимости. Область определяет, может ли атакующий после эксплуатации уязвимости выполнить эскалацию привилегий в любой форме. Под эскалацией привилегий я подразумеваю не только переход от пользователя к администратору, но и получение более широкого доступа в системе, например от веб‑приложения к серверу.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»