Verified iptables Firewall Analysis and Verification

Cornelius Diekmann, Lars Hupel, Julius Michaelis, Maximilian Haslbeck, Georg Carle

Research output: Contribution to journalArticlepeer-review

14 Scopus citations

Abstract

This article summarizes our efforts around the formally verified static analysis of iptables rulesets using Isabelle/HOL. We build our work around a formal semantics of the behavior of iptables firewalls. This semantics is tailored to the specifics of the filter table and supports arbitrary match expressions, even new ones that may be added in the future. Around that, we organize a set of simplification procedures and their correctness proofs: we include procedures that can unfold calls to user-defined chains, simplify match expressions, and construct approximations removing unknown or unwanted match expressions. For analysis purposes, we describe a simplified model of firewalls that only supports a single list of rules with limited expressiveness. We provide and verify procedures that translate from the complex iptables language into this simple model. Based on that, we implement the verified generation of IP space partitions and minimal service matrices. An evaluation of our work on a large set of real-world firewall rulesets shows that our framework provides interesting results in many situations, and can both help and out-compete other static analysis frameworks found in related work.

Original languageEnglish
Pages (from-to)191-242
Number of pages52
JournalJournal of Automated Reasoning
Volume61
Issue number1-4
DOIs
StatePublished - 1 Jun 2018

Keywords

  • Computer networks
  • Firewalls
  • Formal verification
  • Iptables
  • Isabelle
  • Netfilter
  • Semantics

Fingerprint

Dive into the research topics of 'Verified iptables Firewall Analysis and Verification'. Together they form a unique fingerprint.

Cite this