USB驱动器固件为何故意设计为不安全?

本文探讨了USB驱动器固件为何通过USB接口可修改的安全漏洞,分析了制造商可能出于成本考虑和用户安全意识不足而保留此设计,并讨论了生产过程中固件更新的实际需求。

问题

为什么绝大多数USB驱动器故意设计为不安全(即固件可通过USB接口修改)?

早期问题的答案和评论已经明确表明,USB驱动器的固件可以通过USB接口进行修改(因此,仅将其插入受感染的计算机就可能将其变成“BadUSB”)。这引出了一个后续问题:为什么绝大多数USB驱动器要这样设计?为什么制造商故意交付在设计上存在易于修复的安全漏洞的产品?

有多少人真正需要对其USB驱动器进行固件更新?基本上从来没有。为什么不将固件设置为只读?或者至少有一个物理开关可以使其只读?

如果必须推测当前现状的原因,可能是制造成本和消费者无知的结合。具体来说:

  • 将其设置为只读可能会增加一两美元的生产成本(因为您需要在最终设备组装之前对EPROM进行编程,或者需要内置物理只读开关)。
  • 消费者不会关心这样的功能(主要是由于对安全问题的无知)。 因此,制造商不愿意承担即使是一两美元的额外成本,而这不会得到消费者的回报。

至少,这是我的推测。但是有人知道制造商故意交付具有易于避免的安全漏洞的USB驱动器的真正原因吗?

评论与讨论

  • 有人提出反问:制造商为什么要关心?他们显然没有亏损,允许固件重写使他们能够在需要时更新库存,而不是全部扔掉。如果他们添加加密验证,实际上会增加额外成本。
  • 开发者指出,在开发过程中,确实需要使用多个固件。开发团队可能使用示波器、调试引脚等工具,这与生产环境不同。可能更容易不通过熔断器禁用该功能。
  • 另有人评论,人们关心软件的安全性,但关心硬件安全性的人不够多。那些关心的人通常是大型企业,并且他们的威胁模型非常不同。

相关标签

恶意软件、USB驱动器、BadUSB、感染途径

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计