Model-Based Testing of SDN Firewalls: A Case Study

In Software defined networking (SDN), security mechanisms such as firewalls need to deal with dynamic network environments. This raises challenges for quality assurance of these security mechanisms. This paper presents a case study on model-based testing of SDN firewall programs. The subject program is the firewall module of Floodlight, one of the most popular SDN platforms in Java. We model the expected firewall behavior with function nets, a modeling formalism in the MISTA tool. The test code is generated automatically by MISTA. The result of our case study shows that the generated model-based tests have achieved much higher mutation coverage than the existing Junit tests in the Floodlight firewall program. This indicates that model-based testing can be a viable option for quality assurance of SDN-based firewall programs.

[1]  Ehab Al-Shaer,et al.  FlowChecker: configuration analysis and verification of federated openflow infrastructures , 2010, SafeConfig '10.

[2]  Dianxiang Xu,et al.  Security of Software Defined Networks: A survey , 2015, Comput. Secur..

[3]  George Varghese,et al.  Automatic Test Packet Generation , 2012, IEEE/ACM Transactions on Networking.

[4]  Brighten Godfrey,et al.  Debugging the data plane with anteater , 2011, SIGCOMM.

[5]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[6]  Francisca Santana Robles,et al.  Coloured Petri Nets Basic Concepts, Analysis Methods and Practical Use , 2015 .

[7]  Kurt Jensen Coloured Petri Nets , 1992, EATCS Monographs in Theoretical Computer Science.

[8]  Andrei V. Gurtov,et al.  Security in Software Defined Networks: A Survey , 2015, IEEE Communications Surveys & Tutorials.

[9]  Dianxiang Xu,et al.  A Methodology for Building Effective Test Models with Function Nets , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference.

[10]  Michael Schapira,et al.  VeriCon: towards verifying controller programs in software-defined networks , 2014, PLDI.

[11]  Hartmann J. Genrich,et al.  Predicate/Transition Nets , 1986, Advances in Petri Nets.

[12]  Dianxiang Xu,et al.  A Tool for Automated Test Code Generation from High-Level Petri Nets , 2011, Petri Nets.

[13]  Paul Smith,et al.  OpenFlow: A security analysis , 2013, 2013 21st IEEE International Conference on Network Protocols (ICNP).

[14]  Dianxiang Xu,et al.  An Automated Test Generation Technique for Software Quality Assurance , 2015, IEEE Transactions on Reliability.

[15]  Marco Canini,et al.  A NICE Way to Test OpenFlow Applications , 2012, NSDI.

[16]  Brighten Godfrey,et al.  VeriFlow: verifying network-wide invariants in real time , 2012, HotSDN '12.

[17]  Nick McKeown,et al.  I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks , 2014, NSDI.

[18]  Marco Canini,et al.  Automating the Testing of OpenFlow Applications , 2011 .