<p dir="ltr">Den 4 aug 2014 19:33 skrev "Bear" <<a href="mailto:bear@sonic.net">bear@sonic.net</a>>:<br>
><br>
> On Sun, 2014-08-03 at 22:28 -0400, Jerry Leichter wrote:<br>
><br>
> > USB memory<br>
> > sticks are extremely cheap and produced in the hundreds of millions.<br>
> > No one thinks of them as active devices.  And yet ... they are.  They<br>
> > contain significant processing power running non-trivial code - and<br>
> > that code can be replaced.</p>
<p dir="ltr">[... ] </p>
<p dir="ltr">> Meanwhile, can anybody come up with the firmware for an update-<br>
> blocking USB hub?  I have a feeling that when somebody finally<br>
> gets around to wanting one, they'll want it yesterday.</p>
<p dir="ltr">Others have mentioned the idea of a USB firewall before. Now I'm thinking of taking an FPGA and programming it to work as a USB hub, but filtering out anything not following a predefined set of protocols (USB HID with limitation to keyboard keys & mouse input, etc).</p>

<p dir="ltr">You could even go further and perform fingerprinting on your whitelisted devices and refuse anything not exactly matching the fingerprint (timing, behavior, etc). Potentially you could then be able to reject other devices of the same model (if the variance is measurable) or anything with modified firmware. </p>

<p dir="ltr">There is already FPGA circuit designs that copy a full computer (although using relatively simple circuits as you'd need a huge FPGA to copy an Intel i7 with motherboard), with an open source CPU design and USB hub, etc. One could start from there to create something that can do USB filtering (although this approach would add latency, potentially noticeable; a more integrated approach would perform better but is more complex). </p>