waywardgeek / infnoise

The world's easiest TRNG to get right
Creative Commons Zero v1.0 Universal
723 stars 99 forks source link

FTDI chip & code injection #9

Closed alphazo closed 7 years ago

alphazo commented 9 years ago

The FTDI chip USB/UART interface is a microcontroller and its firmware can be updated over USB. Could that not be a threat so when you plug the dongle in a rogue computer, it changes the FTDI firmware so it manipulates the raw random data stream before sending it over to the host computer?

waywardgeek commented 9 years ago

Is the firmware upgradeable? I have not seen this capability in the API docs.

On Wed, Sep 2, 2015 at 8:34 AM, alphazo notifications@github.com wrote:

The FTDI chip USB/UART interface is a microcontroller and its firmware can be updated over USB. Could that not be a threat so when you plug the dongle in a rogue computer, it changes the FTDI firmware so it manipulates the raw random data stream before sending it over to the host computer?

— Reply to this email directly or view it on GitHub https://github.com/waywardgeek/infnoise/issues/9.

alphazo commented 9 years ago

Sorry I think I may have a looked at the wrong FTDI part number. The one used in this design seems to only have provision for re-programming USB configuration descriptors via FT_PROG and not the whole firmware.

waywardgeek commented 9 years ago

Honestly, a concern I still have is that FTDI may have at some point switched to a simple common microcontroller based design used between their various products, and only publicly described the config registers. The MiB (Men in Black) might have power to intercept these and reconfigure them without having to modify the board at all.

So... I wind up in the typical case of having to trust my IC vendors...

Bill

On Wed, Sep 2, 2015 at 2:03 PM, alphazo notifications@github.com wrote:

Sorry I think I may have a looked at the wrong FTDI part number. The one used in this design seems to only have provision for re-programming USB configuration descriptors via FT_PROG and not the whole firmware.

— Reply to this email directly or view it on GitHub https://github.com/waywardgeek/infnoise/issues/9#issuecomment-137243709.