/mona-timing-lib

Tools for timing attacks

Primary LanguageC

mona-timing-lib

Tools for timing attacks.

Preconditions

  • Have at least Python 2.7 installed (older versions might work, but haven't been tested). For other Python versions, please change the Makefile.
  • Have SWIG installed. Read more about SWIG here.
  • The python-dev package is required to build the Python module from fau_timer.c.

Installation

Clone this repository and open a terminal.

Unix:

$ make linux

Mac OS X:

$ make osx

Usage

$ python runme.py

Look at runme.py to learn about the usage of the library.

Configuration

Disable Intel Speedstep in your machine's BIOS or use the cpufreq utilities.

Beside the frequency of your CPU, there are some "sleep-states" c-states to save power. The clock is stopped for a short period of time if the CPU is idle. Consequently, CPU ticks have different time durations.

On Ubuntu Linux machines, you can disable this feature by adding idle=poll to the kernel parameters.

Bugs

Binary safeness of responses: the usage of the function get_response() is somehow contraintuitive. Look at runme.py to see how to use it.