Два разных инструмента с похожим звучанием
Когда в новостях пишут «в программе найдена уязвимость CVE-2024-12345 с оценкой 9,8», речь идёт сразу о двух системах. CVE, Common Vulnerabilities and Exposures, это каталог идентификаторов: каждой публично известной уязвимости присваивается уникальный номер вида CVE, год, порядковый номер. Сам номер ничего не говорит об опасности, он нужен, чтобы разные производители, исследователи и администраторы называли одну и ту же проблему одинаково.
CVSS, Common Vulnerability Scoring System, это отдельная система оценки. Она превращает набор характеристик уязвимости в число от 0 до 10 и текстовую категорию. Оценка CVSS почти всегда указана рядом с CVE в бюллетенях, поэтому их часто путают, но одно без другого существует: у уязвимости может быть идентификатор и ещё не быть посчитанного балла.
Из чего складывается балл
Базовая оценка CVSS строится из нескольких метрик. Одни описывают способ атаки: доступна ли уязвимость по сети или только с локального доступа, насколько сложно её использовать, нужны ли предварительные права и участие пользователя, например клик по ссылке. Другие описывают последствия: что пострадает, конфиденциальность данных, целостность или доступность сервиса, и насколько сильно.
Из этих значений по формуле получается число, а диапазоны названы словами: низкая, средняя, высокая и критическая серьёзность, где критическими считаются оценки от 9,0 и выше. Метрики записываются и компактной строкой-вектором, по которой видно, почему получилось именно такое число. В ходу несколько версий стандарта, главная из недавних — CVSS 4.0, но в бюллетенях всё ещё много оценок по версии 3.x, и сравнивать числа из разных версий напрямую нельзя.
Где эти номера встречаются на практике
Идентификаторы CVE вы увидите в описаниях обновлений операционных систем, в примечаниях к выпускам браузеров и роутерных прошивок, в отчётах сканеров уязвимостей. Присваивают их уполномоченные организации, которым поручено выдавать номера в своей области, чаще всего сам производитель ПО или координирующий центр. Национальные базы, например американская NVD, дополняют запись оценкой, списком затронутых версий и ссылками на исправления.
У администраторов эти номера служат рабочей валютой. Сканер находит на сервере устаревшую версию библиотеки, выдаёт список CVE, а команда сортирует его по баллу и срокам. У обычного пользователя сценарий проще: в описании обновления указано, что исправлено несколько CVE, и это довод установить его без откладывания.
Почему высокий балл не равен высокому риску
CVSS измеряет техническую серьёзность в вакууме, но не вероятность того, что именно вас атакуют. Уязвимость на 9,8 в компоненте, который у вас не запущен или закрыт межсетевым экраном, для вас почти безвредна. И наоборот, среднее значение 6,5 в сервисе, торчащем в интернет, с готовым публичным эксплойтом, может оказаться срочнее любой критической строки.
Поэтому к базовой оценке добавляют контекст: есть ли уже рабочий код атаки, фиксируются ли попытки эксплуатации в реальности, насколько важен затронутый актив. Для этого существуют временные и средовые метрики CVSS, а также отдельные списки уязвимостей, которые уже используются злоумышленниками. Разумный порядок работы: сначала то, что доступно снаружи и уже эксплуатируется, потом остальное по убыванию балла.
Что проверить у себя
Проще всего начать с устройств, которые смотрят в интернет: роутер, сетевое хранилище, камеры. Найдите точную модель и версию прошивки в панели управления, затем поищите в разделе безопасности сайта производителя список исправленных CVE для этой линейки. Если версия старше указанной в бюллетене, прошивку стоит обновить.
Для компьютера достаточно включённых автоматических обновлений системы и браузера: в их описаниях обычно перечислены закрытые номера. Если пользуетесь сканером уязвимостей, смотрите не только на итоговое число, но и на вектор: строка со значением «сеть» и без требования прав указывает на то, что чинить надо первым.
Как читать бюллетень безопасности
В записи об уязвимости обычно есть краткое описание, список затронутых версий, ссылки на исправление и вектор CVSS. Начинайте с версий: если ваша версия не входит в перечень, проблема вас не касается. Затем смотрите, в каком компоненте найдена ошибка и включён ли он у вас по умолчанию.
Отдельное внимание стоит уделить пометкам о том, что уязвимость уже используется в реальных атаках. Такие отметки ведут государственные центры кибербезопасности и некоторые производители, и это самый веский довод действовать быстро. Отсутствие пометки не означает безопасность: оно лишь говорит, что подтверждённых случаев пока нет.
Полезно помнить и о том, что описание в первые дни бывает неполным, а оценка иногда пересматривается. Если сегодня балл был средним, через неделю после публикации рабочего кода атаки его могут повысить.
Не путайте два случая: уязвимость в вашей версии и уязвимость в компоненте, который вы просто установили. Второе иногда касается вас, даже если сама программа не менялась, потому что библиотека внутри неё устарела. Ищите сведения по названию и версии компонента.