Bring Your Own Vulnerable Driver — как уязвимые драйверы становятся оружием в руках хакеров

Bring Your Own Vulnerable Driver — как уязвимые драйверы становятся оружием в руках хакеров

Техника BYOVD в современных атаках, её опасность и примеры использования в реальном мире.

image

Атака Bring Your Own Vulnerable Driver (BYOVD) — это один из тех приёмов, которые сложно отследить и ещё сложнее предотвратить, если не знать о нём заранее. Её суть проста: злоумышленник использует подписанный, но уязвимый драйвер для получения привилегированного доступа к системе. На практике это означает, что вредонос может получить полный контроль над Windows, минуя большинство средств защиты.

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

Принцип работы BYOVD

Чтобы понять, как именно работает эта атака, нужно вспомнить, что такое драйвер. Это программный компонент, обеспечивающий взаимодействие ОС с аппаратным обеспечением. Драйверы в Windows работают в ring 0 — на уровне ядра, с максимальными привилегиями. Ошибка или уязвимость на этом уровне позволяет обойти любые ограничения, действующие для обычных приложений.

Пошаговый сценарий атаки

  1. Выбор цели — атакующий ищет драйвер с известной уязвимостью (чаще всего LPE — Local Privilege Escalation или Arbitrary Memory Read/Write).
  2. Подготовка — скачивается старая версия драйвера, всё ещё имеющая действительную цифровую подпись.
  3. Доставка — драйвер загружается на целевую машину (через фишинг, вредоносный установщик, USB-носитель).
  4. Загрузка драйвера — злоумышленник устанавливает драйвер в систему. Windows принимает его, так как подпись валидна.
  5. Эксплуатация уязвимости — вызываются функции драйвера с crafted-параметрами, что позволяет записывать или читать произвольные области памяти ядра.
  6. Достижение цели — отключение EDR/антивируса, внедрение руткита, кража паролей, шифрование файлов и т. д.

Условный псевдокод эксплуатации

HANDLE hDriver = CreateFile("\\\\.\\VulnDriver", ...);
DeviceIoControl(hDriver, IOCTL_CODE, &Payload, sizeof(Payload), ...);
// Payload — структура, позволяющая записать шеллкод в память ядра

В реальности эксплойт может быть сложнее, но принцип один: использовать уязвимый драйвер как мост между пользовательским кодом и привилегированными операциями ядра.

Почему подпись драйвера не спасает

Подпись драйвера — это гарантия его происхождения, но не безопасности. Если драйвер был подписан несколько лет назад и с тех пор не обновлялся, его уязвимости остаются активными. Windows, видя валидную подпись, допускает его загрузку, и именно это делает BYOVD таким коварным.

Известные кейсы BYOVD

  • Lazarus Group использовала драйвер DBUtil от Dell для отключения безопасности в своих шпионских кампаниях. Уязвимость позволяла напрямую обращаться к памяти ядра.
  • BlackByte Ransomware применял уязвимый драйвер от инструментов разгона видеокарт, чтобы вывести из строя EDR, а затем зашифровать данные.
  • RobinHood ransomware встраивал в себя драйвер GIGABYTE, который использовался для модификации системных процессов.
  • Slingshot APT годами эксплуатировала легитимные драйверы для скрытого присутствия в системе, обходя большинство средств обнаружения.

Методы обнаружения BYOVD

Распознать атаку BYOVD сложно, но возможно при правильной архитектуре мониторинга:

  • Логирование загрузки драйверов — события Microsoft-Windows-Kernel-PnP/Configuration и Microsoft-Windows-CodeIntegrity/Operational помогут отследить новые драйверы.
  • Сверка с блоклистами — Microsoft Vulnerable Driver Blocklist, а также сторонние списки от EDR-вендоров.
  • Поведенческий анализ — EDR должен отслеживать нетипичную активность драйверов (доступ к системным процессам, память ядра, отключение защитных сервисов).
  • SIEM-корреляция — связывание событий загрузки драйвера с другими аномалиями (например, внезапным отключением антивируса).

Как защититься от BYOVD

Для корпоративной среды

  • Включить HVCI (Hypervisor-protected Code Integrity) и Memory Integrity в политиках безопасности Windows.
  • Использовать Windows Defender Application Control для белых списков драйверов.
  • Отключить возможность установки драйверов пользователями без административных прав.
  • Регулярно обновлять драйверы, включая «неприкасаемые» — BIOS, принтеры, мониторинг оборудования.
  • Внедрить блоклисты уязвимых драйверов и их обновление через GPO.

Для домашних пользователей

  • Скачивать драйверы только с официальных сайтов производителей.
  • Удалять старые версии драйверов при обновлении.
  • Включить опцию «Целостность памяти» в настройках Windows Security.
  • Не устанавливать подозрительное ПО для разгона, мониторинга или «оптимизации» системы.

Технические приёмы защиты

В дополнение к стандартным мерам, можно использовать:

  • Сканирование системы утилитами VulnerableDriverBlocker или аналогами.
  • EDR с функцией Device Control, блокирующей загрузку неподписанных и устаревших драйверов.
  • Аппаратную виртуализацию для изоляции критичных процессов.

Заключение

Bring Your Own Vulnerable Driver — это не просто хакерский трюк, а зрелая техника, применяемая как киберпреступниками, так и APT-группами. Она использует слабое место в цепочке доверия Windows — слепое принятие подписанных драйверов. И пока корпорации и пользователи не начнут относиться к драйверам так же внимательно, как к обновлениям ОС, атаки BYOVD будут продолжаться.

Красная или синяя таблетка?

В Матрице безопасности выбор очевиден.