Learning-Guided Fuzzing for Testing Stateful SDN Controllers
arXiv:2411.08626 · doi:10.1145/3733717
Abstract
Controllers for software-defined networks (SDNs) are centralised software components that enable advanced network functionalities, such as dynamic traffic engineering and network virtualisation. However, these functionalities increase the complexity of SDN controllers, making thorough testing crucial. SDN controllers are stateful, interacting with multiple network devices through sequences of control messages. Identifying stateful failures in an SDN controller is challenging due to the infinite possible sequences of control messages, which result in an unbounded number of stateful interactions between the controller and network devices. In this article, we propose SeqFuzzSDN, a learning-guided fuzzing method for testing stateful SDN controllers. SeqFuzzSDN aims to (1) efficiently explore the state space of the SDN controller under test, (2) generate effective and diverse tests (i.e., control message sequences) to uncover failures, and (3) infer accurate failure-inducing models that characterise the message sequences leading to failures. In addition, we compare SeqFuzzSDN with three extensions of state-of-the-art (SOTA) methods for fuzzing SDNs. Our findings show that, compared to the extended SOTA methods, SeqFuzzSDN (1) generates more diverse message sequences that lead to failures within the same time budget, and (2) produces more accurate failure-inducing models, significantly outperforming the other extended SOTA methods in terms of sensitivity.
References in corpus (10)
- Survey on Network Virtualization Hypervisors for Software Defined Networking
- StateAFL: Greybox Fuzzing for Stateful Network Servers
- FEMOSAA: Feature Guided and Knee Driven Multi-Objective Optimization for Self-Adaptive Software
- Normalized Compression Distance of Multisets with Applications
- Consistent SDNs through Network State Fuzzing
- Estimating Probabilistic Safe WCET Ranges of Real-Time Systems at Design Stages
- PRINS: Scalable Model Inference for Component-based System Logs
- Ambusher: Exploring the Security of Distributed SDN Controllers Through Protocol State Fuzzing
- Can Offline Testing of Deep Neural Networks Replace Their Online Testing?
- Learning Failure-Inducing Models for Testing Software-Defined Networks