Xakep #305. Многошаговые SQL-инъекции
Злоумышленники могут осуществить даундрейд компонентов ядра Windows, чтобы обойти такие защитные функции, как Driver Signature Enforcement, и развернуть руткит в полностью пропатченных системах, предупредил специалист SafeBreach Алон Левиев (Alon Leviev).
По словам исследователя, такая атака возможна, если взять под контроль процесс Windows Update и внедрить устаревшие, уязвимые программные компоненты на обновленную машину, при этом не изменяя статуса полностью пропатченной ОС.
Ранее в этом году Левиев уже демонстрировал, что такая атака осуществима, а проблема все еще не устранена до конца, что позволяет осуществить даунгрейд или откат версии.
В августе исследователь и вовсе опубликовал инструмент Windows Downdate, который можно использовать для даунгрейд-атак на понижение версий Windows 10, Windows 11 и Windows Server через устаревшие компоненты, такие как DLL, драйверы и ядро NT. В итоге это позволяет эксплуатировать уже исправленные уязвимости, так как ОС снова становится уязвимой для старых багов.
Теперь исследователь рассказывает, что хотя безопасность ядра значительно улучшилась за прошедшие годы, ему удалось обойти функцию Driver Signature Enforcement (DSE), тем самым доказав, что злоумышленник может загрузить неподписанные драйверы ядра, а затем развернуть на машине руткит, который отключит защиту и скроет активность, которая могла бы привести к обнаружению взлома.
Хотя новые меры защиты усложняют компрометацию ядра, «возможность даунгрейда компонентов, которые находятся в ядре, значительно упрощает задачу злоумышленников», — говорит Левиев.
Исследователь дал этому методу обхода DSE название ItsNotASecurityBoundary, поскольку он связан с даунгрейдом и эксплоитом ItsNotASecurityBoundary, ранее выявленным специалистами Elastic и позволяющим добиться выполнения произвольного кода с привилегиями ядра.
Новая атака строится вокруг подмены файла ci.dll, отвечающего за имплементацию DSE, на уязвимую версию, которая игнорирует подписи драйверов, что позволяет обмануть защитные проверки Windows.
На видео исследователь демонстрирует, что откатил патчи DSE с помощью даунгрейд-атаки, а затем эксплуатировал этот компонент на полностью пропатченной машине под управлением Windows 11 23H2.
Также в новой статье Левиев описывает методы обхода механизма Microsoft Virtualization-based Security (VBS), который создает изолированную среду для защиты важных ресурсов, включая механизм целостности кода ядра (skci.dll) и аутентифицированные учетные данные пользователей.
Так, для предотвращения несанкционированных изменений VBS обычно полагается на такие защитные механизмы, как блокировки UEFI и конфигурации реестра, но их можно отключить путем модификации ключей реестра, если настройки безопасности не максимальные (флаг «Mandatory»). При частичном включении ключевые файлы VBS (такие как SecureKernel.exe) можно подменить искаженными версиями, что нарушит работу VBS и откроет дорогу для ItsNotASecurityBoundary и подмены ci.dll.
Как отмечает издание Bleeping Computer, хотя обнаруженные экспертом уязвимости (CVE-2024-38202 и CVE-2024-21302) уже были публично раскрыты и продемонстрированы на конференциях BlackHat и DEFCON, Microsoft все еще не решила проблему, связанную с Windows Update.
Как говорит сам Левиев, проблема остается неисправленной, поскольку, по мнению представителей Microsoft, «ошибка, дающая возможность выполнения кода ядра от имени администратора, не переходит определенную границу безопасности (не является уязвимостью)».
Однако в Microsoft сообщили журналистам, что компания уже «активно разрабатывает средства защиты от этих рисков», просто это небыстрый процесс, так как он включает в себя «тщательное расследование, разработку обновлений для всех затронутых версий и тестирование на совместимость», чтобы избежать возможных сбоев.