早在2023年1月,就有人試圖禁用微軟協議的內核驅動程序。遠程網絡驅動程序接口規范(RNDIS)是這一協議的安全隱患所在,它建立在USB虛擬以太網功能之上。今年晚些時候,有人再次嘗試在Linux上禁用RNDIS,但沒有成功。最近幾天,似乎又有人試圖禁用RNDIS驅動程序支持。
遠程 NDIS (RNDIS) 是微軟開發的用於為連接到 USB 總線的網絡設備編寫 NDIS 微型端口設備驅動程序。 遠程 NDIS
通過定義與總線無關的消息集並描述此消息集如何在 USB 總線上運行來實現此目的。 由於此遠程 NDIS
接口是標準化的,因此一組主機驅動程序可以支持連接到 USB 總線的任意數量的網絡設備。
最近幾天,Greg Kroah-Hartman 恢復他的"rndis-removal"分支,作為 USB 子系統 Git 樹的一部分。雖然現階段並不是真正"移除"RNDIS,而隻是修改 Kconfig 以防止驅動程序被輕易編譯。一旦該分支進入 Linux 內核主線,幾個月後如果沒有問題,就可以從 Linux 內核中實際刪除 RNDIS 驅動程序。
補丁說明中對這一改動的描述依然如故:
"微軟的 RNDIS 協議在設計上是不安全的,在任何與不信任的主機或設備一起使用該協議的系統上都存在漏洞。 因為該協議不可能做到安全,所以隻需禁用所有 RNDIS 驅動程序,以防止任何人再次使用它們。Windows 隻有 XP 及更新版本的系統需要這樣做,比它更早的 Windows 系統可以使用普通的 USB 類協議,而這些協議不存在這些問題。
Android 已禁用該協議多年,所以應該不會有真正的系統仍然需要這樣做。"
考慮到時間因素,我們將拭目以待rndis-removal 代碼是否會在即將到來的 Linux v6.9 內核合並窗口中提交,以嘗試將這些老化的代碼從內核中移除。