许多 USB 外设包括基于闪存的微控制器。虽然基于掩模 ROM 的微控制器更便宜,但使用基于闪存的微控制器可以使制造商拥有一个可以用于各种 OEM 产品的电路板,每个产品都报告其销售名称。一些外围设备包括允许从 USB 端口重新编程的固件;以这种方式配置它们将允许制造商以适合其最大批量客户的方式对零件进行预编程,并根据其他客户的需求对其进行重新编程。
如果鼠标碰巧包含闪存微控制器,则恶意人员可能会对其进行重新编程以充当恶意软件感染设备。由于大多数鼠标不太可能使用特别大的微控制器,因此如果需要鼠标用作鼠标,则可能没有恶意软件的空间。另一方面,某些恶意软件可能会识别出易受攻击的鼠标并对其进行重新编程,使其不再像鼠标一样工作,而是在插入未受感染的机器时充当邪恶的代理人[关于鼠标停止工作的人可能会在另一台计算机上测试它的理论]。
一般来说,设计一个 USB 外设并不难,一旦加载了最终固件,就不能从 USB 端口重新加载它,但是没有通用的方法来区分不受重新编程的设备和不受重新编程的设备。不。还可以设计一个带有显示器和一些按钮的“智能 USB 集线器”,当插入设备时,这些按钮会指示设备声称的内容,在计算机可以看到设备之前要求确认,并且将设备的通信限制在其类型已获批准的设备上,但我不知道是否有任何此类智能集线器设备可用。