When static verification is not enough: revealing BGP bugs at runtime

40th ACM SIGCOMM Conference (SIGCOMM 2026)

Abstract

Operators go to great lengths to ensure their BGP networks are correct. Yet, despite their efforts, faults still happen due to software or hardware bugs, which can often have detrimental network-wide consequences. Today, all operators can do is react to such failures, often only once it is already too late. We present GhostBuster, a runtime system which monitors the execution of BGP routers and verifies their compliance with the protocol specification. Concretely, GhostBuster checks whether observed outgoing BGP messages could have been produced by incoming ones. The key challenge in doing so is that BGP routers do not necessarily process incoming messages in order, forcing one to consider all possible reorderings of input messages. While this obviously does not scale, we show that one can solve this problem efficiently by reasoning about sets of messages instead of orderings. We fully implemented GhostBuster and use it to detect (confirmed and previously unknown) bugs in production routers. Our evaluation on simulated networks further confirms that GhostBuster is both scalable and accurate: it never falsely reports a bug while detecting over 60% of the bugs.

Research Area: Verification and Synthesis

People

BibTex

@inproceedings{ronchetti2026static,
  author    = {Ronchetti, Pietro and Schneider, Tibor and Vanbever, Laurent},
  title     = {{When static verification is not enough: revealing BGP bugs at runtime}},
  booktitle = {40th ACM SIGCOMM Conference (SIGCOMM 2026)},
  address   = {Denver, CO, USA},
  year      = 2026,
  month     = aug,
  doi       = {10.1145/3789240.3829137},
  url       = {https://doi.org/10.1145/3789240.3829137}
}

Research Collection: 20.500.11850/800202