PhyWhisperer-USB is a hardware USB sniffer & triggering platform that allows users to test the security of USB devices using side-channel power analysis and fault injection using a Python 3 interface, beside simply capturing packets.
This has become especially important now as some USB devices include Bitcoin Wallets, FIDO2 keys, and encrypted drives with valuable data.
PhyWhisperer-USB hardware specifications:
- FPGA – Xilinx Spartan 7S15 with 12,800 logic cells
- USB 2.0 Low/Full/High Speed mode
- PC connection – Micro-USB 2.0 HS port
- Host connection – Micro-USB port
- Target connection – USB-A female connector
- Trigger pattern – 1 – 64 bytes with mask
- Trigger delay – 0 – 1048576 cycles of 240 MHz internal clock derived from USB clock
- USB sniffer FIFO – 8192 bytes (FPGA block RAM, adjustable depending on FPGA utilization)
- Expansion – Spare digital I/O: 8 data pins, 1 clock pin routed to FPGA (on front panel)
- Clock output – 60 MHz
- Target Power Source – Selectable: Host USB or Control PC
The equipment is controlled with PC software written in Python 3 that works in Windows, Mac, and Linux.
Some of the highlights of PhyWhisperer-USB include:
- Hardware-level Sniffing – PhyWhisperer-USB can watch the USB bus to monitor errors and other events that won’t make it into a software-only sniffer. It also generates a clock synchronized to the USB bus itself, giving perfect cycle-accurate timing and allowing very repeatable power measurements.
- Portable and Extendable – The box also connects nicely to other tools (ChipWhisperer, ChipSHOUTER, GreatFET, oscilloscope) to provide extended features all controlled by one Python script.
- Open Source – It’s open source with spare FPGA room and a built-in programmer to reload the FPGA bitstream. You’ll find the hardware, firmware, and software on Github.
The table above compares PhyWhisperer-USB to various commercially available tools, as well as Rhododendron which adds hardware sniffing to GreatFET. For even more USB tools and details, you can check out a recent presentation by Kate Temkin and Mikaela Szekely at Teardown 2019.
PhyWhisperer-USB has launched on Crowd Supply with a symbolic $1 funding target. Rewards start at $225 for the PhyWhisperer-USB kit which comes with a PhyWhisperer-USB in an enclosure, an MCX to SMA cable, an MCX to BNC cable, and two micro-USB cables. Other perks are also available in different quantities. Shipping is free to the US but adds $12 to the rest of the world. Backers should expect their reward(s) to ship around December 2019.