学习引导的模糊测试用于测试有状态SDN控制器
软件工程
2025-05-06 v2
摘要
软件定义网络(SDN)控制器是集中式软件组件,可实现高级网络功能,如动态流量工程和网络虚拟化。然而,这些功能增加了SDN控制器的复杂性,使得彻底测试至关重要。SDN控制器是有状态的,通过控制消息序列与多个网络设备交互。由于控制消息序列可能无限多,导致控制器与网络设备之间存在无限数量的有状态交互,因此识别SDN控制器中的有状态故障具有挑战性。在本文中,我们提出SeqFuzzSDN,一种用于测试有状态SDN控制器的学习引导模糊测试方法。SeqFuzzSDN旨在(1)高效探索被测SDN控制器的状态空间,(2)生成有效且多样化的测试(即控制消息序列)以发现故障,以及(3)推断准确的故障诱导模型,该模型刻画导致故障的消息序列。此外,我们将SeqFuzzSDN与三种最先进的SDN模糊测试方法的扩展版本进行比较。我们的研究结果表明,与扩展的最先进方法相比,SeqFuzzSDN(1)在相同时间预算内生成更多样化的导致故障的消息序列,并且(2)生成更准确的故障诱导模型,在敏感性方面显著优于其他扩展的最先进方法。
引用
@article{arxiv.2411.08626,
title = {Learning-Guided Fuzzing for Testing Stateful SDN Controllers},
author = {Raphaël Ollando and Seung Yeob Shin and Lionel C. Briand},
journal= {arXiv preprint arXiv:2411.08626},
year = {2025}
}