Если вы не впервые посещаете сайт spy-soft.net, то наверняка уже слышали про BadUSB и подобные атаки, основанные на эмуляции легитимного устройства ввода при офлайновых атаках. Но если про сам BadUSB знают все, то встроенная в ядро Linux защита от этого далеко не настолько известна. Далее покажу, как с помощью USBGuard защититься от BadUSB.
Еще по теме: Как защититься от BadUSB на Windows
Защита от атаки BadUSB
Пожалуй, лучшей защитой тут можно считать специализированные программные решения, разрешающие подключение только заранее утвержденных устройств из списка (white list). У каждого USB-устройства существует свой уникальный VendorID и ProductID, перечень которых указывается в white list. Все остальные USB-устройства, включая и BadUSB-флешки, не будут опознаны ОС.
Эта мера прекрасно защищает не только от BadUSB, но и от ряда других атак и в целом способна уберечь рабочие компьютеры от массы нежелательных последствий.
Обучать персонал, чтобы повысить его осведомленность в вопросах информационной безопасности, тоже не будет лишним, так как атака BadUSB главным образом социальная и пользователи сами создают угрозу, подключая незнакомое устройство к своим компьютерам.
Также руководителям компаний можно рекомендовать периодически осматривать рабочие места сотрудников и проверять, не подключены ли посторонние устройства.
Защита от BadUSB на Linux с помощью USBGuard
Механизм USB Device Authorization был добавлен в ядро в далеком 2007 году и принес возможность создавать правила и черно‑белые списки USB-устройств, которым можно и нельзя подключаться к конкретной машине.
Тем не менее удобного штатного способа настройки этой защиты до недавних пор не существовало.
Теперь у нас есть USBGuard — комфортный способ предотвратить атаки с USB на вашу линуксовую машину.
Установка USBGuard относительно проста. Сначала устанавливаем зависимости:
1 2 3 4 5 6 |
sudo apt install --no-install-recommends -V \ asciidoc autoconf automake bash-completion build-essential catch2 \ docbook-xml docbook-xsl git ldap-utils libaudit-dev libcap-ng-dev \ libdbus-glib-1-dev libldap-dev libpolkit-gobject-1-dev libprotobuf-dev \ libqb-dev libseccomp-dev libsodium-dev libtool libxml2-utils \ libumockdev-dev pkg-config protobuf-compiler sudo tao-pegtl-dev xsltproc |
Затем скачиваем исходный код из репозитория, переходим в папку с ним и выполняем следующее:
1 2 3 4 |
./configure make make check sudo make install |
Перед первым запуском нужно сделать некоторую настройку, чтобы не оказаться без клавиатуры перед собственным компьютером.
Сгенерируйте набор правил для разрешения уже подключенных устройств:
1 |
sudo sh -c 'usbguard generate-policy > /etc/usbguard/rules.conf' |
Теперь можно запускать демон.
1 |
sudo systemctl start usbguard.service |
Если ничего не взорвалось и ваша клавиатура все еще работает — добавьте сервис в автозагрузку:
1 |
sudo systemctl enable usbguard.service |
На мой взгляд — полезный инструмент. Лучше решения для защиты Linux от BadUSB на Linux, мне неизвестно.
РЕКОМЕНДУЕМ:
- Используем смартфон как BadUSB
- BadUSB Rubber Ducky с управлением через GSM
- Как сделать USB Rubber Ducky на Digispark за 3$