EN FR ES PT DE AR 中文

插上鼠标,Windows就替你装了软件:没人稽核的供应链缺口

只要把外设接上Windows电脑,系统就会自动下载并以高权限运行厂商代码,事前没有审查,事后没有记录。真正能关掉这道口子的开关,是一条极少有企业设置过的组策略路径,因为这个品类从来没人认领。

问一句“外设这个软件品类归谁管”,答案会被踢来踢去。终端团队说鼠标和显示器属于采购范畴,采购部门把它们归进办公用品清单。这两个答案之间,藏着一个不太舒服的事实:驱动自动安装机制,让企业里的每一件外设都成为一段活跃的代码交付关系,操作系统是撮合方,设备厂商则是一个从未被评估过的软件供应商。把任何设备插进Windows电脑,系统都会读取它的硬件ID,去查找匹配项,然后下载厂商注册的“配套软件”,以高权限运行,事前没有审查,事后没有记录。你的软件供应链审查覆盖安装包、包管理器和应用商店;你的硬件资产清单覆盖资产标签和折旧年限。设备插入这个动作,理应同时出现在两份清单上,实际上却不在任何一份的稽核范围内。

插上USB设备时,Windows到底做了什么?

每个USB设备接入时都会上报一个身份标识。Windows会拿这个标识去比对厂商提交的软件目录,然后安装找到的内容:一个通过Windows Update分发的驱动包,往往还附带一个由微软商店代为拉取的配套“硬件支持App”。这里面确实有设备正常运行所需的部分,剩下的,就是厂商愿意顺路搭载的任何东西:控制面板、更新程序、账号登录弹窗、后台服务。操作系统从不在两者之间划出清晰界限,用户也从未被给予一个可以拒绝的节点。一个绝不会随便下载运行陌生程序的用户,面对系统自动发起的安装,往往想都不想就点了“允许”。这条通道之所以天然被信任,是因为用户默认“系统在中间把关,就等于系统做过审查”,而这份默认信任,恰恰把捆绑在里面的一切都“洗白”了。

这份“把关”假设是可以核实的,因为审核流程本身是公开的。厂商若想让商店App与驱动配对,需要向微软硬件支持应用审核团队发一封邮件,附上一份简短问卷:这个能力需要调用哪些系统资源、数据事件是否会离开设备发送给合作方、是否涉及个人身份信息。审核通过后,微软会返回一个“能力字符串”,并签发一份描述文件,授权指定App调用该能力。翻开微软给驱动开发者的官方操作指引就会发现,这套流程的本质,是一次针对“App能碰什么”的权限审查,而不是对同一个签名安装包里其他内容的审计。更新程序、遥测采集、捆绑推广,全都从一扇为完全不同问题而设的门里一并溜了进来。

一旦这个安装包本身有缺陷,插入设备这个动作就会变成一次可利用的漏洞。2021年8月,一名安全研究员演示了只需插入一只雷蛇(Razer)鼠标,就能让Windows 10自动拉取Razer Synapse安装程序,并以SYSTEM权限运行。安装向导里的文件夹选择器可以直接打开一个PowerShell窗口,而这个窗口继承的正是SYSTEM权限。任何一个普通权限用户,只要有一只几十元的雷蛇设备,甚至只是一部伪装成雷蛇硬件ID的手机,就能拿到整台电脑的最高控制权。几天之内,赛睿(SteelSeries)的配套软件也被曝出同类漏洞。问题从来不在设备本身,而在硬件ID所召唤出来的那个安装程序。

而当出问题的是撮合机制本身,波及的就是整个机队。2023年12月,大量Windows电脑开始把所有已安装打印机的名称统一改成“HP LaserJet M101-M106”,并从微软商店拉取HP Smart应用,其中不少电脑上根本没有接任何惠普设备,原因是错误的设备元数据让Windows误判这些打印机都是惠普产品。微软在2024年1月给出的解决方案,是发布一个专门的移除工具——微软打印机元数据疑难解答工具:这个工具唯一的职责,就是卸载操作系统自己安装上去的软件。这正是这条通道“正常工作”的样子,只是这次瞄错了元数据。

企业能不能关掉Windows的驱动自动安装?

能关一部分,而“一部分”具体是哪部分,很关键。所有版本(包括家庭版)都藏着一个面向普通用户的开关(系统属性,硬件,设备安装设置),可以阻止Windows下载厂商的配套App和自定义图标,但它管的只是装饰性附加项,管不了核心机制。真正有约束力的设置在组策略里,路径是计算机配置,管理模板,系统,设备安装,而组策略只随专业版、企业版和教育版提供,家庭版没有。“阻止通过Internet检索设备元数据”能阻断Windows悄悄拉取厂商软件清单的行为;在其下的“设备安装限制”文件夹里,“允许安装与这些设备ID匹配的设备”配合“阻止安装未被其他策略描述的设备”,可以把默认的“全部放行”反转成白名单模式:只有被批准的硬件才能装,其余一律拦截,微软官方文档对此有详细说明

