hum*_*ace 4 security usb udev linux-kernel
我想知道,如果假设我连接了一个不受信任的设备(通过 USB 端口连接到我的系统),我的 Linux 系统会面临多大的风险?特别是,我担心即使我会编写udev规则来阻止除(即白名单方法)特定设备之外的任何设备,但内核仍然容易受到攻击吗?
udev 是否有能力阻止内核(假设它是模块化的)加载通常作为与 USB 设备交互的方式加载的模块?
内核能够使用USB 授权框架保护自身免受 USB 设备的侵害。您可以在启动时禁用所有主机:
\n\nfor host in /sys/bus/usb/devices/usb*\ndo\n echo 0 > $host/authorized_default\ndone\nRun Code Online (Sandbox Code Playgroud)\n\n或者甚至在处理设备之前,通过传递usbcore.authorized_default=0内核命令行来完全禁用授权(只需确保您的udev规则启用您需要启动的任何 USB 设备,例如键盘)。
一旦完成,连接 USB 设备将不会加载任何新模块或创建任何新设备。要启用新的 USB 设备,您\xe2\x80\x99 必须手动对其进行授权,然后手动触发驱动程序探测(有关详细信息,请参阅文档)。
\n