Satisfiability Modulo Theory (SMT)-based tools for network control plane analysis make it possible to reason exhaustively about interactions with peer networks and to detect vulnerabilities such as accidental use of a network as transit or prefix hijacking. SMT-based reasoning also facilitates synthesis and repair. To scale SMT-based verification to large networks, we introduce Timepiece, a new modular control plane verification system. While past verifiers like Minesweeper were based on analysis of stable paths, we show that such models, when deployed naively in service of modular verification, are unsound. To rectify the situation, we adopt a routing model based around a logical notion of time and develop a sound, expressive, and scalable verification engine. Our system requires that a user specifies interfaces between module components. We develop methods for defining these interfaces using predicates inspired by temporal logic, and show how to use those interfaces to verify a range of network-wide properties such as reachability, "no transit," and "no hijacking." Verifying a prefix-filtering policy using a non-modular verification engine times out on a 320-node fattree network after 4 hours. However, Timepiece verifies a 4,500-node fattree in 6.5 minutes on a 96-core virtual machine. Modular verification of individual routers is embarrassingly parallel and completes in seconds, which allows verification to scale beyond non-modular engines, while still allowing the full power of SMT-based symbolic reasoning.
翻译:以网络控制平面分析为基础的基于网络控制平台工具(SMT)使得能够详尽地解释与同行网络的相互作用,并发现脆弱性,例如意外使用网络作为中转或前置劫持。基于SMT的推理也有利于合成和修理。为了将基于SMT的核查规模扩大到大型网络,我们引入了基于SMT的新型模块化控制平面核查系统。虽然像扫雷器这样的过去核查工具是基于对稳定路径的分析,但我们显示,这些模型在为模块化核查服务时被天真地部署时,是不可靠的。为了纠正这种情况,我们采用了基于时间逻辑概念的路径模型,并开发了一个声音、直观和可缩放的核查引擎。我们的系统要求用户指定模块组成部分之间的界面。我们开发了使用时间逻辑启发的上游来定义这些界面的方法,并展示如何使用这些界面来核查全网络范围的特性,例如可达性、“不中转”和“不劫持”等。为了纠正这一状况,我们采用了一种基于非模块化的时间概念化的政策,我们采用了一种基于时间概念的运行模型模型, 并开发出一个声音、直径直径直径直观的核查引擎,在320分钟后, 机型的软质的软质的服务器网络网络上,在4分钟内,在S-正正值机型引擎进行。