早在2023年1月,就有人试图禁用微软协议的内核驱动程序。远程网络驱动程序接口规范(RNDIS)是这一协议的安全隐患所在,它建立在USB虚拟以太网功能之上。今年晚些时候,有人再次尝试在Linux上禁用RNDIS,但没有成功。最近几天,似乎又有人试图禁用RNDIS驱动程序支持。
远程NDIS(RNDIS)是微软开发的用于为连接到USB总线的网络设备编写NDIS微型端口设备驱动程序。远程NDIS通过定义与总线无关的消息集并描述此消息集如何在USB总线上运行来实现此目的。由于此远程NDIS接口是标准化的,因此一组主机驱动程序可以支持连接到USB总线的任意数量的网络设备。
最近几天,GregKroah-Hartman恢复了他的"rndis-removal"分支,作为USB子系统Git树的一部分。虽然现阶段并不是真正"移除"RNDIS,而只是修改Kconfig以防止驱动程序被轻易编译。一旦该分支进入Linux内核主线,几个月后如果没有问题,就可以从Linux内核中实际删除RNDIS驱动程序。
补丁说明中对这一改动的描述依然如故:
Windows只有XP及更新版本的系统需要这样做,比它更早的Windows系统可以使用普通的USB类协议,而这些协议不存在这些问题。
Android已禁用该协议多年,所以应该不会有真正的系统仍然需要这样做了。"
考虑到时间因素,我们将拭目以待rndis-removal代码是否会在即将到来的Linuxv6.9内核合并窗口中提交,以尝试将这些老化的代码从内核中移除。