Scalable verification of border gateway protocol configurations with an SMT solver

Abstract

Internet Service Providers (ISPs) use the Border Gateway Protocol (BGP) to announce and exchange routes for de- livering packets through the internet. ISPs must carefully configure their BGP routers to ensure traffic is routed reli- ably and securely. Correctly configuring BGP routers has proven challenging in practice, and misconfiguration has led to worldwide outages and traffic hijacks. This paper presents Bagpipe, a system that enables ISPs to declaratively express BGP policies and that automatically verifies that router configurations implement such policies. The novel initial network reduction soundly reduces policy verification to a search for counterexamples in a finite space. An SMT-based symbolic execution engine performs this search efficiently. Bagpipe reduces the size of its search space using predicate abstraction and parallelizes its search using symbolic variable hoisting. Bagpipe's policy specification language is expressive: we expressed policies inferred from real AS configurations, policies from the literature, and policies for 10 Juniper TechLibrary configuration scenarios. Bagpipe is efficient: we ran it on three ASes with a total of over 240,000 lines of Cisco and Juniper BGP configuration. Bagpipe is effective: it revealed 19 policy violations without issuing any false positives.

Document Details

Document Type
Pub Defense Publication
Publication Date
Oct 19, 2016
Source ID
10.1145/3022671.2984012

Entities

People

  • Arvind Krishnamurthy
  • Doug Woos
  • Emina Torlak
  • Konstantin Weitz
  • Michael D. Ernst
  • Zachary Tatlock

Organizations

  • Defense Advanced Research Projects Agency
  • National Science Foundation
  • University of Washington

Tags

Fields of Study

  • Computer science

Readers

  • Computer Networking
  • Materials Science.
  • Mathematical Modeling and Probability Theory.

Technology Areas

  • AI & ML
  • AI & ML - Machine Learning Algorithms
  • Space