USB 鼠标是否具有可用于存储恶意软件的内存?

电器工程 记忆 非易失性存储器 老鼠
2022-01-19 18:08:36

我担心这可能会被标记为过于宽泛,但在这里:

最近我一直在考虑在外围设备上加载数据的可能性。最常用的外围设备之一是鼠标。我意识到有 101 种方法可以构建鼠标。为了将我的问题细化为几个,我提出以下问题:

  1. 是否可以构建没有内存的鼠标?如果是这样,通常会看到鼠标没有内存吗?
  2. 假设鼠标确实有内存(如果这不是一个现实的假设,请指出),通常只看到 ROM 类型的内存吗?内存可以像CMOS内存一样闪存吗?
  3. 有没有人从鼠标的内存中看到计算机攻击/恶意软件攻击?

我问第三个问题是因为我最近一直在想的是各种高级持续性威胁所执行攻击的概括。

4个回答

许多 USB 外设包括基于闪存的微控制器。虽然基于掩模 ROM 的微控制器更便宜,但使用基于闪存的微控制器可以使制造商拥有一个可以用于各种 OEM 产品的电路板,每个产品都报告其销售名称。一些外围设备包括允许从 USB 端口重新编程的固件;以这种方式配置它们将允许制造商以适合其最大批量客户的方式对零件进行预编程,并根据其他客户的需求对其进行重新编程。

如果鼠标碰巧包含闪存微控制器,则恶意人员可能会对其进行重新编程以充当恶意软件感染设备。由于大多数鼠标不太可能使用特别大的微控制器,因此如果需要鼠标用作鼠标,则可能没有恶意软件的空间。另一方面,某些恶意软件可能会识别出易受攻击的鼠标并对其进行重新编程,使其不再像鼠标一样工作,而是在插入未受感染的机器时充当邪恶的代理人[关于鼠标停止工作的人可能会在另一台计算机上测试它的理论]。

一般来说,设计一个 USB 外设并不难,一旦加载了最终固件,就不能从 USB 端口重新加载它,但是没有通用的方法来区分不受重新编程的设备和不受重新编程的设备。不。还可以设计一个带有显示器和一些按钮的“智能 USB 集线器”,当插入设备时,这些按钮会指示设备声称的内容,在计算机可以看到设备之前要求确认,并且将设备的通信限制在其类型已获批准的设备上,但我不知道是否有任何此类智能集线器设备可用。

USB 键盘可用于在 PC/Mac 上做有趣的事情。您可以将 USB 键盘和鼠标组合成一个 HID,例如使用微控制器。

便宜的 USB 鼠标仍应使用不可重新编程的 ASIC,恕我直言,因为屏蔽 ROM 的成本低于闪存。

是的,在网络攻击中绝对可以使用鼠标(以及一般的 USB 设备)。

无论廉价鼠标拥有何种内存类型,通常都无法通过 USB 接口对其进行修改,因此攻击者需要物理访问将用于攻击的鼠标。因此,制造一个模仿鼠标并具有大量内存(可能还有一些无线收发器)的定制设备通常比重用内存少、处理能力小且没有无线接口的真实鼠标更容易。

有些设备更适合这种目的。例如,大多数 SD 卡都有非常强大的控制器,并且固件通常是可升级的,受某种密码保护。此类密码为开发和测试团队所熟知,并不意味着密码安全。经常使用像 DEADBEEF 或 600DCOFFEE 这样的 leetspeak 短语。一旦你控制了一张 SD 卡,就不需要额外的努力来获取敏感数据,你所要做的就是过滤它。同样,USB 键盘也是密码窃取的天然候选者。说服计算机向鼠标发送文件或密码要困难得多。

将配置数据存储在自己的硬件上的鼠标绝对有可能。考虑一些昂贵的游戏鼠标——它们通常带有一个软件,可以让你编辑板载配置,这样你就可以用鼠标上的一个特殊按钮来切换它们。一些鼠标方便地具有自动安装功能,就像您在移动互联网 USB 记忆棒上看到的那样。从那时起,它取决于目标计算机的安全参数。如果它启用了自动运行,则受感染的鼠标可以静默安装恶意软件,依此类推。