О приоритизации устранения уязвимостей
В этом посте я хотел бы поделиться подходами нашей компании к внедрению и автоматизации одного из самых «проблемных» этапов процесса управления уязвимостями – приоритизации.
Приоритизация уязвимостей – это процедура, включающая определение их критичности и порядка устранения.
«В каком порядке устранять уязвимости?» – это один из самых часто задаваемых вопросов, с которым мы сталкиваемся на практике.
Отсутствие алгоритма приоритизации уязвимостей приводит к неправильному планированию мероприятий и ресурсов для устранения уязвимостей, что, в свою очередь, может привести к эксплуатации уязвимостей, т.е. к реализации инцидентов информационной безопасности.
Наш практический опыт, а также обратная связь, которую мы получаем от наших заказчиков, доказывает:
Оценки по шкале CVSS недостаточно для корректного определения критичности уязвимостей и порядка их устранения.
Связано это с тем, что у каждой организации уникальная ИТ-инфраструктура, собственные ключевые сервисы и критичные бизнес-процессы, которые необходимо защищать.
Поэтому в процессе приоритизации уязвимостей мы оперируем не только оценкой по шкале CVSS, но и следующими метриками:
- ценность актива, на котором обнаружена уязвимость;
- является ли актив, на котором обнаружена уязвимость, частью критичной информационной системы (к примеру, актив КВОИ);
- наличие эксплойта;
- отношение области покрытия к скорости устранения уязвимости и другие метрики.
Использование вышеописанных метрик позволяет существенно повысить эффективность приоритизации уязвимостей и адаптировать эту процедуру под конкретную организацию.
На практике мы описываем алгоритм приоритизации уязвимостей (взаимосвязи метрик) в виде математической формулы. Результат расчетов сводится к числовому значению. Чем выше итоговое значение, тем выше приоритет уязвимости и тем раньше ее необходимо устранить. При этом, выбор метрик, разработку итоговой формулы и описание критичности (порядок устранения) уязвимостей мы выполняем индивидуально для каждого заказчика.
Для примера я приведу следующую формулу:
(CVSS + KVOI * 2 + EXPLOIT * 2 + ASSET * 2) * VULNSTAT / 4
Здесь используются метрики, описание которых приведено в таблице 1.
Таблица 1. Описание метрик алгоритма приоритизации уязвимостей
Наименование метрики | Описание | Возможные значения |
CVSS | Данные по оценке CVSS | От 0 до 10 |
KVOI | Данные о том, является ли актив, на котором обнаружена уязвимость, частью сегмента КВОИ | Да (присваивается 5 баллов);
Нет (присваивается 1 балл) |
EXPLOIT | Данные о том, существует ли эксплойт для конкретной уязвимости | Широко распространен/Не требуется (присваивается 5 баллов);
Эффективный эксплойт (присваивается 4 балла); Временный эксплойт (присваивается 3 балла); Нет данных (присваивается 3 балла); Нет эксплойта (присваивается 0.1 балл) |
ASSET | Данные о ценности актива, на котором обнаружена уязвимость | Критическая (присваивается 5 баллов);
Высокая (присваивается 4 балла); Средняя (присваивается 3 балла); Низкая (присваивается 1 балл) |
VULNSTAT | Данные о статусе уязвимости | Открыта (присваивается 1 балл);
Закрыта (присваивается 0.1 балл); Принята (присваивается 0.1 балл)
|
Итоговое значение сводится к оценке от 0 до 10. При этом, описание критичности уязвимостей и порядок их устранения может быть следующим (пример):
Критические – уязвимости с оценкой от 8.1 до 10 (устраняются в первую очередь в течение n дней);
Высокие – уязвимости с оценкой от 6.1 до 8 (устраняются во вторую очередь в течение 2n дней);
Средние – уязвимости с оценкой от 4.1 до 6 (устраняются в третью очередь в течение 3n дней);
Низкие – уязвимости с оценкой до 4 (устраняются в течение 4n дней).
Т.е. если была обнаружена уязвимость (статус открыта) с оценкой по CVSS 8 на активе, который не входит в сегмент КВОИ и ценность которого средняя, с эффективным эксплойтом, то расчет будет следующим:
(8 + 1 * 2 + 4 * 2 + 3 * 2) * 1 / 4 = 6, что эквивалентно уязвимости с критичностью средняя.
В то же время если была обнаружена уязвимость (статус открыта) с оценкой по CVSS 6 на активе, который входит в сегмент КВОИ и ценность которого критическая, с эффективным эксплойтом, то расчет будет следующим:
(6 + 5 * 2 + 4 * 2 + 5 * 2) * 1 / 4 = 8.5, что эквивалентно уязвимости с критичностью критическая.
Эти расчеты могут показаться «неприемлемыми», особенно когда количество уязвимостей в ИТ-инфраструктуре исчисляется тысячами и сотнями тысяч. Именно поэтому мы стремимся не только описать эффективный и качественный алгоритм приоритизации уязвимостей, но и автоматизировать его.
На практике для автоматизации процесса управления уязвимостями (в т.ч. и определение критичности уязвимостей) мы используем систему R-Vison SOAR/SGRC. Инструменты, которые предоставляет R-Vison SOAR/SGRC, позволяют автоматизировать весь жизненный цикл процесса управления уязвимостями и адаптировать его под нужды конкретного заказчика.
Более подробно о процессе управления уязвимостями и его автоматизации, а также о взаимосвязях процесса управления уязвимостями с другими процессами информационной безопасности (например, с процессом управления данными киберразведки) я напишу в следующих постах.