As of August 2020 the site you are on (wiki.newae.com) is deprecated, and content is now at rtfm.newae.com.

Installing ChipWhisperer/Required Tools - Windows

From ChipWhisperer Wiki
Jump to: navigation, search

Python

For any of the other installation methods, you'll need to have Python 2 installed on your computer. If you already a recent version of Python installed (2.7.x), you can skip this step. Note that Python 3.x will not work with this codebase. There's also a bit of setup that's needed to get other tools and prepare other drivers.

The recommend method of installing Python is to use a distribution called WinPython. This setup avoids installing Python globally, and includes most of the software you will need. In addition it makes it possible to install 32-bit and 64-bit Python on the same system with minimal problems. This can be very useful as the 64-bit version is handy for doing analysis on large data sets.

To install WinPython 2.7.x, Download a release in the 2.7.x branch from the WinPython site. It's recommended to use the 32-bit version, but you can also use the 64-bit version. Also, note that the recent releases (like WinPython-32bit-2.7.13.0Zero) don't come with any pre-installed packages. We recommend WinPython 2.7.10.3.

Note that certain drivers (such as the SmartCard driver) do not work on the 64-bit version. Choose a reasonable location to install this to - note the default is simply in the download directory. Instead it's recommended to find a directory such as c:\WinPython32bit-2.7.10.3, or into your local directory such as c:\Users\yourname\WinPython-32bit-2.7.10.3.

Go to your installation directory for WinPython, and run the shortcut called WinPython Command Prompt.exe. This will give you a command prompt which is setup to run Python along with associated scripts.

Optional: You can add the python.exe you just installed to your PATH. To do so navigate to your installation folder, and run the WinPython Control Panel.exe program. Then select Advanced -> Register distribution.... If you do not do this, you will have to run all commands in this document via the WinPython Command Prompt.exe. If you plan on running both 32-bit and 64-bit Python, you should not register them. Instead explicitly call the correct Python by always running the WinPython Command Prompt.exe, and then calling specific programs (such as CW Capture or Analyzer) from that command prompt.

Python Packages

There are a number of packages that the ChipWhisperer project uses. You'll need to install these so that the software can run. Note that the PyPi install process should automatically install these, so you shouldn't need to manually install everything there.

Run the following commands to get the needed packages:

  • PyQTGraph: pip install pyqtgraph
  • ConfigObj: pip install configobj

You might also need some extra packages. Generally you can avoid them unless you have specific need of the features they enable:

PyUSB: if you're planning to use the ChipWhisperer Capture Rev2 hardware, this is necessary. You can install this using pip:

  • pip install pyusb
  • If that fails, try specifying the latest version, like: pip install pyusb==1.0.0b1

FTD2XX: ftd2xx is required for SASEBO-W, SAKURA-G, and SASEBO-GII Support. To install this package, download a copy of the ftd2xx repository and unzip it somewhere. Then run the following where you unzipped it:

python setup.py install

This package will also require you to install the FTDI D2XX Drivers. In the preceeding link simply find the correct driver for your OS Version and install that.

MYSQL: If you want to use the MySQL trace format (not used by default), you'll need to install umysql:

pip install umysql

PYSCARD: If planning on using a PS/SC smartcard reader (i.e. standard USB-connected reader), you will need to install pyscard.

Installing Hardware Drivers

Details of driver installation are on specific pages for supported hardware (such as hwcapturerev2 and naecw1173_cwlite). Drivers are available from ChipWhisperer release section.

Getting AVR Compiler Toolchain

The following section is not required for your first attack - you can jump right to the tutorial if you wish. However you'll ultimately wish to modify the code of the device under test, and these instructions tell you how. You should first follow the tutorial to confirm your system is working before modifying the code however!

To build the code, you'll need to install WinAVR on Windows (if using the Virtual Machine, the following is not required, as the VM comes setup with the AVR compiler already).

Note that the default codebase does not include the cryptographic code we attack. Instead you are required to add this code into the system -- if the external code changes, this may eventually be instead rolled into the main codebase. To setup the code, follow the following steps:

  1. cd to the directory with the avr-serial example, and run make:

    cd c:\chipwhisperer\hardware\victims\firmware\simpleserial-aes
    make

    If this is successful, you'll see an output like the following:

    image

    If instead you get an error something like make: *** No rule to make target `simpleserial.elf', needed by `elf'. Stop., this means a required file was missing.

  2. Programming the target AVR is accomplished in one of two methods depending on your hardware. The ChipWhisperer Capture Rev 2 uses the external "AVR Studio" program, whereas the CW1173 and CW1200 use a programmer menu from the ChipWhisperer-Capture software. For details about programming the targets, see Tutorial B1 Building a SimpleSerial Project.