BadUSB и как от него защищаться

  безопасностьlinux

BadUSB — это устройство, которое представляется системе клавиатурой (HID) и «печатает» заранее записанные команды. Антивирус тут почти бесполезен: с точки зрения ОС ничего подозрительного нет, просто очень быстрый пользователь.

Почему это работает

Операционные системы доверяют клавиатурам по умолчанию: драйвер HID есть везде, подтверждения не требуется. Сделать такое устройство можно на любом недорогом микроконтроллере с поддержкой USB, например на Raspberry Pi Pico.

Защита: USBGuard

USBGuard работает по принципу белого списка: разрешает только те устройства, которые уже были подключены при настройке.

sudo apt install usbguard
sudo usbguard generate-policy | sudo tee /etc/usbguard/rules.conf
sudo systemctl enable --now usbguard

В /etc/usbguard/usbguard-daemon.conf стоит проверить параметр ImplicitPolicyTarget=block: всё, чего нет в правилах, блокируется. Новое устройство можно посмотреть и разрешить вручную:

usbguard list-devices --blocked
sudo usbguard allow-device <id>

Что ещё помогает

  • блокировка экрана при уходе от компьютера: атаке нужен разблокированный сеанс;
  • физический контроль портов в общих помещениях;
  • журналирование подключений USB (journalctl -k | grep -i usb).