Linux内核准备彻底放弃USB RNDIS协议的支持 因为真的没太多用户还不安全
USB RNDIS (远程网络驱动程序规范接口协议) 是微软在 Windows XP 时代使用的协议,该协议旨在通过 USB 提供虚拟以太网链路方便设备进行联网。
尽管微软还在对该协议进行更新但目前大多数用户已经不再使用这类协议,有鉴于此 Linux 基金会研究人员 Greg Kroah-Hartman 准备将其从 Linux Kernel 里禁用。
最初在 2022 年 11 月 Greg Kroah-Hartman 就提议从 Linux Kernel 中删除 RNDIS 协议,不过当时这个提议还没有获得大多数开发者的支持。
现在这个提议被再次提出而且此次可能会获得大多数开发者同意,也就是最终结果是 Linux Kernel 将彻底禁用该协议未来不再提供支持。
Greg Kroah-Hartman 在提议中表示:
Microsoft RNDIS 协议在设计上就是不安全的,并且对于任何将其与不受信任的主机或设备一起使用的系统来说都是易受攻击的。由于该协议不可能保证安全,因此只需要禁用所有 RNDIS 驱动程序即可防止任何人再次使用该协议。Windows NT 系统只需要在 XP 及之后的系统上使用此功能,比 XP 还古老的 Windows 系统可以使用普通的 USB 类协议,而这些 USB 类协议不存在这些安全问题。另外 Android 系统多年前就禁用了这个功能,因此应该没有任何实际系统仍然需要此功能。
RNDIS 协议是一种独立于总线的消息协议,用于动态即插即用 (PnP) 总线例如 USB、1394、蓝牙和 InfiniBand 上的以太网 (IEEE 802.3) 网络设备,这种标准化方法可以让一组主机驱动程序通过 USB 支持任意数量的网络设备。
目前该协议的最新版本是 6.89 版,微软在 Windows 10 和 Windows 11 里仍然支持该协议,包括最新的 Windows 11 24H2 都支持,但考虑到大多数用户都用不上,所以 RNDIS 驱动程序不会被系统默认安装。