2018 IEEE European Symposium on Security and Privacy Language-Independent Synthesis of Firewall Policies Chiara Bodei, Pierpaolo Degano, Letterio Galletta Riccardo Focardi, Mauro Tempesta, Lorenzo Veronese Dipartimento di Informatica, Universita` di Pisa, Italy DAIS, Universita` Ca’ Foscari Venezia, Italy {chiara,degano,galletta}@di.unipi.it {focardi,tempesta}@unive.it,
[email protected] Abstract—Configuring and maintaining a firewall configura- with possible severe consequences on the functionality and tion is notoriously hard. Policies are written in low-level, the security of the network. When a network is protected platform-specific languages where firewall rules are inspected by more than one firewall the situation complicates further, and enforced along non trivial control flow paths. Further since the configurations of the various firewalls need to be difficulties arise from Network Address Translation (NAT), kept coherent: enabling or disabling a connection typically since filters must be implemented with addresses translations requires to modify the configuration of all the firewalls that in mind. In this work, we study the problem of decompiling are potentially traversed by the considered connection. a real firewall configuration into an abstract specification. Firewall policy languages are varied and usually rather This abstract version throws the low-level details away by complex, accounting for low-level system and network de- exposing the meaning of the configuration, i.e., the allowed tails and supporting non trivial control flow constructs, such connections with possible address translations. The generated as jumps and gotos. The way firewall configurations are specification makes it easier for system administrators to check enforced typically depends on how packets are processed by if: (i) the intended security policy is actually implemented; the network stack of the operating system.