Формирует правила для udev, системного демона, который следит за устройствами в системе. Правила формируются так, что добавление неизвестных ранее usb-устройств или извлечение определенных заранее вызывает некоторые действия, например выключение компьютера, затирание файлов и т.п. Простыми словами, для примера, если кто-то воткнет без вашего ведома флешку, компьютер взрывается на хуй выключается. Вдохновлялся usbkill, у которого есть ряд недостатков. В частности, usbkill постоянно висит в памяти, что избыточно при наличии udev. Также мое решение учитывает больше параметров для устройств, поэтому для атакующего будет недостаточно иметь например флешку той же модели, нужно будет узнать и подделать серийник. Написано на баше, только для линукса. Установка: wget https://raw.githubusercontent.com/trpt/usbdeath/master/usbdeath chmod +x usbdeath Конфиг Скрипт поставляется в безопасном режиме, когда просто пишется лог. Для отключения нужно закомментировать соответствующую строку (demo='yes') в самом скрипте, а также по желанию переопределить, что будет запускать скрипт при срабатывании (по умолчанию это две команды sync и poweroff). Помимо этого есть еще несколько параметров, которые можно поменять, смотрите код. Как пользоваться usbdeath action где action: o, on - активировать usbdeath x, off - временно деактивировать usbdeath j, eject - добавить правило на извлечение usb устройства g, gen - сгенерировать или обновить белый список устройств d, del - удалить правила udev e, edit - вручную редактировать файл правил s, show - показать инфу о подключенных устройствах Желательно положить скрипт в PATH и не перемещать/переименовывать его после активации, т.к. правила пишутся с учетом абсолютного пути до скрипта. Это поведение можно изменить, см. код. Примеры Выясняем, что подключено, на всякий случай usbdeath show Первый запуск, генерируем белый список устройств из уже подключенных usbdeath on Также добавляем правило на извлечение устройства, выбираем из списка usbdeath eject Итак, usbdeath активирован. Но тут нам надо вставить доверенное устройство, так что временно вырубаем usbdeath usbdeath off И тут мы понимаем, что неплохо бы подключенное устройство добавить в белый список usbdeath gen После чего опять активируем usbdeath usbdeath on Мы же мамкины хацкеры, поэтому думаем, что можем редактировать правила udev вручную usbdeath edit Но тут пришла младшая сестра и все запорола, нихера не работает и т.д. Удаляем правила совсем и начинаем все с чистого листа usbdeath del Зависимости bash современный линупс дистр с udev и, вероятно, systemd Тестировалось в Arch Linux