Перейти к содержанию

A02:2025 Небезопасная конфигурация icon

Общие сведения.

Поднявшись с 5-го места в предыдущем выпуске, ошибки конфигурации обнаружены в 100% протестированных приложений в той или иной форме, со средней частотой встречаемости 3,00% и более 719 тыс. случаев CWE в этой категории рисков. По мере перехода к высококонфигурируемому программному обеспечению рост этой категории закономерен. Среди наиболее значимых CWE: CWE-16 Конфигурация и CWE-611 Неправильное ограничение ссылок на внешние XML-сущности (XXE).

Таблица оценок.

Число CWE Макс. частота встречаемости Ср. частота встречаемости Макс. охват Ср. охват Ср. взвешенная эксплуатируемость Ср. взвешенное воздействие Общее число встречаемостей Общее число CVE
16 27,70% 3,00% 100,00% 52,35% 7,96 3,97 719 084 1 375

Описание.

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

Приложение может быть уязвимым, если:

  • Отсутствует надлежащее усиление защиты в любой части стека приложения или неправильно настроены разрешения в облачных сервисах.
  • Включены или установлены ненужные функции (например, ненужные порты, сервисы, страницы, учётные записи, тестовые фреймворки или привилегии).
  • Стандартные учётные записи и их пароли по-прежнему включены и не изменены.
  • Отсутствует центральная конфигурация для перехвата избыточных сообщений об ошибках. Обработка ошибок раскрывает трассировки стека или иные излишне информативные сообщения пользователям.
  • В обновлённых системах последние функции безопасности отключены или настроены небезопасно.
  • Избыточное приоритизирование обратной совместимости, приводящее к небезопасной конфигурации.
  • Параметры безопасности серверов приложений, фреймворков (например, Struts, Spring, ASP.NET), библиотек, баз данных и т.д. не установлены в безопасные значения.
  • Сервер не отправляет заголовки или директивы безопасности, либо они не установлены в безопасные значения.

Без согласованного повторяемого процесса усиления конфигурации безопасности приложений системы подвергаются повышенному риску.

Как предотвратить.

Необходимо внедрить безопасные процессы установки, в том числе:

  • Повторяемый процесс усиления защиты, обеспечивающий быстрое и простое развёртывание другой среды с надлежащей блокировкой. Среды разработки, контроля качества и производства должны быть настроены одинаково, с использованием разных учётных данных в каждой среде. Этот процесс следует автоматизировать для минимизации усилий при создании новой безопасной среды.
  • Минимальная платформа без каких-либо ненужных функций, компонентов, документации или примеров. Удалите или не устанавливайте неиспользуемые функции и фреймворки.
  • Задача по проверке и обновлению конфигураций с учётом всех заметок по безопасности, обновлений и патчей как часть процесса управления патчами (см. A03 Уязвимости цепочки поставок ПО). Проверяйте разрешения облачного хранилища (например, разрешения S3 bucket).
  • Сегментированная архитектура приложений обеспечивает эффективное и безопасное разделение между компонентами или арендаторами с помощью сегментации, контейнеризации или групп облачной безопасности (ACL).
  • Отправка директив безопасности клиентам, например заголовков безопасности.
  • Автоматизированный процесс проверки эффективности конфигураций и параметров во всех средах.
  • Заблаговременно добавьте центральную конфигурацию для перехвата избыточных сообщений об ошибках как резервную меру.
  • Если эти проверки не автоматизированы, они должны проходить ручную проверку не реже одного раза в год.
  • Используйте федерацию удостоверений, краткосрочные учётные данные или механизмы доступа на основе ролей, предоставляемые базовой платформой, вместо встраивания статических ключей или секретов в код, конфигурационные файлы или конвейеры.

Примеры сценариев атак.

Сценарий №1: Сервер приложений поставляется с примерами приложений, не удалёнными с производственного сервера. Эти примеры имеют известные уязвимости безопасности, которые злоумышленники используют для компрометации сервера. Предположим, одно из них — консоль администратора, а стандартные учётные данные не были изменены. Тогда злоумышленник входит с паролем по умолчанию и захватывает контроль.

Сценарий №2: Листинг директорий не отключён на сервере. Злоумышленник обнаруживает, что может просто просматривать директории. Он находит и скачивает скомпилированные классы Java, декомпилирует и реверсирует их для просмотра кода. Затем обнаруживает серьёзную уязвимость контроля доступа в приложении.

Сценарий №3: Конфигурация сервера приложений разрешает возврат подробных сообщений об ошибках, например трассировок стека, пользователям. Это потенциально раскрывает конфиденциальную информацию или базовые уязвимости, такие как версии компонентов с известными уязвимостями.

Сценарий №4: Облачный провайдер (CSP) по умолчанию открывает разрешения на совместный доступ для Интернета. Это позволяет получить доступ к конфиденциальным данным, хранящимся в облаке.

Ссылки.

Список связанных CWE