Нечеткая логика в ИБ: как сократить очередь уязвимостей в 7,5 раза и сопоставить подход с CVSS, EPSS и ФСТЭК
Зачем нужна нечеткая логика при оценке уязвимостей
В управлении уязвимостями часто приходится принимать решения на неполных и неоднозначных данных. Формально уязвимость может иметь высокий балл CVSS, но не представлять непосредственной опасности для конкретной организации. Другая проблема может получить умеренную оценку, однако активно эксплуатироваться злоумышленниками и затрагивать критически важную систему.
Именно здесь плохо работает жесткая логика вида "если значение выше порога - исправлять немедленно, иначе отложить". В реальной инфраструктуре границы редко бывают настолько четкими. Нельзя уверенно сказать, что уязвимость с CVSS 8,9 критична, а с оценкой 8,8 - уже нет. Разница в одну десятую балла не должна автоматически менять приоритет.
Нечеткая логика позволяет учитывать промежуточные состояния. Вместо бинарного решения "опасно - безопасно" появляется степень соответствия: насколько уязвимость похожа на критическую, насколько вероятна ее эксплуатация и насколько серьезными будут последствия.
Парадокс "кучи" и связь с информационной безопасностью
Классический парадокс "кучи" хорошо показывает проблему жестких границ. Если из большой кучи песка убрать одну песчинку, она все еще останется кучей. Если повторять это действие, в какой-то момент песка станет слишком мало. Но определить точную песчинку, после которой куча перестает быть кучей, невозможно.
С уязвимостями происходит то же самое. Условный порог CVSS 7,0 может использоваться в регламенте, но сама по себе эта цифра не превращает проблему в срочную или, наоборот, несущественную. На приоритет влияют доступность актива, наличие компенсирующих мер, сетевой контекст, критичность сервиса, факт эксплуатации и скорость появления эксплойта.
CVSS, EPSS и KEV: что измеряют эти показатели
CVSS оценивает техническую тяжесть уязвимости. В упрощенном виде он отвечает на два вопроса: насколько легко воспользоваться проблемой и насколько серьезными окажутся последствия. Итоговое значение находится в диапазоне от 0 до 10.
EPSS оценивает вероятность того, что уязвимость будет эксплуатироваться в ближайшем будущем. Это уже не показатель ущерба, а прогноз поведения атакующих.
KEV отражает факт включения уязвимости в каталог известных эксплуатируемых проблем. Наличие записи в таком перечне обычно означает, что риск нельзя рассматривать исключительно теоретически.
При этом ни один показатель не дает полного ответа. CVSS не знает, используется ли уязвимый компонент в конкретной организации. EPSS может недооценивать редкие, но опасные сценарии. KEV фиксирует уже известные случаи эксплуатации, однако отсутствие уязвимости в каталоге не доказывает ее безопасность.
Что такое нечеткое множество
В классической логике утверждение либо истинно, либо ложно. Значение может быть равно 1 или 0. Лотфи Заде предложил расширить такой подход: объект может принадлежать множеству не полностью, а с определенной степенью.
Эта величина обозначается как μ и принимает значения от 0 до 1. Например, уязвимость может принадлежать множеству "высокоопасных" со степенью 0,82, а множеству "активно эксплуатируемых" - со степенью 0,35.
Важно не путать степень принадлежности с вероятностью. Вероятность отвечает на вопрос, произойдет ли событие. Степень принадлежности показывает, насколько объект соответствует определенному описанию.
Например, вероятность эксплуатации может составлять 0,8 - это прогноз события. А степень принадлежности к классу "высокая эксплуатационная опасность" равная 0,8 означает, что характеристики уязвимости хорошо соответствуют этому классу.
Лингвистические переменные вместо жестких порогов
Для построения модели показатели переводятся в лингвистические категории:
- CVSS: низкий, средний, высокий, критический;
- EPSS: малый, заметный, высокий;
- критичность актива: обычная, важная, критичная;
- доступность: локальная, ограниченная, внешняя;
- срочность исправления: плановая, ускоренная, немедленная.
Каждая категория описывается функцией принадлежности. Например, CVSS 6,8 может одновременно относиться к множеству "средний" со степенью 0,4 и к множеству "высокий" со степенью 0,6. Это соответствует реальному смыслу числа лучше, чем единственный жесткий ярлык.
Нечеткие правила и алгоритм Мамдани
Основой модели становится база правил. Они формулируются на естественном языке:
- если CVSS высокий и EPSS высокий, то приоритет критический;
- если CVSS средний, но актив критичный, то приоритет высокий;
- если EPSS низкий и уязвимость недоступна извне, то срочность уменьшается;
- если проблема присутствует в KEV, то приоритет повышается независимо от исходного CVSS;
- если исправление невозможно, необходимо учитывать компенсирующие меры и степень изолированности актива.
Для объединения условий используется алгоритм Мамдани. Сначала входные числовые значения преобразуются в степени принадлежности. Затем активируются подходящие правила, после чего их результаты объединяются. На последнем этапе выполняется дефаззификация - преобразование нечеткого результата в конкретное число, например итоговый приоритет от 0 до 100.
Такой балл не является "истиной в последней инстанции". Это инструмент ранжирования, который помогает определить очередность работ при ограниченных ресурсах.
Два контура оценки
Практично разделить систему на два контура.
Первый контур отвечает за внешний риск. В нем учитываются CVSS, EPSS, наличие эксплуатации, тип уязвимого компонента и доступность сервиса из сети.
Второй контур оценивает внутренний контекст. Он учитывает критичность бизнес-системы, наличие персональных или финансовых данных, количество зависимых сервисов, резервирование, сегментацию и доступность компенсирующих мер.
Такое разделение предотвращает типичную ошибку: одинаковые уязвимости получают одинаковый приоритет независимо от того, затрагивают ли они тестовый стенд или систему управления производственным процессом.
Сопоставление с методикой ФСТЭК
Методики оценки последствий и уровней опасности обычно опираются на формализованные критерии. Это важно для единообразия, аудита и регуляторного контроля. Однако табличные подходы не всегда хорошо описывают пограничные случаи и сложные комбинации факторов.
Нечеткая модель может использовать критерии ФСТЭК как входные признаки, а не заменять их. Например, уровень последствий, категория актива и наличие угрозы могут быть преобразованы в степени принадлежности. Далее они объединяются с техническими показателями CVSS и прогнозом EPSS.
Такой вариант позволяет сохранить нормативную основу и одновременно учитывать реальную эксплуатационную обстановку.
Почему очередь можно сократить в 7,5 раза
В больших инфраструктурах список уязвимостей часто содержит тысячи позиций. Если обрабатывать их последовательно, специалисты тратят время на проблемы, которые формально имеют высокий балл, но практически не создают немедленного риска.
Нечеткая модель помогает выделить небольшую группу действительно приоритетных задач. В рассматриваемом сценарии после учета внешней доступности, критичности активов, EPSS, KEV и внутренних компенсирующих мер рабочая очередь сократилась в 7,5 раза.
Важно, что это не означает автоматическое удаление остальных уязвимостей. Они переводятся в другие категории: плановое исправление, контроль компенсирующих мер, повторная проверка или ожидание обновления компонента.
Слепая зона EPSS
EPSS полезен как прогноз массовой эксплуатации, но он не способен полностью заменить анализ контекста. Низкая вероятность может быть связана с отсутствием достаточного объема статистики, редкостью технологии или спецификой закрытой инфраструктуры.
Уязвимость в изолированном промышленном сегменте и аналогичная проблема во внешнем веб-сервисе могут иметь одинаковый EPSS, но совершенно разный практический риск. Поэтому прогноз должен дополняться данными об архитектуре и бизнес-значимости системы.
Проверка качества модели
Перед внедрением необходимо проверить не только математическую корректность, но и практическую полезность правил. Для этого применяются исторические данные: какие уязвимости реально исправлялись первыми, какие из них становились объектами атак, сколько времени занимало устранение и какие решения принимали специалисты.
Полезно проводить анализ чувствительности. Если небольшое изменение CVSS или EPSS радикально меняет приоритет, правила требуют доработки. Хорошая модель должна быть устойчивой к незначительным колебаниям входных данных.
Также важно регулярно пересматривать функции принадлежности и базу правил. Изменение архитектуры, появление новых средств защиты и смена профиля угроз напрямую влияют на результат.
Типичные ошибки
Одна из распространенных ошибок - смешивать вероятность эксплуатации и степень принадлежности. Это разные математические понятия, и их нельзя интерпретировать одинаково.
Другая проблема - чрезмерно большое количество правил. Система из сотен плохо согласованных условий становится непрозрачной и сложной для сопровождения. Лучше начинать с компактного набора наиболее значимых факторов.
Наконец, нельзя полностью передавать принятие решений автоматике. Модель должна формировать приоритет и объяснять его, а окончательное решение по критичным системам обязан подтверждать специалист.
Практический вывод
Нечеткая логика особенно полезна там, где одновременно присутствуют неполные сведения, плавные переходы между уровнями риска и необходимость учитывать множество факторов. В управлении уязвимостями она позволяет объединить CVSS, EPSS, KEV, внутреннюю критичность активов и нормативные критерии в единую систему ранжирования.
Главное преимущество подхода - не в усложнении формулы, а в более реалистичном описании риска. Уязвимость не становится опасной только потому, что пересекла формальный порог, и не перестает быть важной из-за небольшого отставания от него.
Оптимальная схема выглядит так: нормативные требования задают рамки, CVSS описывает техническую тяжесть, EPSS показывает прогноз эксплуатации, KEV фиксирует подтвержденную активность, а нечеткая логика связывает все эти данные с особенностями конкретной инфраструктуры. Именно это позволяет направить усилия команды на наиболее опасные проблемы и заметно уменьшить объем очереди без потери контроля над остальными уязвимостями.
