|
|||||||||||
Zurich Information Security Center
We are affiliated with the Zurich Information Security Center (ZISC)
Events & News
scyther-proof implements a proof-generating version of the algorithm underlying the Scyther security protocol verification tool. The resulting proofs can be visualized and machine-checked using our security protocol verification theory formalized in Isabelle/HOL. Note that this theory is of independent interest, as it
allows for both the efficient interactive construction as well as the
automatic generation of machine-checked protocol security proofs. The
paper "Strong Invariants for the Efficient Construction of Protocol Security Proofs" documenting this theory and its tool support was presented at CSF 2010. A journal version of this paper will appear in the Journal of Computer Security.
We also used the corresponding scyther-proof tool to provide machine-checked proofs of repaired versions of the authentication protocols from the ISO/IEC 9798 standard. The following two files provide the original protocol models to be used with the Scyther security protocol analysis tool and the scyther-proof tool together with the repaired and provenly correct protocol models.
Simon Meier, Cas Cremers, and David Basin
See our homepage for additional information and downloads.
HOL-TestGen is a is a test case generator for specification based unit testing. HOL-TestGen is built on top of the specfication and theorem proving environment Isabelle/HOL. HOL-TestGen allows one to
Achim D. Brucker and Burkhart Wolff
For more information (and dowload options) please visit the HOL-TestGen homepage: http://www.brucker.ch/projects/hol-testgen/.
![]() |
HOL-OCL is an interactive proof environment for the Object Constraint Language (OCL). It is implemented as a shallow embedding of OCL into the Higher-order Logic (HOL) instance of the interactive theorem prover Isabelle.HOL-OCL defines a machine-checked formalization of the semantics as described in the standard for OCL 2.0. This conservative, shallow embedding of UML/OCL into Isabelle/HOL includes support for typed, extensible UML data models supporting inheritance and subtyping inside the typed λ-calculus with parametric polymorphism. As a consequence of conservativity with respect to higher-order logic (HOL), we can guarantee the consistency of the semantic model. Moreover, HOL-OCL provides several derived calculi for UML/OCL that allows for formal derivations establishing the validity of UML/OCL formulae. Automated support for such proofs is also provided. |
Achim D. Brucker and Burkhart Wolff
For more information (and dowload options) please visit the HOL-OCL homepage: http://www.brucker.ch/projects/hol-ocl/.
HOL-Z is a proof environment for Z and HOL specifications based on ZeTa on the one hand and the generic theorem prover Isabelle (Version 98-0) on the other. ZeTa is essentially used as a type-checker for literate specifications in Z, that can be integrated into XEmacs as a combined editing and type-checking frontend. ZeTa has been extended by a plugin, that converts Z sections into a new format (*.holz) that can be loaded alternatively to Isabelles standard theory files (*.thy-files). Thus, theory contexts can be created in which theorem proving for specifications of realistic size can be realized.
Achim D. Brucker and Burkhart Wolff
For more information (and dowload options) please visit the HOL-Z homepage: http://www.brucker.ch/projects/hol-z/.
OFMC
is an on-the-fly model-checker for the analysis of security protocols.
The latest features include support for user-defined algebraic theories.
Download and more information at the OFMC homepage.
The psl2ba tool translates formulas of the IEEE standard "Property
Specification Language" (PSL) into Büchi automata. These automata are
used in the model checkers NuSMV, SMV, and SPIN.
Download the tool here.
Decision procedures for Presburger arithmetic and the first-order logic over the reals and integers with addition and ordering. LIRA contains a high-performance automata library for deterministic finite automata and weak deterministic Büchi automata.Download and more information at the LIRA homepage.
fwtest is a tool for firewall testing. fwtest reads a test specification as input, generates and injects the corresponding network packets (at the moment: TCP, UDP and ICMP) and then compares the test outcome with the expectations.
Gerhard Zaugg, Adrian Schüpbach, Beat Strasser (supervision by Diana von Bidder)
MonPoly is a prototype monitoring tool that checks compliance of log files with respect to policies. Policies are specified by formulas in metric first-order temporal logic. The tool was presented at the RV'11 conference and it implements the algorithm presented in the FSTTCS'08 paper Runtime Monitoring of Metric First-order Temporal Properties by David Basin, Felix Klaedtke, Samuel Müller, and Birgit Pfitzmann. MonPoly can be download at https://projects.developer.nokia.com/MonPoly.
The mid-point construction framework synthesizes a formal model for a mid-point that enforces a two-party asynchronous protocol. The framework takes as an input the formal specifications of the protocol and the environment, given in the muCRL process algebraic language, and outputs a specification for a mid-point enforcing the protocol. The framework is presented in the OPODIS'11 paper "Constructing Mid-points for Two-party Asynchronous Protocols" by Petar Tsankov, Mohammad Torabi Dashti, and David Basin.
Petar Tsankov, Mohammad Torabi Dashti, and David Basin
SecFuzz tests security protocol implementation for failures. SecFuzz uses a concrete protocol implementation for generating valid inputs for the SUT and then mutates them using a set of fuzz operators. The SUT is checked for failures using a dynamic memory analysis tools such as Valgrind and IBM's Rational Purify. SecFuzz is implemented in Python and relies on Scapy for parsing messages. Currently, the tool can fuzz-test IKE implementations, but it can be extended to other message formats due to Scapy's flexibility.
The Tamarin prover is a security protocol verification tool that support both falsification and unbounded verification of security protocols specified as multiset rewriting systems with respect to (temporal) first-order properties and a message theory that models Diffie-Hellman exponentiation combined with a user-defined subterm-convergent rewriting theory.
The paper explaining the theory behind the Tamarin prover has been accepted at CSF'12. An extended version of the paper is also available.
The Tamarin prover is implemented in Haskell and available from Hackage. It uses maude as a unification backend and GraphViz to visualize the constraint systems. It compiles on Linux, Mac OS X, and Windows using GHC 7.x. Below we give step-by-step instructions for installing the Tamarin prover from source code on Linux and Mac OS X. If you cannot compile from source code, you can try the binaries for Windows and Mac OS X. Please do not hesitate to contact us, if you encounter trouble installing or using the Tamarin prover.
Linux
sudo apt-get install maude graphviz zlib1g-dev
sudo apt-get install ghc happy alex cabal-install
cabal update
and install the Tamarin prover together with all its Haskell library dependencies, which might take some time.
cabal install tamarin-prover
In some cases you might have to add the flag --force-reinstalls, as explained by the message output by cabal. Depending on your Linux distribution installing some of the dependencies might fail due to missing development packages. Check the installation log for the missing C-library and use your package manager to install the corresponding '-dev' package; e.g., zlib1g-dev for the zlib compression library on Ubuntu.
~/.cabal/bin/tamarin-prover
This will display the possible options for calling the Tamarin prover. It also outputs the paths to the installed example protocol models and the case studies from our paper. We recommend opening the Tutorial.spthy example file in a text editor and start exploring from there. Happy proving :-)
Mac OS X
cabal update
and install the Tamarin prover together with all its Haskell library dependencies, which might take some time.
cabal install tamarin-prover
~/Library/Haskell/bin/tamarin-prover
Note that if you already have installed an older version of tamarin, 'tamarin-prover' can be found in a different directory which is printed at the end of the installation. The above command invocation will display the possible options for calling the Tamarin prover. It also outputs the paths to the installed example protocol models and the case studies from our paper. We recommend opening the Tutorial.spthy example file in a text editor and start exploring from there. Happy proving :-)
ProtoVeriPhy is an Isabelle/HOL framework for analyzing physical protocols such as distance bounding protocols, secure time-synchronization protocols, and authenticated ranging protocols.
There are two versions of the framework. The original version and an extended version that accounts for overshadowing attacks.
The original version is described in the articles "Formal Reasoning about Physical Properties of Security Protocols" (TISSEC'11) and "Let's get physical: Models and Methods for Real-World Security Protocols" (TPHOLS'09). It includes support for reasoning about XOR and authenticated ranging, distance bounding, broadcast authentication, and secure time synchronization protocols as case studies:
An extended version that accounts for overshadowing attacks is described in "Distance Hijacking Attacks on Distance Bounding Protocols" (Security&Privacy'12). This version includes proofs that the Brands-Chaum protocol and a wrongly fixed version are vulnerable to Distance-Hijacking attacks. Additionally, it contains proofs that our proposed fixes indeed prevent these attacks.
Benedikt Schmidt, Patrick Schaller
Wichtiger Hinweis:
Diese Website wird in älteren Versionen von Netscape ohne
graphische Elemente dargestellt. Die Funktionalität der
Website ist aber trotzdem gewährleistet. Wenn Sie diese
Website regelmässig benutzen, empfehlen wir Ihnen, auf
Ihrem Computer einen aktuellen Browser zu installieren. Weitere
Informationen finden Sie auf
folgender
Seite.
Important Note:
The content in this site is accessible to any browser or
Internet device, however, some graphics will display correctly
only in the newer versions of Netscape. To get the most out of
our site we suggest you upgrade to a newer browser.
More
information