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 будут продолжаться.

310K
долларов
до 18 лет
Антипов жжет
Ребёнок как убыточный
актив. Считаем честно.
Почему рожают меньше те, кто умеет считать на десять лет вперёд.

FREE
100%
Кибербезопасность · Обучение
УЧИСЬ!
ИЛИ
ВЗЛОМАЮТ
Лучшие ИБ-мероприятия
и вебинары — в одном месте
ПОДПИШИСЬ
T.ME/SECWEBINARS