/pcileech-fpga

FPGA modules used together with the PCILeech Direct Memory Access (DMA) Attack Software

Primary LanguageVerilog

PCILeech FPGA Summary:

PCILeech FPGA contains software and HDL code for FPGA based devices that may be used together with the PCILeech Direct Memory Access (DMA) Attack Toolkit. Using FPGA based devices have many advantages over using the USB3380 hardware that have traditionally been supported by PCILeech. FPGA based hardware provides full access to 64-bit memory space without having to rely on a kernel module running on the target system. FPGA based devices are also more stable compared to the USB3380. FPGA based devices may also send raw PCIe Transaction Layer Packets TLPs - allowing for more specialized research.

Supported Devices:

PCILeech currently supports multiple FPGA based devices - please see the table below:

Device Connection Transfer Speed PCIe Version OS support
(on attacker)
Creator
AC701/FT601 USB3 150 MB/s PCIe gen2 x4 Windows Ulf Frisk
PCIeScreamer USB3 100 MB/s PCIe gen2 x1 Windows Ramtin Amin
Ulf Frisk
SP605/FT601 USB3 75 MB/s PCIe gen1 x1 Windows Ulf Frisk
SP605/TCP TCP/IP 100kB/s PCIe gen1 x1 Windows, Linux, Android Dmytro Oleksiuk

Please select the FPGA setup that best suits your needs from the above list. If performance is key the AC701 is currently recommended.

Please check out the individual FPGA projects in the table above for more information about the purchase, usage, building and flashing of the devices. Each device have different advantages and disadvantages.

The images below depicts the SP605, PCIeScreamer and AC701 devices used for PCILeech PCIe access over USB3.

Future Work:

  • Add support for more FPGA devices.