Служба защиты ядра и механизм проверки целостности кода виртуальных машин Windows могут быть взломаны, что позволит злоумышленникам внедрить свой код в критически важные компоненты ОС. К такому выводу пришел турецкий ИБ-специалист Джан Бёлюк (Can Bölük), опубликовавший подробное описание уязвимости. Разработчики Microsoft получили описание ошибки, но отказались признать ее проблемой безопасности и включить в очередной комплект патчей.

Как обойти систему защиты ядра Windows

Эксплойт, получивший название ByePg, позволяет обойти механизм Microsoft Kernel Patch Protection (KPP), также известный как PatchGuard, и внести изменения в код ключевых компонентов ОС. Исследователь использовал недостатки службы ядра ntoskrnl.exe, отвечающей за обработку исключений, процедур системных вызовов и планирование потоков в Windows. Как выяснил Бёлюк, сторонний код выполняется этой утилитой на том же уровне, что и системные задачи. Это дает злоумышленнику возможность внедрить в них свои процедуры и закрепиться в операционной системе на уровне ядра.

Для атаки киберпреступнику потребуются права администратора, однако ИБ-специалист отмечает, что KPP должен защищать системные компоненты от любых несанкционированных вмешательств вне зависимости от набора привилегий. Разработчики Microsoft не разделяют мнение эксперта. Согласно правилам программы Bug Bounty вендора, недостатки, для эксплуатации которых необходим root-доступ, не считаются проблемами безопасности и не классифицируются как уязвимости.

По мнению вендора, если злоумышленник имеет права администратора, то компьютер уже скомпрометирован. Не исключено, что производитель исправит выявленную ошибку в будущем, однако она не получила приоритетного статуса у команды разработки.

Возможно, такая позиция Microsoft стала одной из причин публикации PoC. Исследователь, выявивший проблему, не получил от вендора ни вознаграждения, ни признания своих заслуг. Теперь уязвимость имеет статус 0-day и может быть использована злоумышленниками в реальных атаках.

Модуль Kernel Patch Protection появился в 64-битной версии Windows XP и присутствует во всех актуальных релизах операционной системы Microsoft. Ранее ИБ-аналитики уже обходили этот механизм защиты — в 2017 году специалисты CyberArk опубликовали эксплойт, названный GhostHook. Этот способ обхода, как и ByePg, требовал наличия у атакующего прав администратора, и Microsoft отказалась признать его уязвимостью. Тем не менее вендор исправил недостаток позднее в том же году.

Категории: Уязвимости