Уязвимости в информационной безопасности: как находить, оценивать и закрывать слабые места

Современные информационные системы живут в состоянии постоянного давления. Чем сложнее инфраструктура, чем больше в ней компонентов, зависимостей и интеграций, тем выше вероятность того, что где-то останется незакрытая дыра. Уязвимость - это и есть такая дыра: ошибка в коде, просчёт в архитектуре, небрежность в настройке или человеческий фактор, которые злоумышленник может превратить в точку входа. Масштаб проблемы растёт год от года. Счёт идёт на десятки тысяч публикуемых CVE-идентификаторов ежегодно, при этом в реальных атаках используется лишь малая часть из них. Но скорость эксплуатации увеличивается, окно между публикацией уязвимости и началом её использования сокращается, и это меняет правила игры. Защищаться по принципу «узнал - пропатчил» становится недостаточно.
Уязвимости (в информационной безопасности)

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

Что такое уязвимость, угроза и эксплойт

Эти три понятия часто путают, хотя между ними есть чёткая граница.

Уязвимость - это слабое место в системе. Она может появиться из-за недостаточного тестирования, отсутствия код-ревью, небезопасного программирования, ошибок конфигурации или даже намеренной закладки, оставленной инсайдером. Уязвимость существует объективно, независимо от того, знает о ней кто-то или нет.

Угроза - это потенциальная опасность, которая может воспользоваться уязвимостью. Угрозы бывают внутренними (ошибки персонала, саботаж) и внешними (фишинг, DDoS, целевые атаки). Угроза — это возможность нанести вред, а уязвимость — дверь, через которую эта возможность реализуется.

Эксплойт - это конкретный инструмент, код или метод, позволяющий использовать уязвимость. Heartbleed - это уязвимость в OpenSSL, а специально сформированные Heartbeat-запросы, вытягивающие данные из памяти сервера, - это уже эксплойт.

Как классифицируют уязвимости

Классификаций существует несколько, и они дополняют друг друга.

По этапу возникновения уязвимости делятся на три группы:

  • Проектные - заложены в архитектуру: слабая аутентификация, отсутствие шифрования, неверная модель доступа.
  • Реализационные - появились при написании кода: SQL-инъекции, переполнение буфера, командные инъекции, гонки.
  • Конфигурационные - возникли при настройке: открытые порты, дефолтные пароли, слабые правила файрвола.

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

По типу воздействия наиболее опасны:

  • удалённое выполнение кода (RCE);
  • SQL-инъекции;
  • обход аутентификации и авторизации;
  • переполнение буфера;
  • атаки на основе некорректной обработки ввода (XSS, Path Traversal, командные инъекции);
  • ошибки синхронизации.

Российский регулятор - ФСТЭК - в своём банке данных угроз использует три класса: уязвимость кода, уязвимость архитектуры и многофакторная уязвимость. Эта классификация согласуется с ГОСТ Р 56546-2015.

Отдельно стоит упомянуть OWASP Top 10 - это не просто список, а стандартный документ осведомлённости, который представляет собой широкий консенсус относительно самых критичных рисков безопасности веб-приложений. Его основная цель - сделать безопасность прозрачной и практичной, встроенной в процесс создания программного обеспечения. Список помогает организациям расставлять приоритеты в защите, ориентируясь на то, что действительно подвергается атакам, а не на теоретические уязвимости. По сути, это отправная точка для обучения разработчиков безопасному кодированию, основа для тестирования веб-приложений и эталон, на который ссылаются аудиторы и специалисты по безопасности по всему миру.

В последней редакции 2025 года список претерпел значительные изменения, отражающие сдвиг от простого перечисления симптомов к решению системных проблем. На первом месте остался Broken Access Control (нарушение контроля доступа), причём в эту категорию теперь включена и SSRF (подделка запросов на стороне сервера). На второе место поднялась Security Misconfiguration (небезопасная конфигурация), что объясняется ростом сложности настроек приложений. Третьей стала новая категория Software Supply Chain Failures (сбои в цепочке поставок ПО), которая расширяет прежнюю «уязвимые и устаревшие компоненты» и охватывает компрометации на всём пути — от зависимостей и систем сборки до инфраструктуры распространения.

Как идентифицируют и оценивают уязвимости

Основной стандарт идентификации - CVE, которым управляет MITRE. Каждой уязвимости присваивается уникальный номер с годом обнаружения, например CVE-2024-3094.

Для оценки серьёзности используется CVSS - десятибалльная шкала, учитывающая базовые характеристики уязвимости, временные факторы (наличие эксплойта, патча) и экологические параметры конкретной организации. На практике удобно ориентироваться на такие диапазоны: критические уязвимости (9.0–10.0) закрывают в течение 24-48 часов, высокие (7.0-8.9) - до недели, средние (4.0-6.9) - до месяца, низкие оставляют на потом.

