На конференции Black Hat в Лас-Вегасе новое исследование выявило значительную уязвимость в механизме обновления Windows, которая потенциально может позволить злоумышленникам понижать версии операционных систем Windows до более старых. Это понижение может подвергнуть системы ряду исторических уязвимостей, в конечном итоге предоставляя атакующим полный контроль над затронутыми устройствами. В настоящее время Microsoft устраняет эту проблему через тщательный процесс патчирования, который получил название "Downdate".
Обнаружение и последствия
Алон Левиев, исследователь из SafeBreach Labs, начал свое расследование методов атак понижением после наблюдения за тревожной хакерской кампанией в прошлом году, которая использовала "BlackLotus UEFI bootkit". Это вредоносное ПО эксплуатировало уязвимость, понижая загрузчик Windows до устаревшей версии. В ходе исследования процесса обновления Windows, Левиев выявил метод стратегического понижения как всей операционной системы, так и отдельных компонентов.
На основе своих находок Левиев разработал доказательство концепции атаки, которая эффективно отключала защиту Windows, известную как Virtualization-Based Security (VBS), нацеливаясь на высокопривилегированный код в ядре компьютера. "Я нашел уязвимость понижения, которая полностью не обнаруживается, потому что она выполняется с использованием самого обновления Windows," объяснил Левиев. "С точки зрения невидимости, я не удалял никаких обновлений — я фактически обновил систему, хотя под капотом она была понижена. Таким образом, система не осознает понижение и все еще кажется актуальной."
Механика уязвимости
Суть способности Левиева к понижению лежит в ошибке в компонентах процесса обновления Windows. Когда пользователь запрашивает обновление, его ПК помещает этот запрос в назначенную папку обновлений, которая затем проверяется сервером обновлений Microsoft. Сервер создает отдельную контролируемую папку обновлений, где он завершает обновление и поддерживает список действий, известный как "pending.xml", описывающий шаги обновления.
Левиев обнаружил, что хотя он не мог напрямую изменять список действий в папке сервера, один из управляющих ключей, "PoqexecCmdline", не был защищен. Этот промах позволил ему манипулировать списком действий и всем процессом обновления без обнаружения. С этим новым контролем он разработал стратегии понижения критически важных компонентов Windows, включая:
- Драйверы, взаимодействующие с периферийными устройствами
- Библиотеки динамической компоновки (DLL), содержащие важные системные программы и данные
- Ядро NT, содержащее основные инструкции, необходимые для работы системы
Кроме того, Левиев расширил свои исследования на компоненты безопасности Windows, такие как Windows Secure Kernel, Credential Guard, гипервизор и сам VBS. Хотя эта техника не предоставляет средств для получения первоначального удаленного доступа, она представляет серьезную угрозу для атакующих, которые уже имеют некоторый уровень доступа, так как может восстановить множество уязвимостей, которые Microsoft ранее устранила.
Ответ Microsoft
В ответ на эти находки Microsoft заявила, что пока не наблюдала попыток эксплуатации этой уязвимости. Представитель компании подчеркнул: "Мы активно разрабатываем меры по защите от этих рисков, следуя обширному процессу, включающему тщательное расследование, разработку обновлений для всех затронутых версий и тестирование на совместимость, чтобы обеспечить максимальную защиту клиентов с минимальными операционными нарушениями."
Часть стратегии устранения включает отзыв уязвимых системных файлов VBS, процесс который должен быть выполнен с осторожностью, чтобы избежать проблем с интеграцией или повторного введения ранее решенных проблем.
Левиев подчеркивает важность признания атак понижением значительной угрозой для сообщества разработчиков, поскольку хакеры постоянно ищут скрытые способы компрометации систем.