/etc/udev/rules.d/10-usb-deny.rules 中的 udev 规则是:
ACTION=="add", ATTR{bInterfaceClass}=="*" \
RUN+="/bin/sh -c 'echo 0 >/sys$DEVPATH/../authorized'"
ACTION=="add", ATTR{bDeviceClass}=="*" \
RUN+="/bin/sh -c 'echo 0 >/sys$DEVPATH/../authorized'"
足以防止 BadUsb 攻击吗?
深入挖掘一下兔子洞:USB 存储驱动程序处理的任何内容都遵循该规则。因此,拇指驱动器到 USB-SSD 仍然是一个威胁。
添加:
install usb-storage /bin/true
到 /etc/modprobe.d/usb-storage.conf
如果我想安全起见,下一个显而易见的事情就是要做。
兔子洞甚至更深:任何具有文件系统的东西都会通过该规则,并且可以由 USB 设备激活。因此 CD/DVD 和 SD 卡可能是最常见的要阻止的硬件。
添加:
install cdrom /bin/true
到 /etc/modprobe.d/cdrom.conf
和
install mmc-core /bin/true
到/etc/modprobe.d/mmc-core.conf
将阻止 CD/DVD 和 SD 卡。这三个 fakeinstalls 在标准硬件上应该足够了。
在笔记本电脑或具有 SSH 访问权限的系统上,您也可以使用 fakeinstall
USB核心和mmc核心
因为在那里你不需要键盘或鼠标。