Version | Linux | Windows | Mac OS X | Comments | v1.1.3 | Download | Download | Download | This is the standard version. | Compromise-0.9.2 | Download | Download | Download | Choose this if you need support for various adversary models. |
---|
Scyther uses some other components, specified below.
Note for Ubuntu users: If you are using a recent version of Ubuntu, you can simply enter 'sudo apt-get install graphviz python python-wxgtk3.0' on the command line and continue at 'Running Scyther' below.
This library is used by the Scyther tool to draw graphs. It can be downloaded from:
Name | Where to download |
---|---|
GraphViz | http://www.graphviz.org/ |
Download the latest stable release and install it.
The graphical user interface of Scyther is written in the Python language. Note that currently, Scyther does not support Python 3 (as it is not supported by the wxPython library below).
Name | Where to download |
---|---|
Python 2.x | http://www.python.org/download/ |
The graphical user interface of Scyther using the wxPython library to draw widgets.
Name | Where to download |
---|---|
wxPython (32-bit) (*1) | http://www.wxpython.org/download.php |
*1: Note that there are several different wxPython packages. Choose a 32-bit version that matches your Python version (e.g., "32-bit Python 2.7")
Start Scyther by executing the file:
scyther-gui.py
It may be that Scyther fails to run and aborts with an error that ends with a line similar to the following:
ImportError: /usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core_.so: no appropriate 64-bit architecture (see "man python" for running in 32-bit mode)Running Scyther in the following way should fix the issue:
$ export VERSIONER_PYTHON_PREFER_32_BIT=yes $ ./scyther-gui.py
On Mac OS, the graphviz package by default cannot determine the right font location if fontconfig is not installed. This causes the fonts in the graphs in Scyther to be rendered wrongly. You can fix this by adding the following setting to your environment variables: (joining the string lines)
DOTFONTPATH= "/usr/X11R6/lib/X11/fonts/TrueType:/usr/X11R6/lib/X11/fonts/truetype: /usr/X11R6/lib/X11/fonts/TTF:/usr/share/fonts/TrueType: /usr/share/fonts/truetype:/usr/openwin/lib/X11/fonts/TrueType: /usr/X11R6/lib/X11/fonts/Type1"
As a first test, open the file 'ns3.spdl' in the main Scyther directory using Scyther, and select Verify->Verify Protocol. This evaluates the claims in the protocol specification file (in this case secrecy, agreement and correspondence properties, and synchronisation for each role) and shows the results. Click on the attack buttons to get a graphical representation.
Many other protocol specification files can be found in the Protocols/ subdirectory.
If you cannot get the GUI to work, or prefer command-line tools for scripting, you can use the following instructions.
Depending on your platform, the Scyther directory contains one of the following executables:
To get a list of (some) of the command-line options, run the executable with the '--help' switch, e.g.:
scyther-linux --help
To analyze the Needham-Schroeder protocol and generate a .dot file (the input language for the Graphviz tool) for the attacks, use
scyther-linux --dot-output --output=ns3-attacks.dot ns3.spdl
The resulting output file can then be rendered by graphviz, e.g.:
dot -Tpdf -O ns3-attacks.dot
This yields several PDF files ns3-attacks.dot[.N].pdf that contain the attack graphs.