SymNet: static checking for stateful networks

  • Authors:
  • Radu Stoenescu;Matei Popovici;Lorina Negreanu;Costin Raiciu

  • Affiliations:
  • University Politehnica of Bucharest, Bucharest, Romania;University Politehnica of Bucharest, Bucharest, Romania;University Politehnica of Bucharest, Bucharest, Romania;University Politehnica of Bucharest, Bucharest, Romania

  • Venue:
  • Proceedings of the 2013 workshop on Hot topics in middleboxes and network function virtualization
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Today's networks deploy many stateful procesing boxes ranging from NATs to firewalls and application optimizers: these boxes operate on packet flows, rather than individual packets. As more and more middleboxes are deployed, understanding their composition is becoming increasingly difficult. Static checking of network configurations is a promising approach to help understand whether a network is configured properly, but existing tools are limited as they only support stateless processing. We propose to use symbolic execution---a technique prevalent in compilers---to check network properties more general than basic reachability. The key idea is to track the possible values for specified fields in the packet as it travels through a network. Each middlebox or router will impose constraints on certain fields of the packet via forwarding actions, packet modifications and filtering. The symbolic approach also allows us to model middlebox per-flow state in a scalable way. We have implemented this technique in a tool we call SymNet and conducted preliminary evaluation. Early results show SymNet scales well and models basic stateful middleboxes, opening the possibility of analyzing complex stateful middlebox behaviours.