Новая уязвимость в ядре Windows 11, известная как "File Immutability", может позволить злоумышленникам выполнять произвольный код с привилегиями ядра. Эта уязвимость возникает из-за неправильных предположений в дизайне основной функции Windows, что приводит к неопределенному поведению и проблемам безопасности.
Компоненты и концепции, связанные с уязвимостью
- Windows File sharing: Полный набор прав доступа
- Memory Manager: Обрабатывает PE-перемещенные страницы как немодифицированные, динамически применяя перемещения во время ошибок страниц
- Sharing enforcement: Ответственность драйвера файловой системы за вызов IoCheckShareAccess или IoCheckLinkShareAccess для проверки совместимости запрашиваемого DesiredAccess/ShareMode
- Authenticode: Описывает способ использования криптографии для "подписи" PE-файлов
- Code Integrity: Проверяет подписи в ядре
- Incorrect assumptions: Предполагает, что файлы, успешно открытые без права записи, не могут быть изменены другим пользователем или процессом
- Page hashes: Список хешей каждой 4KB страницы в PE-файле
- Network redirectors: Позволяют использовать сетевые пути с любым API, принимающим пути к файлам
- Protected Process Light (PPL): Антивирусные службы работают как Protected Process Light (PPL), защищая их от вмешательства вредоносного ПО с правами администратора
Злоумышленник может использовать этот ложный файл неизменности, используя сетевой редиректор для изменения DLL PPL на серверной стороне и обхода ограничений на совместное использование. Эта уязвимость, известная как "False File Immutability", была также представлена на Black Hat Asia 2023, демонстрируя, как плохие предположения в пейджинге могут быть использованы для внедрения кода в PPL, обходя такие функции безопасности, как LSA и Anti-Malware Process Protection.
Новое исследование уязвимости
Новый отчет об уязвимости, опубликованный Elastic Security, фокусируется на подписях authenticode, встроенных в PE-файлы, используя отсоединенную подпись, называемую Security Catalog. Windows поддерживает большую коллекцию каталогов в C:WindowsSystem32CatRoot, которые проверяются Code Integrity различными методами. Однако уязвимость возникает из-за неправильных предположений, приводящих к False File Immutability.
Планирование и выполнение атаки
Поток атаки включает в себя размещение каталога безопасности на управляемом устройстве хранения, создание символической ссылки в каталоге CatRoot и манипулирование ядром для загрузки вредоносного неподписанного драйвера. Эксплуатируя False File Immutability, злоумышленник может достичь выполнения произвольного кода в ядре.
Уязвимость двойного чтения и атака
Уязвимость двойного чтения может быть использована путем манипулирования сервером жертвы для чтения одного и того же значения из буфера, контролируемого злоумышленником, более одного раза, что приводит к неожиданному поведению. Изменяя поле длины структуры пакета, злоумышленник может переполнить буфер и выполнить вредоносный код.
Затронутые операции и меры по смягчению последствий
Различные операции, такие как Image Sections, Data Sections и Regular I/O, подвержены уязвимости. Меры по смягчению последствий включают включение Page Hashes, избегание двойных чтений и копирование файлов в буферы кучи перед обработкой для предотвращения эксплуатации. Защита бизнес-электронной почты от подделки, фишинга и атак BEC с помощью решений на основе ИИ является важной задачей в сегодняшнем ландшафте угроз.