是否有任何设备被释放,以防止BadUSB攻击?
我特别感兴趣的是购买USB集线器,它具有以下保护措施:
有没有任何硬件设备做类似的事情来防御BadUSB?
发布于 2015-08-18 21:39:00
我希望有人用确凿的论据反驳我,但是“USB集线器不会允许固件写命令到连接到它的设备上”:这似乎是一个错误的假设,使得所有硬件BadUSB保护系统都消失了。
确实有一个相关的,非常有信息的帖子:如何检查我的USB棒固件是否可以通过棒固件是否可以通过端口重写?。人们可以在那里了解到,没有通用的“写”命令:每个供应商都为此目的使用自己的命令。更糟糕的是:对于一些供应商来说,我们应该更多地谈论“技巧”而不是实际的命令,LvB提到“USBS棍或USB在写入一个极端地址时,而不是写到磁盘上,而是写到内部内存中”。
这样的硬件怎么能过滤一些无法检测到的东西,并且仅仅是正常设备通信流的一部分?
发布于 2015-09-28 13:24:51
我认为这是不可能的。当USB发明时,它被用来取代繁琐的通信方式,如并行和串行电缆,专有接口和标准化的电缆和插头。它还将通过标准化底层驱动程序模型来解决编程问题,从而使驱动程序能够更容易地编程。
最后,我想说USB的存在是因为它具有热插拔功能。这无疑是当今计算机最舒适的功能之一。我记得,如果您忘记在启动时插入键盘(例如服务器),那将是多么痛苦:其中一些人需要完全重新启动才能检测PS/2键盘。
那时还没有人在考虑安全问题。USB棒是不存在的,所有连接到USB的设备或多或少都很愚蠢。因此,USB不使用标准的方式闪烁固件或检测“非法”行为。
USB集线器是一种非常愚蠢的设备:它处理新设备的热插拔-插入通信(AFAIK,在短期内强行中断所有其他设备)和删除。它可以看到什么是设备的功率要求,并禁止一个新的设备成为在线,如果它吸引了太多的权力。S基本上都是这样的,S就像这样:他们可以很便宜,而且速度非常快。
USB集线器不会检查S通过的数据,控制器也不会检查。它根本就不是设计用来做的,而且它也没有写在任何规范中。现在人们可能会争辩说,限制端口使用仅允许某些类可以与规范兼容,但是:类设备也很复杂:想象一下组合式鼠标/键盘无线发射机。它将显示为多设备,同时暴露一个鼠标和一个HID组件.它们中的大多数都可以与基本OS驱动程序一起运行,但也可以与特定供应商的软件一起使用,以允许额外的功能键或较高的DPI费率等增强功能。我喜欢我的Roccat游戏鼠标,例如有3200 dpi。因此,在注册为类设备之后,如果在PC上安装了正确的驱动程序,它就会以某种方式切换模式。
所有其他东西都必须由操作系统来处理。允许或不允许加载驱动程序完全掌握在操作系统核心的手中。市场上有软件可以控制USB端口的使用,这些端口可以以你想要的方式运行。
IMHO您试图修复错误的问题:如果您关心USB安全,您应该关闭所有USB端口,或者查找/要求能够在操作系统级别上实现您想要的策略的操作软件。例如,Linux可以通过自定义内核被限制为只使用cvertain驱动程序。
https://security.stackexchange.com/questions/92131
复制相似问题