如何在没有 Grsecurity 补丁的情况下在运行时灵活启用和禁用插入新的 USB 设备(运行负责这些设备的驱动程序代码)?
是否有其他方法或具有此功能的替代内核补丁?
重新打开:关于提出的重复问题的差异和评论如何安全地将 USB 记忆棒/设备插入 Linux 计算机?
- 链接的问题询问总是选择性地接受某些设备,这个问题询问在选定的时间接受所有设备(并在其他时间拒绝任何事情)。
- 主要答案(USBGuard)是用户态解决方案。它似乎只能阻止 udev 操作。它不太可能阻止扫描块设备以查找分区、创建网络接口并查询其元数据或注册某些
/dev/input/eventX
节点。内核中的攻击面似乎暴露了。 - 另一个答案部分链接到 Grsecurity,这个问题的陈述明确排除了这一点。
据我记得,有计划让屏幕锁定的桌面 Linux 系统在屏幕解锁之前不接受任何 USB 设备。这意味着某处可能有一些关于此的补丁。
这是我的 Linux 内核版本 4.19.18 的补丁:
它基于来自 Grsecurity 的代码。它使用
/proc/sys/dev/deny_new_usb
而不是/proc/sys/kernel/grsecurity/deny_new_usb
.