Параллельно с CVE существуют региональные и национальные базы уязвимостей:

  • БДУ ФСТЭК - российский банк данных угроз безопасности информации. Содержит сведения об уязвимостях в ПО и оборудовании с оценками по CVSS и рекомендациями по устранению, с акцентом на отечественные системы.
  • EUVD (European Union Vulnerability Database) - европейская база, запущенная агентством ENISA в рамках директивы NIS2. Её задача - собирать информацию об уязвимостях из надёжных источников, обеспечивать соответствие требованиям NIS2 и снижать зависимость европейских организаций от американских баз. Каждая запись получает собственный идентификатор, а внутри интегрированы инструменты оценки вероятности эксплуатации и обмена сообщениями об уязвимостях.

Пока EUVD уступает по покрытию CVE.org и NVD, но сам факт её появления - значимый шаг к регионализации и большей автономии в сфере кибербезопасности.

Zero-day и N-day уязвимости

Zero-day - это уязвимость, о которой разработчик ещё не знает или для которой пока нет патча. Именно поэтому она особенно опасна: защищаться нечем, кроме эвристики, поведенческого анализа и сегментации. Характерные примеры:

  • уязвимости в Microsoft Defender, позволявшие локально повышать привилегии до SYSTEM;
  • ошибки в движке V8 браузера Chrome, дававшие возможность выполнить произвольный код внутри песочницы;
  • переполнение буфера в PAN-OS, позволявшее неаутентифицированным атакующим получить root-доступ к файрволам;
  • обход аутентификации в Cisco Secure FMC с максимальной оценкой CVSS 10.0;
  • статическое внедрение кода в N-able N-central, дававшее удалённое выполнение кода без аутентификации;
  • уязвимость в Oracle PeopleSoft, эксплуатировавшаяся ещё до публикации бюллетеня.

N-day - это уже известная уязвимость, для которой есть патч, но не все успели его установить. Парадоксально, но именно они часто наносят больший ущерб, чем zero-day, потому что эксплойты для них доступны, а непропатченных систем много. Показательные случаи:

  • уязвимость в BMC-контроллере Lenovo XCC2 - закрыта в 2024 году, но спустя два года снова найдена в прошивке, потому что такие устройства патчатся крайне редко;
  • уязвимости в Microsoft Word, затрагивавшие миллионы активов;
  • ошибки в FortiOS, эксплуатировавшиеся спустя месяцы после выхода обновлений.

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

Как выстроить управление уязвимостями

Управление уязвимостями - это не разовая акция, а непрерывный цикл из нескольких этапов.

  1. Документирование процедуры. Определяют, как выявлять уязвимости, как их анализировать и в каком порядке устранять.
  2. Выявление. Сканирование, пентесты, анализ логов SIEM и мониторинг баз данных уязвимостей.
  3. Реагирование. Патч-менеджмент, переконфигурирование систем и обучение сотрудников.
  4. Защита от zero-day. EDR-системы, sandbox-среды и сегментация сети дают шанс заметить и локализовать атаку, пока патча ещё нет.

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

Сканеры уязвимостей: российские решения

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

MaxPatrol VM (Positive Technologies) - флагман отечественного рынка. Обеспечивает комплексное управление уязвимостями: автоматизирует инвентаризацию активов, анализ защищённости, приоритизацию и проверку устранения. Построен на единой платформе MaxPatrol 10, умеет взаимодействовать с MaxPatrol SIEM и PT NAD. По аналитике IDC, входит в топ-6 мировых вендоров подобных решений.

RedCheck ("АЛТЭКС-СОФТ") - средство анализа защищённости, которое выявляет уязвимости и проверяет конфигурации на соответствие стандартам ФСТЭК, ГОСТ и CIS Benchmarks. Модуль RedCheck VM объединяет результаты сканирования, позволяет оценивать риски и отслеживать динамику устранения. Поддерживает Windows и Linux (включая российские), сетевое оборудование, протоколы АСУ ТП, средства виртуализации и контейнеризации. Источник данных — собственный репозиторий OVALdb, синхронизируемый с БДУ ФСТЭК и бюллетенями НКЦКИ. Сертифицирован ФСТЭК, первый отечественный сканер, соответствующий набору стандартов SCAP.

XSpider PRO (Positive Technologies) - сканер для инфраструктуры до 500 узлов. Работает в режимах «чёрного» и «белого» ящика, анализирует ПО, сканирует Docker-контейнеры и веб-приложения, проверяет популярные ОС, включая отечественные сборки на Linux.

