Майкл Олтфилт (Michael Altfield) предложил простое и эффективное устройство
для блокирования доступа к конфиденциальным данным в случае кражи ноутбука с
активным пользовательским сеансом. Суть метода в контроле за подключением к
ноутбуку определённого USB-устройства, прикреплённого к владельцу (аналогично в
качестве признака можно использовать достижимость Bluetooth смартфона владельца
или метку RFID).
Во время работы в общественном месте или парке на ноутбуке активируется
специальное правило UDEV, которое контролирует активность подключения к
USB-устройству. В случае отсоединения USB-устройства (когда злоумышленник
выхватил ноутбук) UDEV-правило выполняет скрипт для завершения сеанса, удаления
каталога с конфиденциальными данными, шифрования данных или отмонтирования
шифрованного раздела.
Пример udev-правила для блокировки экрана при извлечении любого USB-устройства:
sudo vi /etc/udev/rules.d/busKill.rules
ACTION=="remove", SUBSYSTEM=="usb", RUN+="DISPLAY=:0 xscreensaver-command -lock"
sudo udevadm control --reload
Для привязки к определённому USB-устройству необходимо узнать его идентификатор
(нужно подключить устройство, запустить udevadm monitor и извлечь устройство):
udevadm monitor --environment --udev
ACTION=remove
ID_MODEL="Micromax_A74"
SUBSYSTEM=usb
Модифицируем правило /etc/udev/rules.d/busKill.rules
ACTION=="remove", SUBSYSTEM=="usb", ENV{ID_MODEL}=="Micromax_A74", RUN+="DISPLAY=:0 xscreensaver-command -lock"
Как вариант предложено дополнительно использовать магнитный разъединитель
USB-кабеля, подключённый до брелока с ключами шифрования данных. Далее брелок
подсоединяется цепочкой к одежде или руке владельца. При выдёргивании ноутбука
во время работы брелок с ключами шифрования остаётся у владельца, а UDEV-скрипт
экстренно выключает устройство.
ACTION=="remove", SUBSYSTEM=="usb", ENV{ID_MODEL}=="Micromax_A74", RUN+="shutdown -h now"
Активировать правило блокировки можно автоматически при подключении
USB-устройства, добавив UDEV-правило с обработчиком ACTION=="bind"
ACTION=="bind", SUBSYSTEM=="usb", ENV{ID_MODEL}=="Micromax_A74", RUN+="/root/killcord_on.sh"
/root/killcord_on.sh
cat << EOF | tee /etc/udev/rules.d/busKill.rules
ACTION=="remove", SUBSYSTEM=="usb", ENV{ID_MODEL}=="Micromax_A74", RUN+="shutdown -h now"
EOF
udevadm control --reload
|