Zero-day эксплойт
Zero-day эксплойт это атака, использующая уязвимость, о которой разработчик программы пока не знает, поэтому патча ещё не существует. На практике для серверов малого бизнеса встречается значительно реже, чем n-day эксплойты.
Почему обновления сами по себе не решают эту проблему
По определению патча для zero-day уязвимости пока не существует, так как вендор о ней не знает. Именно поэтому многоуровневая защита, такая как WAF, intrusion prevention и настройка с минимальными привилегиями, важна даже на полностью обновлённом сервере.
Что реально снижает риск
Уменьшение поверхности атаки, запуск сервисов с минимальными привилегиями и наличие мониторинга для быстрого обнаружения нетипичного поведения всё помогает ограничить ущерб от zero-day, хотя ничто из этого не может предотвратить существование самой уязвимости.
Как обновления вписываются в многоуровневую защиту, см. здесь: руководство по управлению патчами сервера.
Как сократить то, до чего может добраться zero-day
NIST определяет zero-day атаку как атаку, использующую ранее неизвестную уязвимость. Нельзя пропатчить то, что никто ещё не нашёл, но можно решить, как много на вашем сервере такая ошибка откроет. Две команды быстро дают картину:
sudo ss -tlnp
systemd-analyze security nginx.service
Первая выводит слушающие TCP-сокеты вместе с процессом, который за каждым стоит (-t TCP, -l слушающие, -n числовой вывод, -p процессы). Каждую ненужную службу стоит остановить, а всё, что предназначено только для локального использования, должно слушать 127.0.0.1, а не все интерфейсы. Межсетевой экран с политикой запрета по умолчанию, описанный в руководстве по файрволу, закроет остальное.
Вторая команда выставляет службе оценку экспозиции от 0.0 до 10.0, где большее значение означает более слабую изоляцию. В документации systemd-analyze отмечено, что она оценивает только собственные ограничения systemd для службы, а не защиту, встроенную в само приложение. Ужесточение этих настроек, запуск от непривилегированного пользователя (см. аудит минимальных привилегий) и WAF перед веб-приложениями ограничивают то, что сможет сделать успешный эксплойт.
От рекомендации до патча: как пережить разрыв
Первым признаком zero-day часто становится рекомендация вендора или исследователя, которая появляется раньше исправления. SP 800-40 Rev. 4 от NIST называет такой ответ экстренной защитой (emergency mitigation): временная мера, например отключение затронутой функции или изоляция системы, применяемая до выхода патча. Документ также требует заранее продумать выход: когда патч появится, его нужно установить и снять временную меру, причём сроки для обоих шагов должны быть назначены и соблюдаться.
Те же понятия использует описание критериев KEV от CISA. Mitigation (смягчение) это временное решение, workaround (обходной путь) это ручное изменение, защищающее продукт до выхода официального патча, и CISA рекомендует применять обходной путь, а не оставлять продукт уязвимым. Разбор NGINX Rift показывает этот приём на практике: временное изменение конфигурации полезно, но не заменяет настоящее исправление.
Как только патч выходит, ошибка становится n-day, и гонка переходит к скорости его установки. До этого полагайтесь на журналы и оповещения, чтобы заметить необычное поведение пораньше, как описано в руководстве по мониторингу, и держите под рукой шаги реагирования на инцидент.
Связанные термины: N-day эксплойт, Управление обновлениями, Intrusion prevention, WAF, CVSS (система оценки уязвимостей), Каталог KEV CISA (известные эксплуатируемые уязвимости).
Часто задаваемые вопросы
Насколько распространены zero-day атаки конкретно против малого бизнеса?
Реже, чем эксплуатация уже известных, но не исправленных уязвимостей, так как zero-day сравнительно редки и часто приберегаются для более ценных целей, но полностью исключить это нельзя.
Означает ли полностью обновлённый сервер безопасность от zero-day?
Нет, так как zero-day эксплойт по определению атакует уязвимость, которую ещё никто не исправил. Обновления защищают от известных проблем, что всё равно составляет подавляющее большинство реальных атак.
Что происходит, когда zero-day становится публично известным?
Он обычно превращается в n-day эксплойт, то есть патч обычно выходит вскоре после этого, и приоритетом становится максимально быстрое применение этого патча, пока злоумышленники, изучившие его, не успели воспользоваться.
Где следить за рекомендациями по zero-day, затрагивающими мой сервер?
Следите за рекомендациями безопасности вендоров и дистрибутивов, чьё ПО вы реально используете, и проверяйте каталог Known Exploited Vulnerabilities от CISA. В KEV попадают уязвимости с присвоенным CVE, надёжными свидетельствами активной эксплуатации и понятным способом устранения.
Является ли каждая уязвимость из каталога CISA KEV zero-day?
По определению нет. KEV требует понятного способа устранения, например обновления вендора, поэтому запись в каталоге это то, с чем можно действовать. Уязвимость, использованная до раскрытия, раньше могла быть zero-day, но после попадания в каталог с ней работают как с n-day.
Хотите увидеть, в каком состоянии ваш сервер?
Запустите бесплатную read-only проверку сервера или откройте Security Lab и посмотрите цикл обнаружение, сдерживание, восстановление, проверка в действии.
Получить бесплатную проверку сервераОткрыть Security Lab