Сканер-ВС (ГК "Эшелон") - идёт дальше поиска уязвимостей в ПО и слабых паролей: умеет искать ошибки конфигурации. В редакции Enterprise доступны проверки на основе пользовательской базы уязвимостей и аудит конфигурации по редактируемым шаблонам. Поддерживает Windows, Astra Linux и РЕД ОС.

HScan ("Крайон") - платформа комплексного управления уязвимостями, которая проверяет внутреннюю и внешнюю инфраструктуру, конфигурации серверов, код веб-приложений и параметры шифрования. Базы уязвимостей обновляются каждые шесть часов.

Отдельно стоит выделить бесплатные инструменты. ScanOVAL (ФСТЭК) - сканер уязвимостей для рабочих станций и серверов на Windows и Linux, использующий подписанный OVAL-контент с портала bdu.fstec.ru. PT BlackBox Scanner (Positive Technologies) - облачный сканер с интегрированной языковой моделью, выполняющий более 110 видов проверок и формирующий подробный отчёт с объяснением, что именно нужно исправить.

У российских сканеров есть и слабые места: по данным независимых исследований, это недостаточная скорость работы, ограниченное покрытие CVE и сложности интеграции с существующими системами. Тем не менее рынок растёт, и большинство организаций отдаёт предпочтение коммерческим сканерам или специализированным VM-решениям.

Открытые сканеры уязвимостей

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

Trivy (Aqua Security) - комплексный сканер уязвимостей для контейнерных образов, файловых систем, git-репозиториев и кластеров Kubernetes. Проверяет пакеты ОС, зависимости приложений, конфигурации IaC и секреты. Единственный открытый инструмент со встроенной поддержкой БДУ ФСТЭК. По данным исследований, обеспечивает наилучшее сочетание полноты обнаружения и приемлемой точности.

Nuclei (ProjectDiscovery) - высокопроизводительный сканер на Go, использующий YAML-шаблоны. Поддерживает HTTP, DNS, TCP, SSL, WebSocket, WHOIS, JavaScript и Code. Работает с веб-приложениями, сетями и облачными средами.

OpenVAS (Greenbone Community Edition) - один из старейших open-source сканеров уязвимостей. Использует регулярно обновляемый Greenbone Community Feed, библиотека тестов — около 227 000. Сканирует медленнее Nessus, но не требует лицензионных отчислений. Тесно интегрирован с требованиями немецкого BSI.

Nessus (Tenable) - коммерческий сканер, который многие считают мировым стандартом. Библиотека из более чем 319 000 плагинов, credentialed-сканирование, поддержка Active Directory, аудит патчей. Есть бесплатная версия Nessus Essentials до 16 IP.

Grype (Anchore) - сканер для контейнерных образов, файловых систем и SBOM. Поддерживает основные экосистемы пакетов. Однако для образов некоторых отечественных ОС он непригоден без существенной доработки баз.

Что делать на практике

Универсального рецепта нет, но есть набор действий, которые работают:

  • Регулярно сканируйте инфраструктуру - сканеры уязвимостей в связке с SIEM дают непрерывную картину.
  • Патчите быстро: критические уязвимости закрывают за 24-48 часов, высокие - до недели, и лучше автоматизировать этот процесс.
  • Встраивайте безопасность в разработку - код-ревью, SAST/DAST, threat modeling, следование OWASP ASVS и CERT Secure Coding.
  • Проводите харденинг: отключайте ненужные сервисы, закрывайте неиспользуемые порты, меняйте дефолтные учётные записи.
  • Обучайте сотрудников - фишинг-симуляции и регулярные тренинги снижают риск социальной инженерии лучше любых технических мер.
  • Внедряйте EDR, sandbox-среды и сегментацию сети для защиты от zero-day.
  • Приоритизируйте уязвимости по CVSS и реальной эксплуатируемости, а не по количеству.
  • Включайте двухфакторную аутентификацию и принцип наименьших привилегий.
  • Мониторьте базы данных уязвимостей - CVE, БДУ ФСТЭК, EUVD и другие.

Заключение

Уязвимости - неотъемлемая часть современного цифрового ландшафта. Их количество растёт, скорость эксплуатации увеличивается, а окно между публикацией и атакой сокращается. Сканеры уязвимостей становятся не просто полезным, а обязательным инструментом: они позволяют находить слабые места до того, как ими воспользуются злоумышленники.

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

Появление региональных баз вроде EUVD, развитие российских сканеров уязвимостей и активный рост открытых инструментов вроде Trivy и Nuclei показывают общую тенденцию: кибербезопасность становится всё более регионализированной и суверенной. Но базовый принцип остаётся неизменным - в этой сфере нельзя рассчитывать на универсальную защиту. Только адаптивность, быстрое реагирование и постоянное обучение позволяют оставаться на шаг впереди.

Комментарии: 0