多くのUSB周辺機器には、フラッシュベースのマイクロコントローラーが含まれています。マスクROMベースのマイクロコントローラーは安価ですが、フラッシュベースのマイクロコントローラーを使用すると、メーカーはさまざまなOEM製品に対応できる1枚のボードを使用できるようになります。一部の周辺機器には、USBポートから再プログラムできるファームウェアが含まれています。それらをそのように構成することで、製造業者は、最も大量の顧客に適した方法で部品を事前にプログラミングし、他の顧客の要求に応じてそれらを再プログラミングすることができます。
マウスにフラッシュマイクロコントローラーが含まれていると、悪意のある人がマウスを再プログラムしてマルウェア感染デバイスとして動作する可能性があります。ほとんどのマウスは特に大きなマイクロコントローラーを使用する可能性が低いため、マウスをマウスとして使用する必要がある場合、マルウェアの余地はないかもしれません。一方、一部のマルウェアは脆弱なマウスを識別し、マウスとしては機能しなくなるが、感染していないマシンに接続すると悪のエージェントとして機能するように再プログラムする可能性があります[マウスが動作を停止した誰かが別のコンピューターでテストするかもしれないという理論に基づいて]。
一般に、最終ファームウェアがロードされるとUSBポートからリロードできなくなるような方法でUSB周辺機器を設計することは難しくありませんが、再プログラミングの影響を受けないデバイスとそうでないデバイスを区別する一般的な方法はありません't。また、ディスプレイといくつかのボタンを備えた「スマートUSBハブ」を設計して、デバイスが接続されたときに、デバイスが主張していることを示し、コンピューターがデバイスを見る前に確認を求めることもできます。デバイスの通信をそのタイプで承認されたものに制限しますが、そのようなスマートハブデバイスが利用可能かどうかはわかりません。