Специалисты компании enSilo обнаружили ошибку в ядре Windows, которая препятствует нормальной работе защитных решений. Исследователи сообщают, что проблема присутствует практически во всех версиях ОС после Windows 2000 и до Windows 10 включительно.
По мнению исследователей, обнаруженный баг является следствием обычной ошибки в коде. Проблема затрагивает PsSetLoadImageNotifyRoutine, низкоуровневый механизм, который некоторые защитные решения используют для идентификации кода, загружаемого в пространство ядра или user space.
Изначально PsSetLoadImageNotifyRoutine был представлен, как решение, которое может уведомлять разработчиков о загрузке новых драйверов. Но так как механизм способен проверять PE image, загружаемые в виртуальную память, на него стали полагаться и производители антивирусов. Из-за ошибки PsSetLoadImageNotifyRoutine может возвращать некорректное имя модуля, что позволяет атакующему замаскировать работу малвари под обычную и легитимную операцию, обманув защитные решения.
Специалисты пишут, что они не тестировали конкретные защитные решения и не проверяли влияние бага на их работу, но эксперты убеждены, что баг в PsSetLoadImageNotifyRoutine не может не сказываться на использующих его антивирусах. Кроме того, когда исследователи рассказали о проблеме представителям Microsoft, те не сочли ее уязвимостью в безопасности, поэтому патчей для некоторых версий ОС можно не ждать. Впрочем, проблема все же была устранена в Windows XP SP3, Windows 7 SP1 x64, Windows 10 Anniversary Update (Redstone, x86 и x64).
Эксперты отмечают, что, судя по некоторым упоминаниям в онлайне, об этом баге было известно и ранее, просто до текущего момента он не был описан полностью, во всех деталях и с учетом всех возможных последствий. С подробным докладом специалистов можно ознакомиться здесь.
Читайте также
Последние новости