那这份白名单为什么始终没人设?因为它会把一个原本悄无声息的默认行为,变成一堆看得见的工作量,而这份工作量从来没有被写进任何人的预算。把上线流程在脑子里过一遍:从第一天起,每一款还没被列入白名单的外设都会变成一张支持台工单。共享工位的扩展坞、会议室的摄像头、某位高管从家里带来的键盘,都会在头几周引发一波工单高峰,之后每次硬件更新换代都会拖出一条长尾,而这份名单本身还需要有人永远维护下去。我们没有找到关于企业实际执行情况的公开调查数据,所以这里只是行业观察,而非严谨统计:在我们接触到的企业环境里,这类策略普遍处于未设置状态,不是因为有人权衡过工单成本和风险敞口之后选择放弃,而是因为压根没人来做这个决定。这正是治理失灵最典型的缩影:管控手段是现成的、免费的,缺的只是一个负责人的名字。

当键盘鼠标拥有管理员权限

为什么配套安装程序总是变成提权漏洞的高发地?因为设备插入时触发的软件安装,本身就需要高权限运行,这是安装驱动的硬性要求。这意味着每一个这样的安装程序都是攻击面,而没有任何理由假设一家外设厂商写的控制面板向导,能达到它所紧邻的系统内核那样的代码质量。雷蛇那个漏洞并不是什么精巧的攻击手法,只是一个文件对话框在错误的权限层级上开给了错误的用户。于是威胁模型被彻底颠倒:一件外设不需要恶意固件,也不需要被植入后门就能造成危害,它只需要一个能召唤出脆弱安装程序的硬件ID。插入设备这个动作,就成了攻击的第一步,由受害者亲手完成,还是平台一路“鼓励”着完成的。

这件事的次生影响,最终落在采购环节。如果一家外设厂商本质上是软件供应商,就该按软件供应商的标准去采购:问清楚配套软件包到底做了什么、会把什么数据发回厂商、更新机制是怎样的、如果拒绝安装会不会影响设备使用。这些问题不需要花一分钱去问,却比任何策略开关都更能改变厂商的行为,因为它作用在激励机制上,而不只是技术开关上。这正是技术战略里不那么光鲜、却最见真章的部分:搞清楚代码究竟从哪里真正进入你的IT环境,而不是组织架构图上写的那个入口。这个模式也不止适用于外设。任何一条能以委托权限、未经审查就执行第三方代码的通道,本质上都是同一种治理问题,只是换了一身外壳;我们在讨论能直接操作你基础设施的智能体系统时,用的也是同一套论证。信任撮合方,从来不等于审查了它撮合来的东西。

该做的事其实不多。先查清楚你的机队是否真的配置了设备安装限制,如果得到的答案是“不知道”,这本身就已经说明问题。给这个品类指定一个负责人,配一份工单预算。像对待安装程序启动一样,认真记录设备接入事件的日志。下次有人告诉你“显示器不过是个显示器”的时候,反问一句:它到底装了什么。

常见问题

插入USB设备时,Windows会自动安装软件吗?

会。Windows会解析设备的硬件ID,安装匹配的驱动包,其中可能包含厂商与驱动一并注册的任何配套软件,通过Windows Update或微软商店分发。驱动是必需的,其余部分则完全由厂商决定,而这两者在运行之前,都没有经过你所在企业的任何审查。

企业如何阻止厂商配套App随驱动一起安装?

在支持组策略的版本(专业版、企业版、教育版)中,相关设置位于计算机配置,管理模板,系统,设备安装。“阻止通过Internet检索设备元数据”可以阻断厂商软件包信息的自动拉取;在“设备安装限制”文件夹里,“允许安装与这些设备ID匹配的设备”配合“阻止安装未被其他策略描述的设备”,能把默认的开放策略变成白名单模式。要提前预留支持台工单的预算:在白名单成熟之前,每一款尚未录入的外设都会变成一张工单,这也正是这项策略需要一个专门负责人的原因。家庭版和未纳管的设备,只能靠设备安装设置开关、标准用户权限和应用控制来做有限缓解。

便宜的或无品牌的外设,接入办公电脑会更危险吗?

价格和品牌其实都不是可靠的判断依据:2021年那次SYSTEM级别提权漏洞出自雷蛇这样的知名品牌,2023年惠普HP Smart的自动安装事故甚至波及了完全没有惠普设备的电脑。真正的风险在于硬件ID召唤出的软件本身,所以一个陌生标识拉起一个陌生的高权限安装程序,才是最坏的情况,与价格高低无关。务实的做法是:采购外设时,用采购软件供应商的那套问题去问一遍,因为设备一旦接入,厂商实质上就成了软件供应商。

相关阅读

本文由 Abyshire 专有编辑系统的 AI 编辑角色撰写,并经我们的团队审核。