Есть одна закономерность, которую я наблюдаю практически постоянно.
Появляется новое средство защиты.
WAF. Антивирус. EDR. IDS. IPS. Контроль приложений. Любой другой инструмент безопасности.
И через некоторое время обязательно находится человек, который говорит:
— Эта штука всё ломает.
Иногда это администратор. Иногда разработчик. Иногда руководитель проекта.
Но смысл всегда один:
— До вас всё работало нормально.
На самом деле это одна из самых интересных иллюзий в информационной безопасности.
Очень часто система безопасности ничего не ломает.
Она просто показывает проблему, которая существовала задолго до её появления.
Проблему, которую никто раньше не замечал.
Или не хотел замечать.
Представьте ситуацию.
Есть веб-сервер. Работает несколько лет. Все довольны. Жалоб нет.
Потом перед сервером появляется WAF.
И внезапно выясняется, что через определённые поддомены стали доступны ресурсы, которые никогда не должны были быть доступны извне.
Первая реакция обычно предсказуема:
— WAF работает неправильно.
— Он ломает сервис.
— Его нужно убрать.
Но проблема оказалась совсем в другом.
При настройке nginx когда-то давно была реализована логика полного доверия всем внутренним адресам.
Пока сервер работал напрямую, этот недостаток никто не замечал.
После появления WAF ситуация изменилась. WAF получил внутренний IP-адрес и начал выступать в роли обратного прокси.
С точки зрения nginx запросы стали приходить с доверенного внутреннего адреса.
В результате наружу неожиданно стали доступны ресурсы, которые изначально предполагались только для внутреннего использования.
Самое интересное, что WAF не создал новую уязвимость.
Она существовала в конфигурации сервера всё это время.
Просто раньше никто не видел последствий такого уровня доверия к внутренней сети.
Проблема была не в WAF.
Проблема была в предположении, что любой внутренний адрес автоматически является доверенным.
Именно такие ситуации лучше всего показывают разницу между словами «сломал» и «обнаружил».
С антивирусами и EDR история выглядит очень похоже.
Разработчик пишет внутреннее приложение.
Приложение работает.
Все счастливы.
Потом на сервер устанавливается средство защиты.
И вдруг начинаются срабатывания.
Подозрительные PowerShell-команды.
Запуск неизвестных исполняемых файлов.
Изменение системных каталогов.
Отключение механизмов защиты.
Запуск скриптов из временных директорий.
И практически сразу звучит знакомая фраза:
— Антивирус мешает работать.
Но если посмотреть на ситуацию со стороны, возникает другой вопрос.
Почему приложение выполняет действия, настолько похожие на поведение вредоносного программного обеспечения?
Очень часто причина оказывается простой.
Приложение создавалось по принципу:
«Главное, чтобы работало».
О безопасности никто особенно не думал.
Не потому что разработчик плохой.
Не потому что администратор некомпетентный.
А потому что безопасность редко является первой задачей при создании системы.
Сначала нужно запустить сервис.
Потом заставить его работать.
Потом исправить ошибки.
Потом добавить новый функционал.
А вопросы безопасности обычно откладываются на потом.
Проблема в том, что это «потом» однажды наступает.
И в этот момент появляется система безопасности.
Она начинает задавать неудобные вопросы.
Почему сервис работает от имени администратора?
Почему любой внутренний адрес считается доверенным?
Почему сервер принимает соединения от кого угодно?
Почему учётная запись имеет избыточные права?
Почему скрипт скачивает исполняемые файлы и запускает их без проверки?
Почему никто не контролирует попытки входа?
И самое неприятное заключается в том, что отвечать на эти вопросы приходится не системе безопасности.
Отвечать приходится владельцам системы.
Поэтому очень часто возникает конфликт.
Безопасник говорит:
— Здесь есть риск.
Разработчик отвечает:
— Не трогайте, оно работает.
Администратор добавляет:
— Мы так десять лет делали.
И в какой-то момент начинает казаться, что источник проблем — это именно средство защиты.
Хотя на самом деле оно всего лишь подсветило место, где проблема уже существовала.
Это похоже на медицинское обследование.
Если рентген показал перелом, это не значит, что рентген сломал кость.
Если анализы показали болезнь, это не значит, что болезнь появилась после сдачи анализов.
Точно так же работают и средства информационной безопасности.
Они редко создают новые проблемы.
Гораздо чаще они обнаруживают старые.
Те самые, которые годами жили в инфраструктуре, потому что никто не смотрел на них под правильным углом.
Поэтому, когда очередной раз возникает желание отключить WAF, удалить антивирус или исключить из проверки половину серверов, стоит на минуту остановиться и задать себе простой вопрос.
Что именно сломала система безопасности?
Или она просто показала то, что давно требовало исправления?
Потому что самая опасная уязвимость — это не та, о которой сообщили.
Самая опасная уязвимость — это та, которую никто не хочет замечать.

Добавить комментарий