Greg Kroah-Hartman 是 Linux 基金会的一名研究员,他似乎准备最终一劳永逸地禁用 USB RNDIS 协议驱动程序。有趣的是,Hartman 想从 Linux 中移除 RNDIS 位已经有一段时间了,因为最初的提议是在 2022 年 11 月 23 日提出的。
现在,仅仅两年多之后的 2024 年 12 月 23 日,该提交终于再次被推送。在随附的信息中,Hartman 解释了这个古老的 Windows XP 时代的微软协议是如何不再需要,以及它如何使系统变得不安全和易受威胁。他写道:
USB:禁用所有 RNDIS 协议驱动程序
微软 RNDIS 协议在设计上就不安全,在任何使用该协议的系统和不受信任的主机或设备上都存在漏洞。由于无法确保协议安全,因此只需禁用所有 RNDIS 驱动程序,防止任何人再次使用。Windows XP 及更新版本的系统才需要这样做,比它更早的 Windows 系统可以使用普通的 USB 类协议,不会出现这些问题。安卓系统已禁用此功能多年,因此应该不会有真正的系统仍需要此功能。
您可以在 LKML 公共收件箱中找到该提交:
对于那些不太熟悉的人来说,RNDIS 或远程网络驱动程序接口规范是一种独立于总线的消息协议,适用于 USB、1394、蓝牙和 InfiniBand 等动态即插即用(PnP)总线上的以太网(IEEE 802.3)网络设备。这种标准化方法意味着一套主机驱动程序可以通过 USB 支持任意数量的网络设备。
如上所述,微软早在 Windows XP 时代就推出了这一规范,现在仍然支持的 Windows 10 和 Windows 11(包括最新版本 24H2)上也仍然有这一规范。不过幸运的是,RNDIS 驱动程序不会自动安装到 Windows 10 和 11 上。
如果您好奇,Windows 11 24H2 支持 NDIS 6.89 版本。