Automated Verification of Security Chains in Software-Defined Networks with Synaptic

Nicolas Schnepf, Rémi Badonnel, Abdelkader Lahmadi, and Stephan Merz
Abstract
Software-defined networks provide new facilities for deploying security mechanisms dynamically. In particular, it is possible to build and adjust security chains to protect the infrastructures, by combining different security functions, such as firewalls, intrusion detection systems and services for preventing data leakage. It is important to ensure that these security chains, in view of their complexity and dynamics, are consistent and do not include security violations. We propose in this paper an automated strategy for supporting the verification of security chains in software-defined networks. It relies on an architecture integrating formal verification methods for checking both the control and data planes of these chains, before their deployment. We describe algorithms for translating specifications of security chains into formal models that can then be verified by Satisfiability Modulo Theories (SMT) solving or model checking. Our solution is prototyped as a package, named Synaptic, built as an extension of the Frenetic family of SDN programming languages. The performances of our approach are evaluated through extensive experimentations based on the CVC4, veriT, and nuXmv checkers.
© IEEE 2017
Available as: PDF
Reference
@InProceedings{schnepf:automated,
  author =       {Nicolas Schnepf and R{\'e}mi Badonnel and Abdelkader Lahmadi and Stephan Merz},
  title =        {Automated Verification of Security Chains in Software-Defined Networks with {Synaptic}},
  booktitle =    {IEEE Conf. Network Softwarization (NetSoft 2017)},
  publisher = {IEEE},
  address = {Bologna, Italy},
  year =      2017,
  pages =     {1-9},
}

Stephan Merz