CVE-2019-0708 · CVSS 9.8 CRITICAL · опубликована 16.05.2019
16 мая 2019 года Microsoft опубликовала бюллетень об уязвимости CVE-2019-0708 с оценкой CVSS 9.8 CRITICAL — и тревога в сообществе была не наигранной. Уязвимость находилась в Remote Desktop Services (RDP) в Windows: удалённое выполнение кода до аутентификации по сети. Microsoft пошла на беспрецедентный шаг — выпустила патч даже для давно снятых с поддержки систем, Windows XP и Windows Server 2003, что само по себе стало сигналом: компания ожидала червя масштаба EternalBlue.
Как это работает
RDP позволяет пользователю подключаться к рабочему столу удалённой машины. До того как пользователь вводит логин и пароль, клиент и сервер обмениваются серией сообщений — процесс установки соединения, во время которого стороны договариваются о параметрах канала. Уязвимость находится именно в этом предаутентификационном этапе: обработчик одного из управляющих сообщений содержит use-after-free — ситуацию, когда программа обращается к области памяти, которая уже освобождена и может быть перезаписана контролируемыми данными.
Почему это так опасно? Во-первых, атака не требует учётных данных и действий пользователя — достаточно доступности порта RDP (3389) в сети. Во-вторых, служба RDP обычно работает с высокими привилегиями (SYSTEM), поэтому успешная эксплуатация сразу даёт полный контроль. В-третьих — и это главное в контексте угрозы червя — RDP-сервис по своей природе предназначен для сетевых подключений, так что механизм распространения встроен в саму уязвимость. Эксперты сразу сравнивали BlueKeep с EternalBlue по архитектуре угрозы.
Реальные последствия
Несмотря на предупреждения, сотни тысяч систем с доступным RDP оставались непропатченными месяцами после выхода исправления. Постепенно в дикой природе начали появляться реальные эксплойты: сначала менее надёжные, затем всё более стабильные, включая вредоносные кампании, использовавшие BlueKeep для проникновения в системы. Распространённость RDP в корпоративной среде (удалённая поддержка, терминальные серверы, промышленные системы) делала каждую непропатченную машину потенциальным узлом крупного инцидента. Инцидент усилил кампанию Microsoft по «похоронам» устаревших протоколов и стимулировал рост индустрии мониторинга экспозиции RDP в интернете.
Что делать
Критически важно: установить майские обновления 2019 года на все поддерживаемые системы и специальные патчи для XP/2003 там, где эти системы неизбежны. Архитектурные меры сильнее любого патча: RDP не должен быть доступен из интернета — доступ должен проходить через VPN или шлюзы удалённого доступа (RD Gateway), должна быть включена сетевая аутентификация уровня сети (NLA). Сегментация сети ограничивает распространение при компрометации. Урок BlueKeep прост: сервисы предаутентификационного удалённого доступа — это критическая поверхность атаки, и их экспозиция должна минимизироваться по умолчанию, а не по факту инцидента.