Bring your own vulnerable driver (BYOVD)

Bring your own vulnerable driver (BYOVD) — техника, подразумевающая загрузку в систему легитимного драйвера с действительной цифровой подписью, содержащего известные уязвимости. Название техники содержит отсылку к распространенной корпоративной политике BYOD (bring your own device), которая подразумевает возможность приносить собственное устройство для работы в офисе. В случае BYOVD злоумышленник не ищет уязвимые драйверы в атакованной системе, а «приносит» свои собственные.

Злоумышленников интересуют драйверы, которые работают на том же уровне привилегий, что и ядро ОС. При этом современные версии Windows проверяют цифровую подпись драйверов и запрещают на уровне ядра тех драйверов, у которых нет сертификата или он недействителен. При использовании BYOVD атакующий, получив права администратора в системе, устанавливает легитимный подписанный драйвер, содержащий известные уязвимости, таким образом обходя защиту, и может выполнять произвольный код на уровне ядра.

Техникой BYOVD пользуются как APT-группы, так и финансово-мотивированные киберпреступники, такие как операторы шифровальщиков.

Цели применения BYOVD

Техника BYOVD часто применяется для нейтрализации средств защиты (подобные атаки и используемые в них инструменты называют «убийцами антивирусов/EDR«, AV/EDR killers). Получив доступ к системе на уровне ядра, атакующий может принудительно завершать защищенные процессы антивирусов и EDR-решений, удалять перехватчики событий (хуки) и блокировать передачу телеметрии. Как следствие, вредоносное ПО и прочая активность злоумышленников остаются незамеченными.

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

Защита от BYOVD

Противодействие BYOVD осложняется тем, что установка драйвера для систем мониторинга выглядит легитимной: администратор запускает доверенный файл от проверенного вендора. Тем не менее есть несколько методов борьбы с этой техникой.

  • Списки блокировки (blocklists), которые составляют и поддерживают Microsoft и разработчики защитных решений. Эти списки содержат данные об известных уязвимых драйверах и их сертификатах. В последних версиях Windows загрузка драйверов из списка блокировки Microsoft Vulnerable Driver Blocklist запрещена по умолчанию.
  • Механизмы виртуализации для обеспечения безопасности (VBS) и целостности кода с защитой гипервизора (HVCI). Эти функции создают защищенную среду для проверки кода ядра и затрудняют эксплуатацию уязвимых драйверов.
  • Принцип наименьших привилегий. Эта политика усложняет получение прав администратора, которые, как правило, необходимы для загрузки драйвера в систему.

Публикации на схожие темы