Lot of posts about badUSB (here and there) suggest to use a PS/2 connector for mouse and keyboard or to whitelisted USB devices or even use a hardware firewall that only allows whitelisted commands.

The purpose is to protect the usb device (specifically here a wired keyboard and mouse) firmware from being editing when switching between computers. The easiest solution is to use non-upgradable device (with ROM and not flash memory to store the firmware). But as suggested it's really hard to know which memory is used from a specific vendor.

  • So first, is there any known vendor that sell non-upgradable USB peripheral ? (But of course the security will only rely on the vendor that claims to use such a configuration).

  • Alternatively, hardware devices exist, such as the USG firewall for USB, which only allows whitelisted commands to pass through. However, as each vendor can implement the commands the way it wants to, can such a device prevent a firmware update that runs under "normal" commands (for example special arguments used with "write function" will start the update) ? And has anyone used that device before ?

  • I've already seen that answer but I was hopping to find a more reliable way than testing. – Ben W Jan 18 at 13:12
  • Sadly, that answer is pretty much all there is. There are no more reliable ways than (potentially very exhaustive and time-consuming) testing to find out if a USB flash drive has non-writable firmware. – forest Jan 18 at 22:31

You maybe need to disassemble the device in order to figure out if the firmware can be upgraded. A cheap mouse or keyboard is usually "safe" more expensive aka more feature rich ones can be upgraded sometimes. For flash drives there are some open source versions like the nitrokey and others where you can flash your own firmware and afaik write protect it. Some other vendors like ironkey or datashur claim no one or only they themselves can flash new firmware.

  • How exactly could you figure out if firmware could be upgraded by disassembling it? Just because the firmware is stored in non-volatile writable memory does not mean you can write to it. – forest Jan 18 at 5:11

Not the answer you're looking for? Browse other questions tagged or ask your own question.