PFMC: a parallel symbolic model checker for security protocol verification

07/20/2022
by   Alex James, et al.
0

We present an investigation into the design and implementation of a parallel model checker for security protocol verification that is based on a symbolic model of the adversary, where instantiations of concrete terms and messages are avoided until needed to resolve a particular assertion. We propose to build on this naturally lazy approach to parallelise this symbolic state exploration and evaluation. We utilise the concept of strategies in Haskell, which abstracts away from the low-level details of thread management and modularly adds parallel evaluation strategies (encapsulated as a monad in Haskell). We build on an existing symbolic model checker, OFMC, which is already implemented in Haskell. We show that there is a very significant speed up of around 3-5 times improvement when moving from the original single-threaded implementation of OFMC to our multi-threaded version, for both the Dolev-Yao attacker model and more general algebraic attacker models. We identify several issues in parallelising the model checker: among others, controlling growth of memory consumption, balancing lazy vs strict evaluation, and achieving an optimal granularity of parallelism.

READ FULL TEXT
research
01/27/2020

Finding Security Vulnerabilities in Network Protocol Implementations

Implementations of network protocols are often prone to vulnerabilities ...
research
04/16/2018

Enrich-by-need Protocol Analysis for Diffie-Hellman (Extended Version)

Enrich-by-need protocol analysis is a style of symbolic protocol analysi...
research
05/20/2023

CryptoVampire: Automated Reasoning for the Complete Symbolic Attacker Cryptographic Model

Cryptographic protocols are extremely hard to design and prove correct, ...
research
01/03/2020

Verifying Cryptographic Security Implementations in C Using Automated Model Extraction

This thesis presents an automated method for verifying security properti...
research
05/31/2021

Gillian: A Multi-Language Platform for Unified Symbolic Analysis

This is an evolving document describing the meta-theory, the implementat...
research
09/12/2023

Measuring vagueness and subjectivity in texts: from symbolic to neural VAGO

We present a hybrid approach to the automated measurement of vagueness a...

Please sign up or login with your details

Forgot password? Click here to reset