MS07-004 и MS07-017: когда критические патчи не ждут окна обслуживания
Microsoft закрыла GDI и ANI-уязвимости вне графика. WSUS 3 упростил раздачу, но ANI потребовала экстренного развёртывания - задокументировали процедуру.
Microsoft выпускает январский пакет критических обновлений 2007 года, включая MS07-004 (VML/IE) и MS07-017 (GDI/ANI-курсоры)
Январский Patch Tuesday прилетел с двумя бюллетенями, которые Microsoft пометила как «Critical» и не стала тянуть до следующего месяца. MS07-004 закрывает дыру в обработке VML в Internet Explorer, MS07-017 - уязвимость в GDI через ANI-файлы (анимированные курсоры). Оба вектора позволяют выполнить произвольный код просто открыв страницу в браузере или получив письмо с вложением. Для нас это означало два сценария с разным приоритетом.
MS07-004: штатный WSUS справился
С VML-патчем всё прошло по регламенту. WSUS 3, который мы начали внедрять у клиентов ещё в бета-версии, одобрил бюллетень, распределил по группам, и к следующему утру картина по машинам была читаемой. Отчёт по соответствию - вещь приятная после ручного обхода машин.
Плановое окно обслуживания у большинства клиентов - воскресная ночь. MS07-004 туда и попал. Некоторые рабочие станции перезагрузились сами, серверы - по подтверждению. Пара машин, которые просто были выключены в выходные, закрылись во вторник при следующем включении. Без драмы.
MS07-017 / ANI: другая история
ANI-уязвимость - отдельный разговор. Вектор атаки через анимированный курсор работает не только в браузере: достаточно просто открыть письмо в Outlook или даже зайти в папку с подготовленным файлом в Explorer. Это означало, что «подождать до воскресенья» - неприемлемый вариант.
Когда к среде стало понятно, что exploit-код гуляет по публичным источникам и CERT уже выпустил рекомендацию не открывать ANI-файлы из недоверенных источников, мы приняли решение разворачивать вне окна. Задача выглядела просто: одобрить патч в WSUS и подождать. На практике оказалось немного сложнее.
Первая проблема - уведомления. Дать команду «перезагрузиться сейчас» через WSUS без предупреждения пользователям - значит терять несохранённую работу. Мы рассылаем предупреждение по почте заранее, просим закрыть документы и уйти от компьютера в установленное время. Звучит просто, но несколько человек письмо проигнорировали и были неприятно удивлены внезапной перезагрузкой. Записали как урок.
Вторая проблема - серверы. Рабочие станции можно перезагружать в рабочий день с предупреждением, серверы - уже другой разговор. Файловый сервер, контроллер домена, Exchange - там нужна координация с клиентом. Мы провели несколько звонков, согласовали короткое окно в обеденный перерыв, и у большинства укладывались в 20-30 минут на сервер. У одного клиента Exchange оказался занят в этот момент активной очередью, пришлось перенести на вечер того же дня.
Третья проблема - ноутбуки. Часть машин - у сотрудников на удалёнке или в командировках. Они не в офисной сети, WSUS их не видит. Этим пришлось слать патч вручную через Microsoft Update с явной инструкцией. Процент охвата в первые сутки был ниже, чем хотелось бы.
Что задокументировали
По итогам ANI-инцидента мы зафиксировали в нашем операционном регламенте отдельный раздел - процедуру emergency-patch. Основные пункты:
- Критерий экстренного развёртывания. Публичный exploit + вектор через email или браузер + CVSS выше 9 - разворачиваем вне окна без ожидания следующего Patch Tuesday.
- Коммуникация с клиентом. За 2 часа до начала - email с предупреждением и временем перезагрузки. За 30 минут - повторное. Не полагаться только на почту для критичных пользователей.
- Порядок развёртывания. Сначала рабочие станции в нерабочее время или обед, потом серверы в согласованное с клиентом окно. Серверы никогда без явного подтверждения.
- Удалённые машины. Отдельный список по каждому клиенту, отдельная инструкция для пользователей, отдельная проверка через день.
- Проверка покрытия. Отчёт из WSUS через 24 часа после развёртывания. Машины, которые не установили патч - звонок или письмо пользователю.
Ничего революционного - но до ANI этого в виде зафиксированной процедуры у нас не было. Работали интуитивно, и это несколько раз сбоило на деталях.
WSUS 3 здесь и там
На всём фоне WSUS 3 показал себя хорошо. Одобрение патча по группам, отчёт по соответствию, принудительная установка с дедлайном - всё это реально работает и снимает значительную часть ручного труда. Что не снимает - координацию с людьми и управление серверами. Это по-прежнему ручная работа, и никакой инструмент её не автоматизирует за вас.
По сути, сопровождение инфраструктуры в такие моменты - это не просто «нажать одобрить в консоли». Это ещё несколько звонков, согласование окон, письма пользователям и проверка покрытия постфактум. ANI напомнила об этом достаточно наглядно.